Skip to content

Commit ac9c866

Browse files
author
PhaniD
authored
Merge pull request #26 from Exabyte-io/feature/SOF-2046
feature/SOF-2046 added bandgap_prediction_workflow json
2 parents 4d6e64d + e9a088e commit ac9c866

File tree

6 files changed

+209
-16
lines changed

6 files changed

+209
-16
lines changed
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
{
2+
"_id": "ML bandgap prediction",
3+
"title": "SiGe alloy bandgap prediction",
4+
"titleSlug": "Template for ML POC SiGe alloy bandgap prediction",
5+
"compute": {
6+
"ppn": 1,
7+
"queue": "OR",
8+
"timeLimit": "1:00:00",
9+
"notify": "n",
10+
"nodes": 1,
11+
"arguments": {}
12+
},
13+
"model": {
14+
"method": {
15+
"workflow": {
16+
"name": "sige alloy bandgap prediciton using least squares regression",
17+
"app": "machine_learning",
18+
"units": [
19+
{
20+
"flowchartId": "1",
21+
"head": true,
22+
"type": "execution",
23+
"name": "fit_MLmethod",
24+
"next": "2",
25+
"execution": {
26+
"app": {
27+
"name": "ml",
28+
"exec": "rupy",
29+
"version": "0.1.0"
30+
},
31+
"preProcessors": [
32+
{
33+
"type": "function",
34+
"name": "prepare_data",
35+
"kwargs": [
36+
{
37+
"key": "chemical_system",
38+
"value": [
39+
"Si",
40+
"Ge"
41+
]
42+
},
43+
{
44+
"key": "superset",
45+
"value": false
46+
},
47+
{
48+
"key": "features",
49+
"value": [
50+
"Si",
51+
"Ge",
52+
"lattice_volume"
53+
]
54+
},
55+
{
56+
"key": "target_properties",
57+
"value":[
58+
"band_gaps"
59+
]
60+
},
61+
{
62+
"key": "owner_id",
63+
"value": "paxJukXpDBiSRjfRZ"
64+
},
65+
{
66+
"key": "databases",
67+
"value": [
68+
"ExabyteDB"
69+
]
70+
}
71+
]
72+
}
73+
],
74+
"input": [
75+
{
76+
"method": {
77+
"type": "linear",
78+
"subtype": "least_squares"
79+
},
80+
"fitParameters":[
81+
{
82+
"sample_weight": true,
83+
"train_data_size": 0.75
84+
}
85+
],
86+
"targetProperties":[
87+
"band_gaps"
88+
]
89+
}
90+
]
91+
},
92+
"results": [
93+
{
94+
"name": "ml_method_parameters"
95+
}
96+
]
97+
},
98+
{
99+
"flowchartId": "2",
100+
"type": "execution",
101+
"name": "predict_property",
102+
"head": false,
103+
"execution": {
104+
"app": {
105+
"name": "ml",
106+
"exec": "rupy",
107+
"version": "0.1.0"
108+
},
109+
"preProcessors": [
110+
{
111+
"type": "function",
112+
"name": "prepare_data",
113+
"kwargs": [
114+
{
115+
"key": "materials_names",
116+
"value":[
117+
"Si5Ge11"
118+
]
119+
},
120+
{
121+
"key": "databases",
122+
"value": [
123+
"ExabyteDB"
124+
]
125+
}
126+
]
127+
}
128+
],
129+
"input": [
130+
{
131+
"scope": "1",
132+
"name": "ml_method_parameters"
133+
}
134+
]
135+
},
136+
"results": [
137+
{
138+
"name": "band_gaps"
139+
}
140+
]
141+
}
142+
]
143+
}
144+
}
145+
},
146+
"_project": {
147+
"_id": "56c569d7fe45004bec30b5e7",
148+
"name": "Project 1",
149+
"owner": {
150+
"_id": "sdkucJLKbsaa2ajksh",
151+
"name": "demo",
152+
"type": 10
153+
},
154+
"slug": "project-1",
155+
"goldName": "exabyte-project-1"
156+
},
157+
"version": "0.1.0",
158+
"owner": {
159+
"_id": "paxJukXpDBiSRjfRZ",
160+
"name": "demo",
161+
"type": 10
162+
},
163+
"creator": {
164+
"username": "demo",
165+
"_id": "paxJukXpDBiSRjfRZ"
166+
}
167+
}
Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
{
22
"property": "band_gaps",
3-
"coefficients":[
4-
-3.339e-01,
5-
2.555e-01,
6-
-1.005e-02
3+
"coefficients": [
4+
[
5+
-3.339e-01,
6+
2.555e-01,
7+
-1.005e-02
8+
],
9+
[
10+
-3.339e-01,
11+
2.555e-01,
12+
-1.005e-02
13+
]
714
],
8-
"intercept": 0.45,
9-
"modelData" : {
10-
"...": "include(input_data)"
15+
"intercept": [
16+
0.5,
17+
0.5
18+
],
19+
"inputData": {
20+
"...": "include(input_data.json)"
1121
}
1222
}

schema/job/input.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
"type": "object",
55
"oneOf": [
66
{
7+
"description": "ml inputs with method type and fit parameters",
78
"$ref": "file:theory/ml/input.json"
9+
},
10+
{
11+
"description": "ml inputs with saved method parameters",
12+
"$ref": "file:theory/ml/linear/parameters.json"
813
}
914
]
1015
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "http://json-schema.org/draft-04/schema#",
3-
"descritpion": "Input data used for ML method",
3+
"description": "Input data used for ML method",
44
"title": "input data schema",
55
"type": "object"
66
}

schema/job/theory/ml/linear/parameters.json

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,25 @@
88
},
99
"coefficients": {
1010
"type": "array",
11-
"description": "weights/coefficients of the function from linear or non-linear fit"
12-
},
13-
"intercept": {
14-
"type": "number",
15-
"description": "intercept (shift) from the linear fit of data points"
16-
},
17-
"inputData": {
18-
"$ref":"file:inputData.json"
11+
"description": "Array of arrays with weights/coefficients from the linear or non-linear fit",
12+
"items": {
13+
"type": "array",
14+
"description": "array of weights/coefficients of the function for each target in property vector",
15+
"items": {
16+
"type": "number"
17+
}
18+
},
19+
"intercept": {
20+
"type": "array",
21+
"description": "list of intercepts (shift) from the linear or non-linear fit of data points",
22+
"items": {
23+
"type": "number",
24+
"description": "intercept corresponding to the fit for each target in property vector"
25+
}
26+
},
27+
"inputData": {
28+
"$ref": "file:input_data.json"
29+
}
1930
}
2031
},
2132
"required": [

0 commit comments

Comments
 (0)