|
110 | 110 | " import micropip\n",
|
111 | 111 | "\n",
|
112 | 112 | " await micropip.install(\"mat3ra-api-examples\", deps=False)\n",
|
113 |
| - " await micropip.install(\"exabyte-api-client\")\n", |
114 | 113 | " from utils.jupyterlite import install_packages\n",
|
115 | 114 | "\n",
|
116 |
| - " await install_packages(\"\")" |
| 115 | + " await install_packages(\"api_examples\")" |
117 | 116 | ],
|
118 | 117 | "outputs": [],
|
119 | 118 | "execution_count": null
|
|
168 | 167 | "source": [
|
169 | 168 | "#### Materials\n",
|
170 | 169 | "\n",
|
171 |
| - "Set queries to import materials from Materials Bank:\n", |
| 170 | + "Set parameters for the materials to be imported:\n", |
172 | 171 | "\n",
|
173 |
| - "- **TRAIN_MATERIAL_SI_QUERY**: Query to import Si materials.\n", |
174 |
| - "- **TRAIN_MATERIAL_SIGE_QUERY**: Query to import SiGe materials.\n", |
175 |
| - "- **TARGET_MATERIAL_GE_QUERY**: Query to import Ge materials." |
| 172 | + "- **TRAIN_MATERIAL_SI**: 1st material to be used for training the model (\"Si\").\n", |
| 173 | + "- **TRAIN_MATERIAL_GE**: 2nd material to be used for training the model (\"Ge\").\n", |
| 174 | + "- **TARGET_MATERIAL_SIGE**: Material to be used for predicting the properties (\"SiGe\")." |
176 | 175 | ]
|
177 | 176 | },
|
178 | 177 | {
|
|
181 | 180 | "id": "qeZIEenS2Qxb"
|
182 | 181 | },
|
183 | 182 | "source": [
|
184 |
| - "TRAIN_MATERIAL_SI_QUERY = {\"formula\": \"Si\"}\n", |
185 |
| - "TRAIN_MATERIAL_SIGE_QUERY = {\"formula\": \"SiGe\"}\n", |
186 |
| - "TARGET_MATERIAL_GE_QUERY = {\"formula\": \"Ge\"}" |
| 183 | + "TRAIN_MATERIAL_SI = \"Si\"\n", |
| 184 | + "TRAIN_MATERIAL_GE = \"Ge\"\n", |
| 185 | + "TARGET_MATERIAL_SIGE = \"SiGe\"" |
187 | 186 | ],
|
188 | 187 | "outputs": [],
|
189 | 188 | "execution_count": null
|
|
314 | 313 | "id": "_JUT4f9E2Qxe"
|
315 | 314 | },
|
316 | 315 | "source": [
|
317 |
| - "band_gap_workflow_id = copy_bank_workflow_by_system_name(bank_workflow_endpoints, \"espresso-band-gap\", owner_id)\n", |
318 |
| - "ml_train_workflow_id = copy_bank_workflow_by_system_name(bank_workflow_endpoints, \"exabyteml-ml-train-model\", owner_id)" |
| 316 | + "band_gap_workflow_id = copy_bank_workflow_by_system_name(bank_workflow_endpoints, \"espresso-band-gap\", OWNER_ID)\n", |
| 317 | + "ml_train_workflow_id = copy_bank_workflow_by_system_name(\n", |
| 318 | + " bank_workflow_endpoints, \"exabyteml-ml-linear-least-squares-train-model\", OWNER_ID\n", |
| 319 | + ")" |
319 | 320 | ],
|
320 | 321 | "outputs": [],
|
321 | 322 | "execution_count": null
|
|
329 | 330 | "source": [
|
330 | 331 | "### Import materials\n",
|
331 | 332 | "\n",
|
332 |
| - "Import materials from Materials Bank." |
| 333 | + "Import materials from Standata and create them in the account's materials collection." |
333 | 334 | ]
|
334 | 335 | },
|
335 | 336 | {
|
|
338 | 339 | "id": "t1dMm9ke2Qxe"
|
339 | 340 | },
|
340 | 341 | "source": [
|
341 |
| - "bank_train_materials_id_si = bank_material_endpoints.list(TRAIN_MATERIAL_SI_QUERY)[0][\"_id\"]\n", |
342 |
| - "bank_train_materials_id_sige = bank_material_endpoints.list(TRAIN_MATERIAL_SIGE_QUERY)[0][\"_id\"]\n", |
343 |
| - "bank_target_materials_id_ge = bank_material_endpoints.list(TARGET_MATERIAL_GE_QUERY)[0][\"_id\"]\n", |
| 342 | + "from mat3ra.standata.materials import Materials\n", |
| 343 | + "\n", |
| 344 | + "train_material_json_si = Materials.get_by_name_first_match(TRAIN_MATERIAL_SI)\n", |
| 345 | + "train_material_json_ge = Materials.get_by_name_first_match(TRAIN_MATERIAL_GE)\n", |
| 346 | + "target_material_json_sige = Materials.get_by_name_first_match(TARGET_MATERIAL_SIGE)\n", |
| 347 | + "\n", |
| 348 | + "train_material_id_si = material_endpoints.create(train_material_json_si, OWNER_ID)[\"_id\"]\n", |
| 349 | + "train_material_id_ge = material_endpoints.create(train_material_json_ge, OWNER_ID)[\"_id\"]\n", |
| 350 | + "target_material_id_sige = material_endpoints.create(target_material_json_sige, OWNER_ID)[\"_id\"]\n", |
344 | 351 | "\n",
|
345 |
| - "train_materials_id_si = bank_material_endpoints.copy(bank_train_materials_id_si, owner_id)[\"_id\"]\n", |
346 |
| - "train_materials_id_sige = bank_material_endpoints.copy(bank_train_materials_id_sige, owner_id)[\"_id\"]\n", |
347 |
| - "target_materials_id_ge = bank_material_endpoints.copy(bank_target_materials_id_ge, owner_id)[\"_id\"]\n", |
| 352 | + "train_material_si = material_endpoints.list({\"_id\": train_material_id_si})[0]\n", |
| 353 | + "train_material_ge = material_endpoints.list({\"_id\": train_material_id_ge})[0]\n", |
| 354 | + "target_material_sige = material_endpoints.list({\"_id\": target_material_id_sige})[0]\n", |
348 | 355 | "\n",
|
349 |
| - "train_materials = material_endpoints.list({\"_id\": {\"$in\": [train_materials_id_si, train_materials_id_sige]}})\n", |
350 |
| - "target_materials = material_endpoints.list({\"_id\": target_materials_id_ge})" |
| 356 | + "train_materials = [train_material_ge, train_material_si]\n", |
| 357 | + "target_materials = [target_material_sige]" |
351 | 358 | ],
|
352 | 359 | "outputs": [],
|
353 | 360 | "execution_count": null
|
|
372 | 379 | "source": [
|
373 | 380 | "compute = job_endpoints.get_compute(CLUSTER, PPN, NODES, QUEUE, TIME_LIMIT)\n",
|
374 | 381 | "jobs = job_endpoints.create_by_ids(\n",
|
375 |
| - " train_materials, band_gap_workflow_id, project_id, JOB_NAME_PREFIX, owner_id, compute\n", |
| 382 | + " train_materials, band_gap_workflow_id, project_id, JOB_NAME_PREFIX, OWNER_ID, compute\n", |
376 | 383 | ")"
|
377 | 384 | ],
|
378 | 385 | "outputs": [],
|
|
0 commit comments