diff --git a/Workshop3/.ipynb_checkpoints/Molcal_workshop3_materials_property_prediction-checkpoint.ipynb b/Workshop3/.ipynb_checkpoints/Molcal_workshop3_materials_property_prediction-checkpoint.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..75035f45ffb9d84f18a91ebdfe0a0d08cf9d13bc --- /dev/null +++ b/Workshop3/.ipynb_checkpoints/Molcal_workshop3_materials_property_prediction-checkpoint.ipynb @@ -0,0 +1,4416 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "768ce9da55994740bd19d449bd0880db": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_744b1e9c9b304373b89b69c16527bba4", + "IPY_MODEL_c87376480c15453e80da77d7b6d2dc8d", + "IPY_MODEL_a2274b0c8e724eba88ed9831e0fe657f" + ], + "layout": "IPY_MODEL_1d9bf139827846faaca37ba65aa026fc" + } + }, + "744b1e9c9b304373b89b69c16527bba4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_58e128907c7c4270a06475bcbe214344", + "placeholder": "​", + "style": "IPY_MODEL_82d62370c96f4a63a54da01f895e194a", + "value": "Sanity Checking DataLoader 0: 100%" + } + }, + "c87376480c15453e80da77d7b6d2dc8d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6e9ad03ead644bddbd57452191ec933e", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_d2667d11892849faafba2b44e977c0f7", + "value": 2 + } + }, + "a2274b0c8e724eba88ed9831e0fe657f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d965cf7c3f3a42189cbfc933911a0247", + "placeholder": "​", + "style": "IPY_MODEL_8ae912d0878b4a37956c43fb76cbd2e5", + "value": " 2/2 [00:00<00:00,  7.99it/s]" + } + }, + "1d9bf139827846faaca37ba65aa026fc": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "58e128907c7c4270a06475bcbe214344": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "82d62370c96f4a63a54da01f895e194a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6e9ad03ead644bddbd57452191ec933e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d2667d11892849faafba2b44e977c0f7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "d965cf7c3f3a42189cbfc933911a0247": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8ae912d0878b4a37956c43fb76cbd2e5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d9d6aacd59ea4fcf9c0f4224b377c610": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_3d0ea474af934d64a2bbbdf0fdb32a02", + "IPY_MODEL_1bb71e54cd95404b846d9cbe5d551ca4", + "IPY_MODEL_c0cc07d05463491fa633ecbf841ee082" + ], + "layout": "IPY_MODEL_4433c936afb347899ef59e62b0fdd9a0" + } + }, + "3d0ea474af934d64a2bbbdf0fdb32a02": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8ff7258417a34807bf11740040d7e54c", + "placeholder": "​", + "style": "IPY_MODEL_c4f756d6ef224ddbaaf3a04ef0470078", + "value": "Epoch 4: 100%" + } + }, + "1bb71e54cd95404b846d9cbe5d551ca4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4d3773a2ea1344838abd5d565cc14763", + "max": 141, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_106bdf51936f49efab22ca3fa22bb1a1", + "value": 141 + } + }, + "c0cc07d05463491fa633ecbf841ee082": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cdb174433a1d43a3bd5274791234bf0d", + "placeholder": "​", + "style": "IPY_MODEL_ca8fcb63cae84124b3536af2434dfcf1", + "value": " 141/141 [00:37<00:00,  3.76it/s, v_num=0, val_Total_Loss=nan.0, val_MAE=nan.0, val_RMSE=nan.0, train_Total_Loss=nan.0, train_MAE=nan.0, train_RMSE=nan.0]" + } + }, + "4433c936afb347899ef59e62b0fdd9a0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "100%" + } + }, + "8ff7258417a34807bf11740040d7e54c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c4f756d6ef224ddbaaf3a04ef0470078": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4d3773a2ea1344838abd5d565cc14763": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "106bdf51936f49efab22ca3fa22bb1a1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "cdb174433a1d43a3bd5274791234bf0d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ca8fcb63cae84124b3536af2434dfcf1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "52064c4ca7734cd9baea5a5d8e81a81a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_b74dfb101dd84c97893a6ba875cfcba0", + "IPY_MODEL_b5334febcbb248b5a1cce202a2de0b55", + "IPY_MODEL_622af7e0cf1d405aa6c178009b72558e" + ], + "layout": "IPY_MODEL_bfde609fc1054a24b8c3756613cbfa2e" + } + }, + "b74dfb101dd84c97893a6ba875cfcba0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3af2179787e2482c852c6db649181967", + "placeholder": "​", + "style": "IPY_MODEL_0d01dd8ca27944839e51976b2e63c557", + "value": "Validation DataLoader 0: 100%" + } + }, + "b5334febcbb248b5a1cce202a2de0b55": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2fd6a0dc83f34fa695755bfdb12b62ae", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2091a3dd510943b79d027917a1617112", + "value": 47 + } + }, + "622af7e0cf1d405aa6c178009b72558e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9bcd8d062d554d66b110c399d9c0b625", + "placeholder": "​", + "style": "IPY_MODEL_e53dd3ed466a49c4ad12cf824a1e6ed3", + "value": " 47/47 [00:10<00:00,  4.54it/s]" + } + }, + "bfde609fc1054a24b8c3756613cbfa2e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "3af2179787e2482c852c6db649181967": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0d01dd8ca27944839e51976b2e63c557": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2fd6a0dc83f34fa695755bfdb12b62ae": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2091a3dd510943b79d027917a1617112": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "9bcd8d062d554d66b110c399d9c0b625": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e53dd3ed466a49c4ad12cf824a1e6ed3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2e3d634584694485a3dc805dd4e6bb71": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_731b73b798c440e8ae4428f118cf4b50", + "IPY_MODEL_fe08f3f0bffc41c684745a6f3352c70a", + "IPY_MODEL_862a622adef047479bf306e707f8362e" + ], + "layout": "IPY_MODEL_ab911180843344b7b9231fc356a1a829" + } + }, + "731b73b798c440e8ae4428f118cf4b50": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_07f41aeca3df4799a3c07f54ab61661f", + "placeholder": "​", + "style": "IPY_MODEL_4928e22f1f7541c7883d6bddbd6d1a49", + "value": "Validation DataLoader 0: 100%" + } + }, + "fe08f3f0bffc41c684745a6f3352c70a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0625bafcce584b17bda54af0054c69da", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_bad36731d291429ba9ac961539ff09a2", + "value": 47 + } + }, + "862a622adef047479bf306e707f8362e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_545ae88a21f44cdbbbf1832e6dac8152", + "placeholder": "​", + "style": "IPY_MODEL_e46782297fb4465e94e19a56e56f0dcf", + "value": " 47/47 [00:05<00:00,  8.58it/s]" + } + }, + "ab911180843344b7b9231fc356a1a829": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "07f41aeca3df4799a3c07f54ab61661f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4928e22f1f7541c7883d6bddbd6d1a49": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0625bafcce584b17bda54af0054c69da": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bad36731d291429ba9ac961539ff09a2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "545ae88a21f44cdbbbf1832e6dac8152": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e46782297fb4465e94e19a56e56f0dcf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6fbc5cb56b044b36b6ac6fa704a42509": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ea5611dacff74566a5d536b61fce35b2", + "IPY_MODEL_5522746482f845bca9a95e0a2224909e", + "IPY_MODEL_ad81dd6ad47541a692b0802aba292c87" + ], + "layout": "IPY_MODEL_88972e62ec0c4b4bb33780ecaf4df32f" + } + }, + "ea5611dacff74566a5d536b61fce35b2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_bd1f348e965244e89c2d53fb83da7934", + "placeholder": "​", + "style": "IPY_MODEL_15ed082c47c24ad2bf4a84ae85198b41", + "value": "Validation DataLoader 0: 100%" + } + }, + "5522746482f845bca9a95e0a2224909e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f5e16d6a057e44458ad68b354ff01eda", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5a2f302420ac451ba2a0c967c7b80b8a", + "value": 47 + } + }, + "ad81dd6ad47541a692b0802aba292c87": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d988de00f6b34fb5b7edc6aacbf6ce24", + "placeholder": "​", + "style": "IPY_MODEL_dfa2352a7ec947e585caabea0b5378c0", + "value": " 47/47 [00:07<00:00,  6.07it/s]" + } + }, + "88972e62ec0c4b4bb33780ecaf4df32f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "bd1f348e965244e89c2d53fb83da7934": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "15ed082c47c24ad2bf4a84ae85198b41": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f5e16d6a057e44458ad68b354ff01eda": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5a2f302420ac451ba2a0c967c7b80b8a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "d988de00f6b34fb5b7edc6aacbf6ce24": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dfa2352a7ec947e585caabea0b5378c0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f0a25dc24c19453ba9f3e84169914ed5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_17e55c8a116546cfadd75932be36604c", + "IPY_MODEL_9ef9e5e64a5546fda0b2f2ee360b063b", + "IPY_MODEL_0f296de304ef4f2aab1c61d922220962" + ], + "layout": "IPY_MODEL_7c47a7b3bed64f7e94054764e8607b14" + } + }, + "17e55c8a116546cfadd75932be36604c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7e5e21fb8a7d4ebea7c71e9f655fe606", + "placeholder": "​", + "style": "IPY_MODEL_9fb1d2f72fda43e4a91e4cbb23426322", + "value": "Validation DataLoader 0: 100%" + } + }, + "9ef9e5e64a5546fda0b2f2ee360b063b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0cc181a9b3e04d658d0eefefaabecaf4", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b320af0dc127481fb92415d2247a565a", + "value": 47 + } + }, + "0f296de304ef4f2aab1c61d922220962": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2a6e76a13e5747c2888b73ff55361dea", + "placeholder": "​", + "style": "IPY_MODEL_2d3bfc8b4da94766a48e6bd84e3932b3", + "value": " 47/47 [00:05<00:00,  9.38it/s]" + } + }, + "7c47a7b3bed64f7e94054764e8607b14": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "7e5e21fb8a7d4ebea7c71e9f655fe606": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9fb1d2f72fda43e4a91e4cbb23426322": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0cc181a9b3e04d658d0eefefaabecaf4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b320af0dc127481fb92415d2247a565a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2a6e76a13e5747c2888b73ff55361dea": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2d3bfc8b4da94766a48e6bd84e3932b3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "530114990c934b02b04ed88233a4cda3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_2fbda58508c94503891ad1ab96445398", + "IPY_MODEL_348fc0c1069a4430be11d2112f212080", + "IPY_MODEL_0c134e301fe5481bbcd47eb35ff1ecd9" + ], + "layout": "IPY_MODEL_cda06210315d42f3b4909bdc14310e15" + } + }, + "2fbda58508c94503891ad1ab96445398": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_98131182118a4e0bbb0de266875c10ec", + "placeholder": "​", + "style": "IPY_MODEL_9ef52af34b6d4030b0ed2ad1006e2a05", + "value": "Validation DataLoader 0: 100%" + } + }, + "348fc0c1069a4430be11d2112f212080": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c719f246dc254ba284b1975932eaedf9", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b70eedcca7744a8dab61e3c5796e2072", + "value": 47 + } + }, + "0c134e301fe5481bbcd47eb35ff1ecd9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3ccc25decd5b48e39bd101a6a526865e", + "placeholder": "​", + "style": "IPY_MODEL_904fb13e4c9a4290a95c7003770d0a32", + "value": " 47/47 [00:06<00:00,  7.72it/s]" + } + }, + "cda06210315d42f3b4909bdc14310e15": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "98131182118a4e0bbb0de266875c10ec": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9ef52af34b6d4030b0ed2ad1006e2a05": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c719f246dc254ba284b1975932eaedf9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b70eedcca7744a8dab61e3c5796e2072": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "3ccc25decd5b48e39bd101a6a526865e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "904fb13e4c9a4290a95c7003770d0a32": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "jd6K5XZdeAMu", + "outputId": "974bad76-8527-47c4-f3b5-1fcd84c9c49b" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting jarvis-tools\n", + " Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl.metadata (3.1 kB)\n", + "Requirement already satisfied: numpy>=1.20.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.26.4)\n", + "Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.13.1)\n", + "Requirement already satisfied: matplotlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (3.8.0)\n", + "Requirement already satisfied: joblib>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.4.2)\n", + "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (2.32.3)\n", + "Requirement already satisfied: toolz>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (0.12.1)\n", + "Collecting xmltodict>=0.11.0 (from jarvis-tools)\n", + " Downloading xmltodict-0.14.2-py2.py3-none-any.whl.metadata (8.0 kB)\n", + "Requirement already satisfied: tqdm>=4.41.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (4.66.6)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.5.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (2.8.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2024.8.30)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->jarvis-tools) (3.5.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.0.0->jarvis-tools) (1.16.0)\n", + "Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl (4.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m22.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading xmltodict-0.14.2-py2.py3-none-any.whl (10.0 kB)\n", + "Installing collected packages: xmltodict, jarvis-tools\n", + "Successfully installed jarvis-tools-2024.10.10 xmltodict-0.14.2\n" + ] + } + ], + "source": [ + "!pip install jarvis-tools" + ] + }, + { + "cell_type": "code", + "source": [ + "!pip3 install pymatgen" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mC4gkbnBeP7t", + "outputId": "e8b7d83a-2c04-4909-e84d-1bdf75b8f42d" + }, + "execution_count": 7, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (2024.10.29)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.4.2)\n", + "Requirement already satisfied: matplotlib>=3.8 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.8.0)\n", + "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2024.10.21)\n", + "Requirement already satisfied: networkx>=3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.4.2)\n", + "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.3.3)\n", + "Requirement already satisfied: pandas>=2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.2.2)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (5.24.1)\n", + "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.24.0)\n", + "Requirement already satisfied: requests>=2.32 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.32.3)\n", + "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.18.6)\n", + "Requirement already satisfied: scipy>=1.13.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.5.0)\n", + "Requirement already satisfied: sympy>=1.2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.9.0)\n", + "Requirement already satisfied: tqdm>=4.60 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (4.66.6)\n", + "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.2.2)\n", + "Requirement already satisfied: numpy<3,>=1.25.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.26.4)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen) (9.0.0)\n", + "Requirement already satisfied: PyYAML>=3.01 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (6.0.2)\n", + "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (3.0.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2024.8.30)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen) (0.2.12)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy>=1.2->pymatgen) (1.3.0)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "!pip install dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fhA7AxnzeQfj", + "outputId": "3e9e530c-b84f-4285-8c00-659d64cb79b2" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in links: https://data.dgl.ai/wheels/torch-2.1/repo.html\n", + "Requirement already satisfied: dgl in /usr/local/lib/python3.10/dist-packages (2.4.0)\n", + "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (5.9.5)\n", + "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.9.2)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl) (4.66.6)\n", + "Requirement already satisfied: torch<=2.4.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.4.0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2024.8.30)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2024.10.0)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2.20.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.0.0)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<=2.4.0->dgl) (12.6.77)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->dgl) (1.16.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch<=2.4.0->dgl) (3.0.2)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch<=2.4.0->dgl) (1.3.0)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "!pip3 install matgl" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YM0zUT9-fqfc", + "outputId": "6bca17f0-06c7-4559-9b81-a79c3739a116" + }, + "execution_count": 9, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting matgl\n", + " Downloading matgl-1.1.3-py3-none-any.whl.metadata (16 kB)\n", + "Collecting ase (from matgl)\n", + " Downloading ase-3.23.0-py3-none-any.whl.metadata (3.8 kB)\n", + "Requirement already satisfied: dgl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (from matgl) (2024.10.29)\n", + "Collecting lightning (from matgl)\n", + " Downloading lightning-2.4.0-py3-none-any.whl.metadata (38 kB)\n", + "Requirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pydantic in /usr/local/lib/python3.10/dist-packages (from matgl) (2.9.2)\n", + "Collecting torchdata<0.8.0 (from matgl)\n", + " Downloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", + "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (5.9.5)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (4.66.6)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (4.12.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2024.10.0)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2.20.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.0.0)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->matgl) (12.6.77)\n", + "Requirement already satisfied: urllib3>=1.25 in /usr/local/lib/python3.10/dist-packages (from torchdata<0.8.0->matgl) (2.2.3)\n", + "Requirement already satisfied: matplotlib>=3.3.4 in /usr/local/lib/python3.10/dist-packages (from ase->matgl) (3.8.0)\n", + "Collecting lightning-utilities<2.0,>=0.10.0 (from lightning->matgl)\n", + " Downloading lightning_utilities-0.11.8-py3-none-any.whl.metadata (5.2 kB)\n", + "Collecting torchmetrics<3.0,>=0.7.0 (from lightning->matgl)\n", + " Downloading torchmetrics-1.5.1-py3-none-any.whl.metadata (20 kB)\n", + "Collecting pytorch-lightning (from lightning->matgl)\n", + " Downloading pytorch_lightning-2.4.0-py3-none-any.whl.metadata (21 kB)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (1.4.2)\n", + "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2024.10.21)\n", + "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.3.3)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (5.24.1)\n", + "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.24.0)\n", + "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.18.6)\n", + "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2.5.0)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.9.0)\n", + "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.2.2)\n", + "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (3.10.10)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from lightning-utilities<2.0,>=0.10.0->lightning->matgl) (75.1.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.4.7)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen->matgl) (9.0.0)\n", + "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (3.0.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (2024.8.30)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen->matgl) (0.2.12)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch->matgl) (1.3.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch->matgl) (3.0.2)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (2.4.3)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.3.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (24.2.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.5.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (6.1.0)\n", + "Requirement already satisfied: yarl<2.0,>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.17.0)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (4.0.3)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.12.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (0.2.0)\n", + "Downloading matgl-1.1.3-py3-none-any.whl (223 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m223.3/223.3 kB\u001b[0m \u001b[31m12.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m61.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ase-3.23.0-py3-none-any.whl (2.9 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m72.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning-2.4.0-py3-none-any.whl (810 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m811.0/811.0 kB\u001b[0m \u001b[31m34.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning_utilities-0.11.8-py3-none-any.whl (26 kB)\n", + "Downloading torchmetrics-1.5.1-py3-none-any.whl (890 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m890.6/890.6 kB\u001b[0m \u001b[31m45.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytorch_lightning-2.4.0-py3-none-any.whl (815 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m815.2/815.2 kB\u001b[0m \u001b[31m42.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: lightning-utilities, ase, torchmetrics, torchdata, pytorch-lightning, lightning, matgl\n", + "Successfully installed ase-3.23.0 lightning-2.4.0 lightning-utilities-0.11.8 matgl-1.1.3 pytorch-lightning-2.4.0 torchdata-0.7.1 torchmetrics-1.5.1\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "import shutil\n", + "import warnings\n", + "import zipfile\n", + "import matgl\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import pytorch_lightning as pl\n", + "import torch\n", + "import pickle\n", + "import numpy as np\n", + "from dgl.data.utils import split_dataset\n", + "from pymatgen.core import Structure\n", + "from pytorch_lightning.loggers import CSVLogger\n", + "from lightning.pytorch import Trainer\n", + "from tqdm import tqdm\n", + "\n", + "from matgl.ext.pymatgen import Structure2Graph, get_element_list\n", + "from matgl.graph.data import MGLDataset, MGLDataLoader #collate_fn. - shivani i don't think you need this as num_workers=0\n", + "from matgl.layers import BondExpansion\n", + "from matgl.models import MEGNet\n", + "from matgl.utils.io import RemoteFile\n", + "from matgl.utils.training import ModelLightningModule\n", + "\n", + "# To suppress warnings for clearer output\n", + "warnings.simplefilter(\"ignore\")" + ], + "metadata": { + "id": "avglyJbheVCr" + }, + "execution_count": 39, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from jarvis.db.figshare import data\n", + "\n", + "dft_3d = data('dft_3d')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vZFdOECqfefs", + "outputId": "e722910c-d5f9-48c0-85af-fb7536d81ce7" + }, + "execution_count": 12, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Obtaining 3D dataset 76k ...\n", + "Reference:https://www.nature.com/articles/s41524-020-00440-1\n", + "Other versions:https://doi.org/10.6084/m9.figshare.6815699\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 40.8M/40.8M [00:01<00:00, 20.5MiB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Loading the zipfile...\n", + "Loading completed.\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "dft_3d[0].keys()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "o1-OpcxGgXn3", + "outputId": "eb48c546-8539-4acc-f8cd-290039cd1a6f" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "dict_keys(['jid', 'spg_number', 'spg_symbol', 'formula', 'formation_energy_peratom', 'func', 'optb88vdw_bandgap', 'atoms', 'slme', 'magmom_oszicar', 'spillage', 'elastic_tensor', 'effective_masses_300K', 'kpoint_length_unit', 'maxdiff_mesh', 'maxdiff_bz', 'encut', 'optb88vdw_total_energy', 'epsx', 'epsy', 'epsz', 'mepsx', 'mepsy', 'mepsz', 'modes', 'magmom_outcar', 'max_efg', 'avg_elec_mass', 'avg_hole_mass', 'icsd', 'dfpt_piezo_max_eij', 'dfpt_piezo_max_dij', 'dfpt_piezo_max_dielectric', 'dfpt_piezo_max_dielectric_electronic', 'dfpt_piezo_max_dielectric_ionic', 'max_ir_mode', 'min_ir_mode', 'n-Seebeck', 'p-Seebeck', 'n-powerfact', 'p-powerfact', 'ncond', 'pcond', 'nkappa', 'pkappa', 'ehull', 'Tc_supercon', 'dimensionality', 'efg', 'xml_data_link', 'typ', 'exfoliation_energy', 'spg', 'crys', 'density', 'poisson', 'raw_files', 'nat', 'bulk_modulus_kv', 'shear_modulus_gv', 'mbj_bandgap', 'hse_gap', 'reference', 'search'])" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "code", + "source": [ + "## Let's make a dataframe from this:\n", + "import pandas as pd\n", + "import numpy as np" + ], + "metadata": { + "id": "RnAkEQBSgZki" + }, + "execution_count": 14, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df=pd.DataFrame(dft_3d)\n", + "df.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 429 + }, + "id": "HUvXBAGDgdYn", + "outputId": "cb02920a-b7e5-469e-8b8e-8fb55a7177e3" + }, + "execution_count": 15, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " jid spg_number spg_symbol formula formation_energy_peratom \\\n", + "0 JVASP-90856 129 P4/nmm TiCuSiAs -0.42762 \n", + "1 JVASP-86097 221 Pm-3m DyB6 -0.41596 \n", + "2 JVASP-64906 119 I-4m2 Be2OsRu 0.04847 \n", + "3 JVASP-98225 14 P2_1/c KBi -0.44140 \n", + "4 JVASP-10 164 P-3m1 VSe2 -0.71026 \n", + "\n", + " func optb88vdw_bandgap \\\n", + "0 OptB88vdW 0.000 \n", + "1 OptB88vdW 0.000 \n", + "2 OptB88vdW 0.000 \n", + "3 OptB88vdW 0.472 \n", + "4 OptB88vdW 0.000 \n", + "\n", + " atoms slme magmom_oszicar ... \\\n", + "0 {'lattice_mat': [[3.566933224304235, 0.0, -0.0... na 0.0 ... \n", + "1 {'lattice_mat': [[4.089078911208881, 0.0, 0.0]... na 0.0 ... \n", + "2 {'lattice_mat': [[-1.833590720595598, 1.833590... na 0.0 ... \n", + "3 {'lattice_mat': [[7.2963518353359165, 0.0, 0.0... na 0.0 ... \n", + "4 {'lattice_mat': [[1.6777483798834445, -2.90594... na 0.0 ... \n", + "\n", + " density poisson raw_files nat \\\n", + "0 5.956 na [] 8 \n", + "1 5.522 na [OPT-LOPTICS,JVASP-86097.zip,https://ndownload... 7 \n", + "2 10.960 na [OPT-LOPTICS,JVASP-64906.zip,https://ndownload... 4 \n", + "3 5.145 na [] 32 \n", + "4 5.718 0.23 [FD-ELAST,JVASP-10.zip,https://ndownloader.fig... 3 \n", + "\n", + " bulk_modulus_kv shear_modulus_gv mbj_bandgap hse_gap \\\n", + "0 na na na na \n", + "1 na na na na \n", + "2 na na na na \n", + "3 na na na na \n", + "4 48.79 33.05 0.0 na \n", + "\n", + " reference search \n", + "0 mp-1080455 -As-Cu-Si-Ti \n", + "1 mp-568319 -B-Dy \n", + "2 auid-3eaf68dd483bf4f4 -Be-Os-Ru \n", + "3 mp-31104 -Bi-K \n", + "4 mp-694 -Se-V \n", + "\n", + "[5 rows x 64 columns]" + ], + "text/html": [ + "\n", + " <div id=\"df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>jid</th>\n", + " <th>spg_number</th>\n", + " <th>spg_symbol</th>\n", + " <th>formula</th>\n", + " <th>formation_energy_peratom</th>\n", + " <th>func</th>\n", + " <th>optb88vdw_bandgap</th>\n", + " <th>atoms</th>\n", + " <th>slme</th>\n", + " <th>magmom_oszicar</th>\n", + " <th>...</th>\n", + " <th>density</th>\n", + " <th>poisson</th>\n", + " <th>raw_files</th>\n", + " <th>nat</th>\n", + " <th>bulk_modulus_kv</th>\n", + " <th>shear_modulus_gv</th>\n", + " <th>mbj_bandgap</th>\n", + " <th>hse_gap</th>\n", + " <th>reference</th>\n", + " <th>search</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>JVASP-90856</td>\n", + " <td>129</td>\n", + " <td>P4/nmm</td>\n", + " <td>TiCuSiAs</td>\n", + " <td>-0.42762</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[3.566933224304235, 0.0, -0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.956</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>8</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-1080455</td>\n", + " <td>-As-Cu-Si-Ti</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>JVASP-86097</td>\n", + " <td>221</td>\n", + " <td>Pm-3m</td>\n", + " <td>DyB6</td>\n", + " <td>-0.41596</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[4.089078911208881, 0.0, 0.0]...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.522</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-86097.zip,https://ndownload...</td>\n", + " <td>7</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-568319</td>\n", + " <td>-B-Dy</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>JVASP-64906</td>\n", + " <td>119</td>\n", + " <td>I-4m2</td>\n", + " <td>Be2OsRu</td>\n", + " <td>0.04847</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[-1.833590720595598, 1.833590...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>10.960</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-64906.zip,https://ndownload...</td>\n", + " <td>4</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>auid-3eaf68dd483bf4f4</td>\n", + " <td>-Be-Os-Ru</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>JVASP-98225</td>\n", + " <td>14</td>\n", + " <td>P2_1/c</td>\n", + " <td>KBi</td>\n", + " <td>-0.44140</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.472</td>\n", + " <td>{'lattice_mat': [[7.2963518353359165, 0.0, 0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.145</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>32</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-31104</td>\n", + " <td>-Bi-K</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>JVASP-10</td>\n", + " <td>164</td>\n", + " <td>P-3m1</td>\n", + " <td>VSe2</td>\n", + " <td>-0.71026</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[1.6777483798834445, -2.90594...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.718</td>\n", + " <td>0.23</td>\n", + " <td>[FD-ELAST,JVASP-10.zip,https://ndownloader.fig...</td>\n", + " <td>3</td>\n", + " <td>48.79</td>\n", + " <td>33.05</td>\n", + " <td>0.0</td>\n", + " <td>na</td>\n", + " <td>mp-694</td>\n", + " <td>-Se-V</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>5 rows × 64 columns</p>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-bd8b8a00-937e-4b1d-a50c-05a9e032c404\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-bd8b8a00-937e-4b1d-a50c-05a9e032c404')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-bd8b8a00-937e-4b1d-a50c-05a9e032c404 button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df" + } + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "source": [ + "## Count number of entries for each property\n", + "for i in df.columns.values:\n", + " val=df[i].replace('na',np.nan).dropna().values\n", + " print(i,len(val))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "hrRk8GKighlh", + "outputId": "d54272bd-a432-462c-d89a-65241d14db65" + }, + "execution_count": 16, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "jid 75993\n", + "spg_number 75993\n", + "spg_symbol 75993\n", + "formula 75993\n", + "formation_energy_peratom 75993\n", + "func 75993\n", + "optb88vdw_bandgap 75993\n", + "atoms 75993\n", + "slme 9770\n", + "magmom_oszicar 71320\n", + "spillage 11377\n", + "elastic_tensor 25513\n", + "effective_masses_300K 75993\n", + "kpoint_length_unit 75671\n", + "maxdiff_mesh 5861\n", + "maxdiff_bz 5861\n", + "encut 75670\n", + "optb88vdw_total_energy 75993\n", + "epsx 52168\n", + "epsy 52168\n", + "epsz 52168\n", + "mepsx 18293\n", + "mepsy 18293\n", + "mepsz 18293\n", + "modes 13910\n", + "magmom_outcar 74261\n", + "max_efg 11871\n", + "avg_elec_mass 17645\n", + "avg_hole_mass 17645\n", + "icsd 75993\n", + "dfpt_piezo_max_eij 4799\n", + "dfpt_piezo_max_dij 3347\n", + "dfpt_piezo_max_dielectric 4706\n", + "dfpt_piezo_max_dielectric_electronic 4809\n", + "dfpt_piezo_max_dielectric_ionic 4809\n", + "max_ir_mode 4805\n", + "min_ir_mode 4809\n", + "n-Seebeck 23218\n", + "p-Seebeck 23218\n", + "n-powerfact 23218\n", + "p-powerfact 23218\n", + "ncond 23218\n", + "pcond 23218\n", + "nkappa 23218\n", + "pkappa 23218\n", + "ehull 75993\n", + "Tc_supercon 1058\n", + "dimensionality 75560\n", + "efg 75993\n", + "xml_data_link 75993\n", + "typ 75993\n", + "exfoliation_energy 813\n", + "spg 75993\n", + "crys 75993\n", + "density 75993\n", + "poisson 23597\n", + "raw_files 75993\n", + "nat 75993\n", + "bulk_modulus_kv 23824\n", + "shear_modulus_gv 23824\n", + "mbj_bandgap 19805\n", + "hse_gap 56\n", + "reference 75993\n", + "search 75993\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "## Filter dataset based on desired property\n", + "## We will focus on elastic properties for today, i.e. Bulk modulus" + ], + "metadata": { + "id": "6dxg4ITfgkOE" + }, + "execution_count": 17, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from jarvis.core.atoms import Atoms\n", + "bm=df[df.bulk_modulus_kv != 'na']\n", + "data = [(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter(), bm.iloc[i].bulk_modulus_kv) for i in range(len(bm))]" + ], + "metadata": { + "id": "xcuLFYdNgq-u" + }, + "execution_count": 18, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import itertools\n", + "def get_stoichiometry(elements):\n", + " return [(g[0], len(list(g[1]))) for g in itertools.groupby(elements)]" + ], + "metadata": { + "id": "Sc1zXAn4gtTT" + }, + "execution_count": 19, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "## Use all the material dataset for training the bulk modulus\n", + "from tqdm import tqdm\n", + "\n", + "stoichs=[] #stoichiometry\n", + "bulk=[] #bulk modulus\n", + "for i in tqdm(range(len(bm))):\n", + " stoichs.append(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter())\n", + " bulk.append(bm.iloc[i]['bulk_modulus_kv'])\n", + "data_ran=list(zip(stoichs,bulk))\n", + "#write out the dataset, to train later\n", + "import pickle\n", + "with open('data_ran.pickle', 'wb') as f:\n", + " pickle.dump(data_ran, f)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "arU4jF5tgvt0", + "outputId": "c75f7f94-afe6-4d42-e81a-93405ddcc301" + }, + "execution_count": 20, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 23824/23824 [00:25<00:00, 921.20it/s]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#read in the dataset\n", + "data_ran=pd.read_pickle('./data_ran.pickle')" + ], + "metadata": { + "id": "CFgTo75EgzKR" + }, + "execution_count": 22, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "type(data_ran)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "BWZuJzqNg-ak", + "outputId": "8076df63-2b15-4739-f5fe-9f703b68db6f" + }, + "execution_count": 23, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "list" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ] + }, + { + "cell_type": "code", + "source": [ + "import random\n", + "import numpy as np\n", + "\n", + "\n", + "random.shuffle(data_ran)\n", + "\n", + "structures=[d[0] for d in data_ran[:15000]]\n", + "targets=np.log10([d[1] for d in data_ran])\n", + "\n", + "print(structures[0],targets[0])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "TG4g1Dp4hBhg", + "outputId": "a3adbd5b-95c9-4ec9-8cd0-4c39136ea699" + }, + "execution_count": 24, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Full Formula (Li4 Ce4 O8)\n", + "Reduced Formula: LiCeO2\n", + "abc : 5.778710 5.859847 6.029586\n", + "angles: 90.000000 90.000000 103.986129\n", + "pbc : True True True\n", + "Sites (16)\n", + " # SP a b c\n", + "--- ---- -------- -------- --------\n", + " 0 Li 0.182502 0.662954 0.132604\n", + " 1 Li 0.317498 0.337046 0.632604\n", + " 2 Li 0.817498 0.337046 0.867396\n", + " 3 Li 0.682502 0.662954 0.367396\n", + " 4 Ce 0.303409 0.200495 0.071539\n", + " 5 Ce 0.803409 0.200495 0.428461\n", + " 6 Ce 0.696591 0.799505 0.928461\n", + " 7 Ce 0.196591 0.799505 0.571539\n", + " 8 O 0.986063 0.906145 0.246099\n", + " 9 O 0.696592 0.43465 0.136137\n", + " 10 O 0.513937 0.093855 0.746099\n", + " 11 O 0.013937 0.093855 0.753901\n", + " 12 O 0.303408 0.56535 0.863863\n", + " 13 O 0.803408 0.56535 0.636137\n", + " 14 O 0.196592 0.43465 0.363863\n", + " 15 O 0.486063 0.906145 0.253901 2.0546896429499797\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# get element types in the dataset\n", + "elem_list = get_element_list(structures)\n", + "# setup a graph converter\n", + "converter = Structure2Graph(element_types=elem_list, cutoff=4.0)\n", + "# convert the raw dataset into MEGNetDataset\n", + "mp_dataset = MGLDataset(\n", + " structures=structures,\n", + " labels={\"bulk_modulus_kv\": targets},\n", + " converter=converter,\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Z-jazl2PhHsP", + "outputId": "0044297b-6dc9-4f70-83f0-afb9c4c558d7" + }, + "execution_count": 25, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 15000/15000 [00:24<00:00, 616.21it/s]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "train_data, val_data, test_data = split_dataset(\n", + " mp_dataset,\n", + " frac_list=[0.6, 0.2, 0.2],\n", + " shuffle=True,\n", + " random_state=42,\n", + ")\n", + "train_loader, val_loader, test_loader = MGLDataLoader(\n", + " train_data=train_data,\n", + " val_data=val_data,\n", + " test_data=test_data,\n", + " batch_size=64,\n", + " num_workers=0,\n", + ")" + ], + "metadata": { + "id": "QPyjAxGghK0Q" + }, + "execution_count": 26, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# setup the embedding layer for node attributes\n", + "node_embed = torch.nn.Embedding(len(elem_list), 16)\n", + "# define the bond expansion\n", + "bond_expansion = BondExpansion(rbf_type=\"Gaussian\", initial=0.0, final=5.0, num_centers=100, width=0.5)\n", + "\n", + "# setup the architecture of MEGNet model\n", + "model = MEGNet(\n", + " dim_node_embedding=16,\n", + " dim_edge_embedding=100,\n", + " dim_state_embedding=2,\n", + " nblocks=3,\n", + " hidden_layer_sizes_input=(64, 32),\n", + " hidden_layer_sizes_conv=(64, 64, 32),\n", + " nlayers_set2set=1,\n", + " niters_set2set=2,\n", + " hidden_layer_sizes_output=(32, 16),\n", + " is_classification=False,\n", + " activation_type=\"softplus2\",\n", + " bond_expansion=bond_expansion,\n", + " #collate_fn=collate_fn, shivani - not needed now?\n", + " cutoff=4.0,\n", + " gauss_width=0.5,\n", + ")\n", + "\n", + "# setup the MEGNetTrainer\n", + "lit_module = ModelLightningModule(model=model)" + ], + "metadata": { + "id": "pYGXwyZphQtd" + }, + "execution_count": 33, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "logger = CSVLogger(\"logged\", name=\"MEGNet_training\")\n", + "trainer = Trainer(max_epochs=5, accelerator=\"cpu\", logger=logger) #set to SMALL NUMBER FOR TESTING, PLEASE CHANGE.\n", + "trainer.fit(model=lit_module, train_dataloaders=train_loader, val_dataloaders=val_loader)\n", + "\n", + "warnings.simplefilter(\"ignore\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 708, + "referenced_widgets": [ + "768ce9da55994740bd19d449bd0880db", + "744b1e9c9b304373b89b69c16527bba4", + "c87376480c15453e80da77d7b6d2dc8d", + "a2274b0c8e724eba88ed9831e0fe657f", + "1d9bf139827846faaca37ba65aa026fc", + "58e128907c7c4270a06475bcbe214344", + "82d62370c96f4a63a54da01f895e194a", + "6e9ad03ead644bddbd57452191ec933e", + "d2667d11892849faafba2b44e977c0f7", + "d965cf7c3f3a42189cbfc933911a0247", + "8ae912d0878b4a37956c43fb76cbd2e5", + "d9d6aacd59ea4fcf9c0f4224b377c610", + "3d0ea474af934d64a2bbbdf0fdb32a02", + "1bb71e54cd95404b846d9cbe5d551ca4", + "c0cc07d05463491fa633ecbf841ee082", + "4433c936afb347899ef59e62b0fdd9a0", + "8ff7258417a34807bf11740040d7e54c", + "c4f756d6ef224ddbaaf3a04ef0470078", + "4d3773a2ea1344838abd5d565cc14763", + "106bdf51936f49efab22ca3fa22bb1a1", + "cdb174433a1d43a3bd5274791234bf0d", + "ca8fcb63cae84124b3536af2434dfcf1", + "52064c4ca7734cd9baea5a5d8e81a81a", + "b74dfb101dd84c97893a6ba875cfcba0", + "b5334febcbb248b5a1cce202a2de0b55", + "622af7e0cf1d405aa6c178009b72558e", + "bfde609fc1054a24b8c3756613cbfa2e", + "3af2179787e2482c852c6db649181967", + "0d01dd8ca27944839e51976b2e63c557", + "2fd6a0dc83f34fa695755bfdb12b62ae", + "2091a3dd510943b79d027917a1617112", + "9bcd8d062d554d66b110c399d9c0b625", + "e53dd3ed466a49c4ad12cf824a1e6ed3", + "2e3d634584694485a3dc805dd4e6bb71", + "731b73b798c440e8ae4428f118cf4b50", + "fe08f3f0bffc41c684745a6f3352c70a", + "862a622adef047479bf306e707f8362e", + "ab911180843344b7b9231fc356a1a829", + "07f41aeca3df4799a3c07f54ab61661f", + "4928e22f1f7541c7883d6bddbd6d1a49", + "0625bafcce584b17bda54af0054c69da", + "bad36731d291429ba9ac961539ff09a2", + "545ae88a21f44cdbbbf1832e6dac8152", + "e46782297fb4465e94e19a56e56f0dcf", + "6fbc5cb56b044b36b6ac6fa704a42509", + "ea5611dacff74566a5d536b61fce35b2", + "5522746482f845bca9a95e0a2224909e", + "ad81dd6ad47541a692b0802aba292c87", + "88972e62ec0c4b4bb33780ecaf4df32f", + "bd1f348e965244e89c2d53fb83da7934", + "15ed082c47c24ad2bf4a84ae85198b41", + "f5e16d6a057e44458ad68b354ff01eda", + "5a2f302420ac451ba2a0c967c7b80b8a", + "d988de00f6b34fb5b7edc6aacbf6ce24", + "dfa2352a7ec947e585caabea0b5378c0", + "f0a25dc24c19453ba9f3e84169914ed5", + "17e55c8a116546cfadd75932be36604c", + "9ef9e5e64a5546fda0b2f2ee360b063b", + "0f296de304ef4f2aab1c61d922220962", + "7c47a7b3bed64f7e94054764e8607b14", + "7e5e21fb8a7d4ebea7c71e9f655fe606", + "9fb1d2f72fda43e4a91e4cbb23426322", + "0cc181a9b3e04d658d0eefefaabecaf4", + "b320af0dc127481fb92415d2247a565a", + "2a6e76a13e5747c2888b73ff55361dea", + "2d3bfc8b4da94766a48e6bd84e3932b3", + "530114990c934b02b04ed88233a4cda3", + "2fbda58508c94503891ad1ab96445398", + "348fc0c1069a4430be11d2112f212080", + "0c134e301fe5481bbcd47eb35ff1ecd9", + "cda06210315d42f3b4909bdc14310e15", + "98131182118a4e0bbb0de266875c10ec", + "9ef52af34b6d4030b0ed2ad1006e2a05", + "c719f246dc254ba284b1975932eaedf9", + "b70eedcca7744a8dab61e3c5796e2072", + "3ccc25decd5b48e39bd101a6a526865e", + "904fb13e4c9a4290a95c7003770d0a32" + ] + }, + "id": "nqWWnzQUhoki", + "outputId": "71988016-cb28-41b3-ea83-4400f135f481" + }, + "execution_count": 40, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "INFO: GPU available: False, used: False\n", + "INFO:lightning.pytorch.utilities.rank_zero:GPU available: False, used: False\n", + "INFO: TPU available: False, using: 0 TPU cores\n", + "INFO:lightning.pytorch.utilities.rank_zero:TPU available: False, using: 0 TPU cores\n", + "INFO: HPU available: False, using: 0 HPUs\n", + "INFO:lightning.pytorch.utilities.rank_zero:HPU available: False, using: 0 HPUs\n", + "INFO: \n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n", + "INFO:lightning.pytorch.callbacks.model_summary:\n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Sanity Checking: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "768ce9da55994740bd19d449bd0880db" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Training: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "d9d6aacd59ea4fcf9c0f4224b377c610" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "52064c4ca7734cd9baea5a5d8e81a81a" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "2e3d634584694485a3dc805dd4e6bb71" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "6fbc5cb56b044b36b6ac6fa704a42509" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "f0a25dc24c19453ba9f3e84169914ed5" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "530114990c934b02b04ed88233a4cda3" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "INFO: `Trainer.fit` stopped: `max_epochs=5` reached.\n", + "INFO:lightning.pytorch.utilities.rank_zero:`Trainer.fit` stopped: `max_epochs=5` reached.\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "metrics = pd.read_csv(\"logged/MEGNet_training/version_0/metrics.csv\")\n", + "metrics[\"train_MAE\"].dropna().plot()\n", + "metrics[\"val_MAE\"].dropna().plot()\n", + "\n", + "_ = plt.legend()\n", + "#plt.savefig(\"loss.jpg\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "x2mTOHAGhqvE", + "outputId": "252e83de-6b95-4b75-ac17-cbc96a04a0cf" + }, + "execution_count": 41, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGdCAYAAADuR1K7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqKElEQVR4nO3de3SV1Z3/8c/JPVySEC45BBJAyBgESqZAQliuQU2mQRFBQ8VMuLNEKqAWsIByqVjNVLCCirJcQ6CMIBRGGQuUDgaLKJFLsA73sS5uAicBMQnXJCT794e/nPaYEAPkJDmb92utZ2H2s/d5vnsTPR+f8zzPcRhjjAAAACzh19AFAAAA1CXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKgENXUBDqKio0OnTp9W8eXM5HI6GLgcAANSCMUYXLlxQdHS0/Pyuf37mtgw3p0+fVkxMTEOXAQAAbsLJkyfVvn376+6/LcNN8+bNJX2/OGFhYQ1cDQAAqI3i4mLFxMS438ev57YMN5UfRYWFhRFuAADwMT92SQkXFAMAAKsQbgAAgFUINwAAwCq35TU3AADfZ4zRtWvXVF5e3tCloI74+/srICDglh/TQrgBAPic0tJSnTlzRpcvX27oUlDHmjRporZt2yooKOimX4NwAwDwKRUVFTp69Kj8/f0VHR2toKAgHshqAWOMSktLdfbsWR09elRxcXE1PqivJoQbAIBPKS0tVUVFhWJiYtSkSZOGLgd1KDQ0VIGBgTp+/LhKS0sVEhJyU6/DBcUAAJ90s/9Xj8atLv5e+c0AAABWIdwAAACrEG4AAPBBHTt21MKFCxu6jEaJcAMAQD2555579Mwzz9TJa+3evVvjx4+vk9c6duyYHA6H/P39derUKY99Z86ccT975tixY1XGpqWlyd/fX7t3766yb/To0XI4HFW2AQMG1End10O4AQCgkah8MGFttG7dus7vFmvXrp1WrFjh0fb73/9e7dq1q7b/iRMntGPHDk2aNEnZ2dnV9hkwYIDOnDnjsb333nt1WvcPEW4AAD7PGKPLpdcaZDPG1KrG0aNHa9u2bVq0aJH7DMby5cvlcDj0pz/9Sb169VJwcLA+/fRTff311xo8eLCioqLUrFkz9enTRx999JHH6/3wYymHw6H/+I//0MMPP6wmTZooLi5OH3744Q2t46hRo7Rs2TKPtmXLlmnUqFHV9l+2bJkefPBB/eIXv9B7772nK1euVOkTHBwsp9PpsbVo0eKG6rpRPOcGAODzrpSV6645f26QYx+cl6YmQT/+drpo0SL93//9n7p376558+ZJkg4cOCBJmjFjhhYsWKA77rhDLVq00MmTJ/XAAw/opZdeUnBwsFasWKFBgwbpyJEjio2Nve4xXnjhBb3yyiuaP3++3njjDWVmZur48eOKjIys1VweeughLVmyRJ9++qnuvvtuffrpp/ruu+80aNAgvfjiix59jTFatmyZFi9erPj4eHXp0kXr1q3TiBEjanUsb+LMDQAA9SA8PFxBQUFq0qSJ+wyGv7+/JGnevHn613/9V3Xu3FmRkZHq2bOnnnjiCXXv3l1xcXF68cUX1blz5x89EzN69GhlZGSoS5cuevnll3Xx4kXt2rWr1jUGBgZq+PDh7o+YsrOzNXz4cAUGBlbp+9FHH+ny5ctKS0uTJA0fPlxLly6t0m/Dhg1q1qyZx/byyy/XuqabwZkbAIDPCw3018F5aQ127FvVu3dvj58vXryoX//619q4caPOnDmja9eu6cqVKzpx4kSNr/OTn/zE/c9NmzZVWFiYCgoKbqiWsWPHql+/fnr55Ze1du1a5ebmVnsdUHZ2toYNG6aAgO+jREZGhp599ll9/fXX6ty5s7vfvffeq7fffttjbG3PJN0swg0AwOc5HI5afTTUWDVt2tTj52nTpmnLli1asGCBunTpotDQUA0dOlSlpaU1vs4Pz7A4HA5VVFTcUC09evRQfHy8MjIy1LVrV3Xv3l1//etfPfqcP39eH3zwgcrKyjyCS3l5ubKzs/XSSy95zK1Lly43VMOt8t3fBAAAfExQUJDKy8t/tN9nn32m0aNH6+GHH5b0/Zmc6m7D9paxY8fqySefrHLGpdLKlSvVvn17rV+/3qP9f/7nf/Tqq69q3rx57o/cGgLhBgCAetKxY0ft3LlTx44dU7Nmza57ViUuLk7vv/++Bg0aJIfDodmzZ9/wGZhb8fjjj+vnP/+5IiIiqt2/dOlSDR06VN27d/doj4mJ0cyZM7V582YNHDhQklRSUiKXy+XRLyAgQK1atfJK7RIXFAMAUG+mTZsmf39/3XXXXWrduvV1r6H53e9+pxYtWqhfv34aNGiQ0tLS9NOf/rTe6qwMH5XX0/yjvLw8ffnll0pPT6+yLzw8XCkpKR4XFm/evFlt27b12O6++26v1u8wtb1B3yLFxcUKDw9XUVGRwsLCGrocAMANuHr1qo4ePapOnTopJCSkoctBHavp77e279+cuQEAAFYh3AAAYLkJEyZUedZM5TZhwoSGLq/OcUExAACWmzdvnqZNm1btPhsvzyDcAABguTZt2qhNmzYNXUa94WMpAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAOAjOnbsqIULFzZ0GY0e4QYAAAt17NhRDodDq1evrrKvW7ducjgcWr58eZV9WVlZ8vf31/z586vsW758uRwOR5WtsX0NBuEGAABLxcTEaNmyZR5tn3/+uVwul5o2bVrtmOzsbP3qV79SdnZ2tfvDwsJ05swZj+348eN1XvutINwAAHyfMVLppYbZavn90++8846io6NVUVHh0T548GCNHTtWX3/9tQYPHqyoqCg1a9ZMffr00UcffXRLy5KZmalt27bp5MmT7rbs7GxlZmZW+43f27Zt05UrVzRv3jwVFxdrx44dVfo4HA45nU6PLSoq6pbqrGs8oRgA4PvKLksvRzfMsZ87LQVVfxbkH/385z/X5MmT9fHHHyslJUWSdP78eW3evFmbNm3SxYsX9cADD+ill15ScHCwVqxYoUGDBunIkSOKjY29qdKioqKUlpam3//+95o1a5YuX76sNWvWaNu2bVqxYkWV/kuXLlVGRoYCAwOVkZGhpUuXql+/fjd17IbEmRsAAOpBixYtdP/992vVqlXutnXr1qlVq1a699571bNnTz3xxBPq3r274uLi9OKLL6pz58768MMPb+m4Y8eO1fLly2WM0bp169S5c2clJCRU6VdcXKx169Zp+PDhkqThw4frD3/4gy5evOjRr6ioqMqXb95///23VGNd48wNAMD3BTb5/gxKQx27ljIzM/X444/rrbfeUnBwsFauXKnHHntMfn5+unjxon79619r48aNOnPmjK5du6YrV67oxIkTt1TewIED9cQTT+iTTz5Rdna2xo4dW22/9957T507d1bPnj0lSQkJCerQoYPWrFmjcePGufs1b95ce/fu9RgbGhp6SzXWNcINAMD3ORy1+miooQ0aNEjGGG3cuFF9+vTR9u3b9dprr0mSpk2bpi1btmjBggXq0qWLQkNDNXToUJWWlt7S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X1sjff9R1H333ae0tDTNnz/ffSx/f/9aha5K3C0FAIDvqe37t1cuKJaklStXatKkSUpJSZGfn5/S09P1+uuvu/eXlZXpyJEjunz5srvttddec/ctKSlRWlqa3nrrLff+devW6ezZs3r33Xf17rvvuts7dOigY8eOeWsqAADAh3jtzE1jxpkbAAB8T4M+5wYAAKChEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKt4LdycP39emZmZCgsLU0REhMaNG6eLFy/WOObq1auaOHGiWrZsqWbNmik9PV35+fnV9v3222/Vvn17ORwOFRYWemEGAADAF3kt3GRmZurAgQPasmWLNmzYoE8++UTjx4+vccwvf/lL/fGPf9TatWu1bds2nT59Wo888ki1fceNG6ef/OQn3igdAAD4MIcxxtT1ix46dEh33XWXdu/erd69e0uSNm/erAceeEDffPONoqOjq4wpKipS69attWrVKg0dOlSSdPjwYXXt2lW5ubnq27evu+/bb7+tNWvWaM6cOUpJSdF3332niIiIWtdXXFys8PBwFRUVKSws7NYmCwAA6kVt37+9cuYmNzdXERER7mAjSampqfLz89POnTurHZOXl6eysjKlpqa62+Lj4xUbG6vc3Fx328GDBzVv3jytWLFCfn61K7+kpETFxcUeGwAAsJNXwo3L5VKbNm082gICAhQZGSmXy3XdMUFBQVXOwERFRbnHlJSUKCMjQ/Pnz1dsbGyt68nKylJ4eLh7i4mJubEJAQAAn3FD4WbGjBlyOBw1bocPH/ZW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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "metrics" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 383 + }, + "id": "qZ0XV5e2jYXR", + "outputId": "ce1b9f10-d929-4db9-ace9-4c2801731f3b" + }, + "execution_count": 42, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " epoch step train_MAE train_RMSE train_Total_Loss val_MAE val_RMSE \\\n", + "0 0 140 NaN NaN NaN NaN NaN \n", + "1 0 140 NaN NaN NaN NaN NaN \n", + "2 1 281 NaN NaN NaN NaN NaN \n", + "3 1 281 NaN NaN NaN NaN NaN \n", + "4 2 422 NaN NaN NaN NaN NaN \n", + "5 2 422 NaN NaN NaN NaN NaN \n", + "6 3 563 NaN NaN NaN NaN NaN \n", + "7 3 563 NaN NaN NaN NaN NaN \n", + "8 4 704 NaN NaN NaN NaN NaN \n", + "9 4 704 NaN NaN NaN NaN NaN \n", + "\n", + " val_Total_Loss \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN " + ], + "text/html": [ + "\n", + " <div id=\"df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>epoch</th>\n", + " <th>step</th>\n", + " <th>train_MAE</th>\n", + " <th>train_RMSE</th>\n", + " <th>train_Total_Loss</th>\n", + " <th>val_MAE</th>\n", + " <th>val_RMSE</th>\n", + " <th>val_Total_Loss</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>140</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0</td>\n", + " <td>140</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>1</td>\n", + " <td>281</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>1</td>\n", + " <td>281</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>2</td>\n", + " <td>422</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>2</td>\n", + " <td>422</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>3</td>\n", + " <td>563</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>3</td>\n", + " <td>563</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>4</td>\n", + " <td>704</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>4</td>\n", + " <td>704</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02 button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170 button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " <div id=\"id_b784e831-0f56-432a-aa7e-2249f5c19941\">\n", + " <style>\n", + " .colab-df-generate {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-generate:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-generate {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-generate:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + " <button class=\"colab-df-generate\" onclick=\"generateWithVariable('metrics')\"\n", + " title=\"Generate code using this dataframe.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", + " </svg>\n", + " </button>\n", + " <script>\n", + " (() => {\n", + " const buttonEl =\n", + " document.querySelector('#id_b784e831-0f56-432a-aa7e-2249f5c19941 button.colab-df-generate');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " buttonEl.onclick = () => {\n", + " google.colab.notebook.generateWithVariable('metrics');\n", + " }\n", + " })();\n", + " </script>\n", + " </div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "metrics", + "summary": "{\n \"name\": \"metrics\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"epoch\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 0,\n \"max\": 4,\n \"num_unique_values\": 5,\n \"samples\": [\n 1,\n 4,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"step\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 210,\n \"min\": 140,\n \"max\": 704,\n \"num_unique_values\": 5,\n \"samples\": [\n 281,\n 704,\n 422\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_MAE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_RMSE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_Total_Loss\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_MAE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_RMSE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_Total_Loss\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 42 + } + ] + }, + { + "cell_type": "code", + "source": [ + "i=0\n", + "prediction=np.zeros(len(test_data))\n", + "for i in range(len(structures_test)):\n", + " prediction[i]=model.predict_structure(structures_test[i])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 + }, + "id": "XUzf_WX5jZb5", + "outputId": "be203ece-03f9-43e1-d66d-3f2213753479" + }, + "execution_count": 43, + "outputs": [ + { + "output_type": "error", + "ename": "NameError", + "evalue": "name 'structures_test' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m<ipython-input-43-2431dbd08dbf>\u001b[0m in \u001b[0;36m<cell line: 3>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mprediction\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstructures_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mprediction\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict_structure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstructures_test\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'structures_test' is not defined" + ] + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "txs3tg93kQfr" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/Workshop3/.ipynb_checkpoints/molcal-checkpoint.ipynb b/Workshop3/.ipynb_checkpoints/molcal-checkpoint.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..a6e031d2e5744017b71d6711507fc5d8368996a3 --- /dev/null +++ b/Workshop3/.ipynb_checkpoints/molcal-checkpoint.ipynb @@ -0,0 +1,4004 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "f7321d7b1b9a4dbe905092f388240f23": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_79500fbf2f93417796e265786cb54a43", + "IPY_MODEL_b755785fab01467cb5989d11385e716c", + "IPY_MODEL_c26f6b42e3f348f2a4e161765d99042e" + ], + "layout": "IPY_MODEL_d7150457f96049c88b5a7e2604670830" + } + }, + "79500fbf2f93417796e265786cb54a43": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_49a1ca9a00214ab8bf626d1d16f64c75", + "placeholder": "​", + "style": "IPY_MODEL_ff6205ce16e447368fe2f232db393de0", + "value": "Sanity Checking DataLoader 0: 100%" + } + }, + "b755785fab01467cb5989d11385e716c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5ecf53db53174e2c86358541bc4f1a2b", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_db1985753e164a188e96db0188528d22", + "value": 2 + } + }, + "c26f6b42e3f348f2a4e161765d99042e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_14ad15cdf67047879b38fcb976c793a7", + "placeholder": "​", + "style": "IPY_MODEL_690367a2eeee4bb9bedc20effdc450b3", + "value": " 2/2 [00:00<00:00,  4.32it/s]" + } + }, + "d7150457f96049c88b5a7e2604670830": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "49a1ca9a00214ab8bf626d1d16f64c75": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ff6205ce16e447368fe2f232db393de0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5ecf53db53174e2c86358541bc4f1a2b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "db1985753e164a188e96db0188528d22": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "14ad15cdf67047879b38fcb976c793a7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "690367a2eeee4bb9bedc20effdc450b3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "56705796817d43028c6eddfefc18336f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_d80bf4bdb76149b68e674b2ee649626c", + "IPY_MODEL_867bb34bd9534aa39c85c07fe3f92f4e", + "IPY_MODEL_dffbbe151dd34200beff08eafd98a380" + ], + "layout": "IPY_MODEL_f0507d80a2c74d53b4963130af706fb8" + } + }, + "d80bf4bdb76149b68e674b2ee649626c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_79fcd95516f44348a313203b209e0dbb", + "placeholder": "​", + "style": "IPY_MODEL_5393fa5795634e8ba5603785421b4b7e", + "value": "Epoch 4: 100%" + } + }, + "867bb34bd9534aa39c85c07fe3f92f4e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_629aa27bc05e4b6890c0457d57175e57", + "max": 218, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_39c9bef36079445199e8b9b4c310a207", + "value": 218 + } + }, + "dffbbe151dd34200beff08eafd98a380": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2abee34399b5404f8aa2d13ca1f8a0a1", + "placeholder": "​", + "style": "IPY_MODEL_82c48b8ef01b462d9df631e9d172316b", + "value": " 218/218 [01:03<00:00,  3.43it/s, v_num=0, val_Total_Loss=0.0667, val_MAE=0.169, val_RMSE=0.251, train_Total_Loss=0.0663, train_MAE=0.169, train_RMSE=0.251]" + } + }, + "f0507d80a2c74d53b4963130af706fb8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "100%" + } + }, + "79fcd95516f44348a313203b209e0dbb": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5393fa5795634e8ba5603785421b4b7e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "629aa27bc05e4b6890c0457d57175e57": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "39c9bef36079445199e8b9b4c310a207": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2abee34399b5404f8aa2d13ca1f8a0a1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "82c48b8ef01b462d9df631e9d172316b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "73653ee65cde4122ba0268dabc34f827": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_b96935fe7dea45859703dcd49a3b1f52", + "IPY_MODEL_d94c1dbd52b44ae9b9e565e44f691e05", + "IPY_MODEL_a2ae7f36742049ab9980e60fc1014d86" + ], + "layout": "IPY_MODEL_bb160cdca74641a088df5ba8445517cc" + } + }, + "b96935fe7dea45859703dcd49a3b1f52": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_02b5bd9111e14cc2acb3ca61bbd7878d", + "placeholder": "​", + "style": "IPY_MODEL_cb9e5e4447c64dcc950f0f9b6f64eacd", + "value": "Validation DataLoader 0: 100%" + } + }, + "d94c1dbd52b44ae9b9e565e44f691e05": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_02f73d2307e0464aadeb4e728ea98f6b", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_df300bb1205d4ccf90ade86c1197a971", + "value": 73 + } + }, + "a2ae7f36742049ab9980e60fc1014d86": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2a15f542acf8406b890f4b1d4063446a", + "placeholder": "​", + "style": "IPY_MODEL_c45569e490c74ca996fee25f8bd31cdf", + "value": " 73/73 [00:09<00:00,  7.85it/s]" + } + }, + "bb160cdca74641a088df5ba8445517cc": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "02b5bd9111e14cc2acb3ca61bbd7878d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cb9e5e4447c64dcc950f0f9b6f64eacd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "02f73d2307e0464aadeb4e728ea98f6b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "df300bb1205d4ccf90ade86c1197a971": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2a15f542acf8406b890f4b1d4063446a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c45569e490c74ca996fee25f8bd31cdf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d79c6b456ffb4289921288199c1a5e93": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_74559eacbf754aec8abd39be4ce5948b", + "IPY_MODEL_3d9ca4d6a78b4be388d47a2c26a2d534", + "IPY_MODEL_1abde559f901468aa22132e3e7ded2c6" + ], + "layout": "IPY_MODEL_589dc33928254b279a9561a9f0e1edd2" + } + }, + "74559eacbf754aec8abd39be4ce5948b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_543ce0246d5d4f26b149f57170032644", + "placeholder": "​", + "style": "IPY_MODEL_68c82105b3f04b00bdbb4b7bc31d0db5", + "value": "Validation DataLoader 0: 100%" + } + }, + "3d9ca4d6a78b4be388d47a2c26a2d534": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a2b86afdb6fd4447abd6a782ec961e7b", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3bcbe7eb46c1470d91c137937ca29cb6", + "value": 73 + } + }, + "1abde559f901468aa22132e3e7ded2c6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f7255b3f29b740339a4bfa0419d46114", + "placeholder": "​", + "style": "IPY_MODEL_66b0e7e3d46248c3b6fed1687ec424ac", + "value": " 73/73 [00:09<00:00,  7.64it/s]" + } + }, + "589dc33928254b279a9561a9f0e1edd2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "543ce0246d5d4f26b149f57170032644": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "68c82105b3f04b00bdbb4b7bc31d0db5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a2b86afdb6fd4447abd6a782ec961e7b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3bcbe7eb46c1470d91c137937ca29cb6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f7255b3f29b740339a4bfa0419d46114": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "66b0e7e3d46248c3b6fed1687ec424ac": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3b8db07a150a4f058a540e5d584a981c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c51ffc590efd48988bc043157000c46d", + "IPY_MODEL_0bc1b357649b490696dc0498590c2253", + "IPY_MODEL_b8ed08a8827440e5944221ee4e577a22" + ], + "layout": "IPY_MODEL_9bf98247ac654ced921ccb3f59029f46" + } + }, + "c51ffc590efd48988bc043157000c46d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4abf302ed171414e9a4204d72e84af21", + "placeholder": "​", + "style": "IPY_MODEL_1dc96decbde849fc9750042eabc26918", + "value": "Validation DataLoader 0: 100%" + } + }, + "0bc1b357649b490696dc0498590c2253": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ef2d223473fd466e83ea73541e50b114", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9f3e170ad77d494785fb4a1827472873", + "value": 73 + } + }, + "b8ed08a8827440e5944221ee4e577a22": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cbd1497f4a404b649052068a93025e31", + "placeholder": "​", + "style": "IPY_MODEL_0b7acd53e36347b38de1e31a244bd484", + "value": " 73/73 [00:09<00:00,  7.69it/s]" + } + }, + "9bf98247ac654ced921ccb3f59029f46": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "4abf302ed171414e9a4204d72e84af21": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1dc96decbde849fc9750042eabc26918": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ef2d223473fd466e83ea73541e50b114": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9f3e170ad77d494785fb4a1827472873": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "cbd1497f4a404b649052068a93025e31": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0b7acd53e36347b38de1e31a244bd484": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8f22afc4e41a45f28fb1c81f37c554fc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_629f5065fec04c039ce71a88aca28ac7", + "IPY_MODEL_3671f10fdae141cb9e0a47cc1db97210", + "IPY_MODEL_50f79d64fa0a4b94b24b5c7a06e0af12" + ], + "layout": "IPY_MODEL_4fd6b3e353ad4fb4af11ca5985e1bfe5" + } + }, + "629f5065fec04c039ce71a88aca28ac7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_693131233ec241bcb7ddbe8a8e1ff2e0", + "placeholder": "​", + "style": "IPY_MODEL_73eed7e431de45f091117115ed11dbe5", + "value": "Validation DataLoader 0: 100%" + } + }, + "3671f10fdae141cb9e0a47cc1db97210": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7b94ecf3158748728de903d980e18c38", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_43d879e9907b43f6a800861eae99e048", + "value": 73 + } + }, + "50f79d64fa0a4b94b24b5c7a06e0af12": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4f99d7a4c905449db8ed0f8061a485b8", + "placeholder": "​", + "style": "IPY_MODEL_d54dea38ba5449de89353102e31c9214", + "value": " 73/73 [00:08<00:00,  8.39it/s]" + } + }, + "4fd6b3e353ad4fb4af11ca5985e1bfe5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "693131233ec241bcb7ddbe8a8e1ff2e0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "73eed7e431de45f091117115ed11dbe5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7b94ecf3158748728de903d980e18c38": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "43d879e9907b43f6a800861eae99e048": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4f99d7a4c905449db8ed0f8061a485b8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d54dea38ba5449de89353102e31c9214": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "21db824539da4758a8aa5c6351949cc5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_73ae5b95afc24ba2bebdcdf077ec7c43", + "IPY_MODEL_7112ceeb185f424a95b08454ee688b18", + "IPY_MODEL_dd06ea396d3c4faeba71a50f77b75701" + ], + "layout": "IPY_MODEL_d5ab3316f9754baa80a985abfc27b64d" + } + }, + "73ae5b95afc24ba2bebdcdf077ec7c43": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0d2671b5646542419e45f1311d8993c3", + "placeholder": "​", + "style": "IPY_MODEL_df51d44724d64c0ca5c127afdf373ac7", + "value": "Validation DataLoader 0: 100%" + } + }, + "7112ceeb185f424a95b08454ee688b18": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2fd82da052dd482eab2679261b5c0f3f", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e5a739d5069f4e0db2cca257a96bf97a", + "value": 73 + } + }, + "dd06ea396d3c4faeba71a50f77b75701": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_00a869694a674b6c842722a59cb8da12", + "placeholder": "​", + "style": "IPY_MODEL_8dd15ab4f07246a2b263fdf29c1656f9", + "value": " 73/73 [00:11<00:00,  6.63it/s]" + } + }, + "d5ab3316f9754baa80a985abfc27b64d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "0d2671b5646542419e45f1311d8993c3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "df51d44724d64c0ca5c127afdf373ac7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2fd82da052dd482eab2679261b5c0f3f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e5a739d5069f4e0db2cca257a96bf97a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "00a869694a674b6c842722a59cb8da12": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8dd15ab4f07246a2b263fdf29c1656f9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "bV_P-WaWFxQo", + "outputId": "9d4c2445-eaca-4197-a56d-5180a554564f" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting jarvis-tools\n", + " Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl.metadata (3.1 kB)\n", + "Requirement already satisfied: numpy>=1.20.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.26.4)\n", + "Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.13.1)\n", + "Requirement already satisfied: matplotlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (3.8.0)\n", + "Requirement already satisfied: joblib>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.4.2)\n", + "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (2.32.3)\n", + "Requirement already satisfied: toolz>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (0.12.1)\n", + "Collecting xmltodict>=0.11.0 (from jarvis-tools)\n", + " Downloading xmltodict-0.14.2-py2.py3-none-any.whl.metadata (8.0 kB)\n", + "Requirement already satisfied: tqdm>=4.41.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (4.66.6)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.5.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (2.8.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2024.8.30)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->jarvis-tools) (3.5.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.0.0->jarvis-tools) (1.16.0)\n", + "Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl (4.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m19.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading xmltodict-0.14.2-py2.py3-none-any.whl (10.0 kB)\n", + "Installing collected packages: xmltodict, jarvis-tools\n", + "Successfully installed jarvis-tools-2024.10.10 xmltodict-0.14.2\n" + ] + } + ], + "source": [ + "!pip install jarvis-tools" + ] + }, + { + "cell_type": "code", + "source": [ + " !pip3 install pymatgen" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "q-pMYyCvF4Cq", + "outputId": "ccf55b22-b816-4581-e1d6-13d8e2a9cdee" + }, + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting pymatgen\n", + " Downloading pymatgen-2024.10.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.4.2)\n", + "Requirement already satisfied: matplotlib>=3.8 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.8.0)\n", + "Collecting monty>=2024.7.29 (from pymatgen)\n", + " Downloading monty-2024.10.21-py3-none-any.whl.metadata (3.6 kB)\n", + "Requirement already satisfied: networkx>=3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.4.2)\n", + "Collecting palettable>=3.3.3 (from pymatgen)\n", + " Downloading palettable-3.3.3-py2.py3-none-any.whl.metadata (3.3 kB)\n", + "Requirement already satisfied: pandas>=2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.2.2)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (5.24.1)\n", + "Collecting pybtex>=0.24.0 (from pymatgen)\n", + " Downloading pybtex-0.24.0-py2.py3-none-any.whl.metadata (2.0 kB)\n", + "Requirement already satisfied: requests>=2.32 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.32.3)\n", + "Collecting ruamel.yaml>=0.17.0 (from pymatgen)\n", + " Downloading ruamel.yaml-0.18.6-py3-none-any.whl.metadata (23 kB)\n", + "Requirement already satisfied: scipy>=1.13.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Collecting spglib>=2.5.0 (from pymatgen)\n", + " Downloading spglib-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)\n", + "Requirement already satisfied: sympy>=1.2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.9.0)\n", + "Requirement already satisfied: tqdm>=4.60 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (4.66.6)\n", + "Collecting uncertainties>=3.1.4 (from pymatgen)\n", + " Downloading uncertainties-3.2.2-py3-none-any.whl.metadata (6.9 kB)\n", + "Requirement already satisfied: numpy<3,>=1.25.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.26.4)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen) (9.0.0)\n", + "Requirement already satisfied: PyYAML>=3.01 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (6.0.2)\n", + "Collecting latexcodec>=1.0.4 (from pybtex>=0.24.0->pymatgen)\n", + " Downloading latexcodec-3.0.0-py3-none-any.whl.metadata (4.9 kB)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2024.8.30)\n", + "Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml>=0.17.0->pymatgen)\n", + " Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy>=1.2->pymatgen) (1.3.0)\n", + "Downloading pymatgen-2024.10.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.9/4.9 MB\u001b[0m \u001b[31m35.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading monty-2024.10.21-py3-none-any.whl (68 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m68.5/68.5 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading palettable-3.3.3-py2.py3-none-any.whl (332 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m332.3/332.3 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pybtex-0.24.0-py2.py3-none-any.whl (561 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m561.4/561.4 kB\u001b[0m \u001b[31m21.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ruamel.yaml-0.18.6-py3-none-any.whl (117 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m117.8/117.8 kB\u001b[0m \u001b[31m6.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading spglib-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m35.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading uncertainties-3.2.2-py3-none-any.whl (58 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading latexcodec-3.0.0-py3-none-any.whl (18 kB)\n", + "Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m722.2/722.2 kB\u001b[0m \u001b[31m32.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: uncertainties, spglib, ruamel.yaml.clib, palettable, latexcodec, ruamel.yaml, pybtex, monty, pymatgen\n", + "Successfully installed latexcodec-3.0.0 monty-2024.10.21 palettable-3.3.3 pybtex-0.24.0 pymatgen-2024.10.29 ruamel.yaml-0.18.6 ruamel.yaml.clib-0.2.12 spglib-2.5.0 uncertainties-3.2.2\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + " !pip install dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "510ELKTMF9Yu", + "outputId": "663be47b-f545-4f7b-ca73-d9cafaba2115" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in links: https://data.dgl.ai/wheels/torch-2.1/repo.html\n", + "Collecting dgl\n", + " Downloading https://data.dgl.ai/wheels/torch-2.1/dgl-2.4.0-cp310-cp310-manylinux1_x86_64.whl (7.8 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m7.8/7.8 MB\u001b[0m \u001b[31m17.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (5.9.5)\n", + "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.9.2)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl) (4.66.6)\n", + "Collecting torch<=2.4.0 (from dgl)\n", + " Downloading torch-2.4.0-cp310-cp310-manylinux1_x86_64.whl.metadata (26 kB)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2024.8.30)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2024.10.0)\n", + "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cublas-cu12==12.1.3.1 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cufft-cu12==11.0.2.54 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-curand-cu12==10.3.2.106 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-nccl-cu12==2.20.5 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "Collecting nvidia-nvtx-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n", + "Collecting triton==3.0.0 (from torch<=2.4.0->dgl)\n", + " Downloading triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<=2.4.0->dgl) (12.6.77)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->dgl) (1.16.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch<=2.4.0->dgl) (3.0.2)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch<=2.4.0->dgl) (1.3.0)\n", + "Downloading torch-2.4.0-cp310-cp310-manylinux1_x86_64.whl (797.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m797.2/797.2 MB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m410.6/410.6 MB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m14.1/14.1 MB\u001b[0m \u001b[31m86.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m23.7/23.7 MB\u001b[0m \u001b[31m66.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m823.6/823.6 kB\u001b[0m \u001b[31m38.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m121.6/121.6 MB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m56.5/56.5 MB\u001b[0m \u001b[31m11.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m124.2/124.2 MB\u001b[0m \u001b[31m7.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m196.0/196.0 MB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m176.2/176.2 MB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m99.1/99.1 kB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m209.4/209.4 MB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: triton, nvidia-nvtx-cu12, nvidia-nccl-cu12, nvidia-cusparse-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, nvidia-cusolver-cu12, nvidia-cudnn-cu12, torch, dgl\n", + " Attempting uninstall: nvidia-nccl-cu12\n", + " Found existing installation: nvidia-nccl-cu12 2.23.4\n", + " Uninstalling nvidia-nccl-cu12-2.23.4:\n", + " Successfully uninstalled nvidia-nccl-cu12-2.23.4\n", + " Attempting uninstall: nvidia-cusparse-cu12\n", + " Found existing installation: nvidia-cusparse-cu12 12.5.4.2\n", + " Uninstalling nvidia-cusparse-cu12-12.5.4.2:\n", + " Successfully uninstalled nvidia-cusparse-cu12-12.5.4.2\n", + " Attempting uninstall: nvidia-curand-cu12\n", + " Found existing installation: nvidia-curand-cu12 10.3.7.77\n", + " Uninstalling nvidia-curand-cu12-10.3.7.77:\n", + " Successfully uninstalled nvidia-curand-cu12-10.3.7.77\n", + " Attempting uninstall: nvidia-cufft-cu12\n", + " Found existing installation: nvidia-cufft-cu12 11.3.0.4\n", + " Uninstalling nvidia-cufft-cu12-11.3.0.4:\n", + " Successfully uninstalled nvidia-cufft-cu12-11.3.0.4\n", + " Attempting uninstall: nvidia-cuda-runtime-cu12\n", + " Found existing installation: nvidia-cuda-runtime-cu12 12.6.77\n", + " Uninstalling nvidia-cuda-runtime-cu12-12.6.77:\n", + " Successfully uninstalled nvidia-cuda-runtime-cu12-12.6.77\n", + " Attempting uninstall: nvidia-cuda-cupti-cu12\n", + " Found existing installation: nvidia-cuda-cupti-cu12 12.6.80\n", + " Uninstalling nvidia-cuda-cupti-cu12-12.6.80:\n", + " Successfully uninstalled nvidia-cuda-cupti-cu12-12.6.80\n", + " Attempting uninstall: nvidia-cublas-cu12\n", + " Found existing installation: nvidia-cublas-cu12 12.6.3.3\n", + " Uninstalling nvidia-cublas-cu12-12.6.3.3:\n", + " Successfully uninstalled nvidia-cublas-cu12-12.6.3.3\n", + " Attempting uninstall: nvidia-cusolver-cu12\n", + " Found existing installation: nvidia-cusolver-cu12 11.7.1.2\n", + " Uninstalling nvidia-cusolver-cu12-11.7.1.2:\n", + " Successfully uninstalled nvidia-cusolver-cu12-11.7.1.2\n", + " Attempting uninstall: nvidia-cudnn-cu12\n", + " Found existing installation: nvidia-cudnn-cu12 9.5.1.17\n", + " Uninstalling nvidia-cudnn-cu12-9.5.1.17:\n", + " Successfully uninstalled nvidia-cudnn-cu12-9.5.1.17\n", + " Attempting uninstall: torch\n", + " Found existing installation: torch 2.5.0+cu121\n", + " Uninstalling torch-2.5.0+cu121:\n", + " Successfully uninstalled torch-2.5.0+cu121\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "torchaudio 2.5.0+cu121 requires torch==2.5.0, but you have torch 2.4.0 which is incompatible.\n", + "torchvision 0.20.0+cu121 requires torch==2.5.0, but you have torch 2.4.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed dgl-2.4.0 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvtx-cu12-12.1.105 torch-2.4.0 triton-3.0.0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + " !pip3 install matgl" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "saZDgwpVGAgq", + "outputId": "a16f7d96-a80b-4e72-ac6b-c68a9072455b" + }, + "execution_count": 4, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting matgl\n", + " Downloading matgl-1.1.3-py3-none-any.whl.metadata (16 kB)\n", + "Collecting ase (from matgl)\n", + " Downloading ase-3.23.0-py3-none-any.whl.metadata (3.8 kB)\n", + "Requirement already satisfied: dgl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (from matgl) (2024.10.29)\n", + "Collecting lightning (from matgl)\n", + " Downloading lightning-2.4.0-py3-none-any.whl.metadata (38 kB)\n", + "Requirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pydantic in /usr/local/lib/python3.10/dist-packages (from matgl) (2.9.2)\n", + "Collecting torchdata<0.8.0 (from matgl)\n", + " Downloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", + "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (5.9.5)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (4.66.6)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (4.12.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2024.10.0)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2.20.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.0.0)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->matgl) (12.6.77)\n", + "Requirement already satisfied: urllib3>=1.25 in /usr/local/lib/python3.10/dist-packages (from torchdata<0.8.0->matgl) (2.2.3)\n", + "Requirement already satisfied: matplotlib>=3.3.4 in /usr/local/lib/python3.10/dist-packages (from ase->matgl) (3.8.0)\n", + "Collecting lightning-utilities<2.0,>=0.10.0 (from lightning->matgl)\n", + " Downloading lightning_utilities-0.11.8-py3-none-any.whl.metadata (5.2 kB)\n", + "Collecting torchmetrics<3.0,>=0.7.0 (from lightning->matgl)\n", + " Downloading torchmetrics-1.5.1-py3-none-any.whl.metadata (20 kB)\n", + "Collecting pytorch-lightning (from lightning->matgl)\n", + " Downloading pytorch_lightning-2.4.0-py3-none-any.whl.metadata (21 kB)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (1.4.2)\n", + "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2024.10.21)\n", + "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.3.3)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (5.24.1)\n", + "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.24.0)\n", + "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.18.6)\n", + "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2.5.0)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.9.0)\n", + "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.2.2)\n", + "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (3.10.10)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from lightning-utilities<2.0,>=0.10.0->lightning->matgl) (75.1.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.4.7)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen->matgl) (9.0.0)\n", + "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (3.0.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (2024.8.30)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen->matgl) (0.2.12)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch->matgl) (1.3.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch->matgl) (3.0.2)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (2.4.3)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.3.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (24.2.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.5.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (6.1.0)\n", + "Requirement already satisfied: yarl<2.0,>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.17.0)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (4.0.3)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.12.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (0.2.0)\n", + "Downloading matgl-1.1.3-py3-none-any.whl (223 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m223.3/223.3 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m25.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ase-3.23.0-py3-none-any.whl (2.9 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m26.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning-2.4.0-py3-none-any.whl (810 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m811.0/811.0 kB\u001b[0m \u001b[31m30.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning_utilities-0.11.8-py3-none-any.whl (26 kB)\n", + "Downloading torchmetrics-1.5.1-py3-none-any.whl (890 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m890.6/890.6 kB\u001b[0m \u001b[31m28.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytorch_lightning-2.4.0-py3-none-any.whl (815 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m815.2/815.2 kB\u001b[0m \u001b[31m27.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: lightning-utilities, ase, torchmetrics, torchdata, pytorch-lightning, lightning, matgl\n", + "Successfully installed ase-3.23.0 lightning-2.4.0 lightning-utilities-0.11.8 matgl-1.1.3 pytorch-lightning-2.4.0 torchdata-0.7.1 torchmetrics-1.5.1\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "import shutil\n", + "import warnings\n", + "import zipfile\n", + "import matgl\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import pytorch_lightning as pl\n", + "import torch\n", + "import pickle\n", + "import numpy as np\n", + "from dgl.data.utils import split_dataset\n", + "from pymatgen.core import Structure\n", + "from pytorch_lightning.loggers import CSVLogger\n", + "from lightning.pytorch import Trainer\n", + "from tqdm import tqdm\n", + "\n", + "from matgl.ext.pymatgen import Structure2Graph, get_element_list\n", + "from matgl.graph.data import MGLDataset, MGLDataLoader #collate_fn. - shivani i don't think you need this as num_workers=0\n", + "from matgl.layers import BondExpansion\n", + "from matgl.models import MEGNet\n", + "from matgl.utils.io import RemoteFile\n", + "from matgl.utils.training import ModelLightningModule\n", + "\n", + "# To suppress warnings for clearer output\n", + "warnings.simplefilter(\"ignore\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uHFBr-yJGC8G", + "outputId": "74eed14d-d004-4666-95f5-57d3411d045c" + }, + "execution_count": 5, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "DGL backend not selected or invalid. Assuming PyTorch for now.\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Setting the default backend to \"pytorch\". You can change it in the ~/.dgl/config.json file or export the DGLBACKEND environment variable. Valid options are: pytorch, mxnet, tensorflow (all lowercase)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from jarvis.db.figshare import data\n", + "\n", + "dft_3d = data('dft_3d')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WfEpSLibGHh2", + "outputId": "1e900a8f-9920-4d5c-fb25-cd459c23ead3" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Obtaining 3D dataset 76k ...\n", + "Reference:https://www.nature.com/articles/s41524-020-00440-1\n", + "Other versions:https://doi.org/10.6084/m9.figshare.6815699\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 40.8M/40.8M [00:02<00:00, 20.0MiB/s]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Loading the zipfile...\n", + "Loading completed.\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "dft_3d[0].keys()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2wNH5_F6GM_E", + "outputId": "9f14897d-e01c-4f12-f504-e06724d18eb2" + }, + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "dict_keys(['jid', 'spg_number', 'spg_symbol', 'formula', 'formation_energy_peratom', 'func', 'optb88vdw_bandgap', 'atoms', 'slme', 'magmom_oszicar', 'spillage', 'elastic_tensor', 'effective_masses_300K', 'kpoint_length_unit', 'maxdiff_mesh', 'maxdiff_bz', 'encut', 'optb88vdw_total_energy', 'epsx', 'epsy', 'epsz', 'mepsx', 'mepsy', 'mepsz', 'modes', 'magmom_outcar', 'max_efg', 'avg_elec_mass', 'avg_hole_mass', 'icsd', 'dfpt_piezo_max_eij', 'dfpt_piezo_max_dij', 'dfpt_piezo_max_dielectric', 'dfpt_piezo_max_dielectric_electronic', 'dfpt_piezo_max_dielectric_ionic', 'max_ir_mode', 'min_ir_mode', 'n-Seebeck', 'p-Seebeck', 'n-powerfact', 'p-powerfact', 'ncond', 'pcond', 'nkappa', 'pkappa', 'ehull', 'Tc_supercon', 'dimensionality', 'efg', 'xml_data_link', 'typ', 'exfoliation_energy', 'spg', 'crys', 'density', 'poisson', 'raw_files', 'nat', 'bulk_modulus_kv', 'shear_modulus_gv', 'mbj_bandgap', 'hse_gap', 'reference', 'search'])" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "code", + "source": [ + " ## Let's make a dataframe from this:\n", + "import pandas as pd\n", + "import numpy as np" + ], + "metadata": { + "id": "6HEIHJvTGPDs" + }, + "execution_count": 8, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df=pd.DataFrame(dft_3d)\n", + "df.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 429 + }, + "id": "RT5c9__tGRKC", + "outputId": "ca6651ee-1d6d-4930-ff8d-aa88babf8e08" + }, + "execution_count": 9, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " jid spg_number spg_symbol formula formation_energy_peratom \\\n", + "0 JVASP-90856 129 P4/nmm TiCuSiAs -0.42762 \n", + "1 JVASP-86097 221 Pm-3m DyB6 -0.41596 \n", + "2 JVASP-64906 119 I-4m2 Be2OsRu 0.04847 \n", + "3 JVASP-98225 14 P2_1/c KBi -0.44140 \n", + "4 JVASP-10 164 P-3m1 VSe2 -0.71026 \n", + "\n", + " func optb88vdw_bandgap \\\n", + "0 OptB88vdW 0.000 \n", + "1 OptB88vdW 0.000 \n", + "2 OptB88vdW 0.000 \n", + "3 OptB88vdW 0.472 \n", + "4 OptB88vdW 0.000 \n", + "\n", + " atoms slme magmom_oszicar ... \\\n", + "0 {'lattice_mat': [[3.566933224304235, 0.0, -0.0... na 0.0 ... \n", + "1 {'lattice_mat': [[4.089078911208881, 0.0, 0.0]... na 0.0 ... \n", + "2 {'lattice_mat': [[-1.833590720595598, 1.833590... na 0.0 ... \n", + "3 {'lattice_mat': [[7.2963518353359165, 0.0, 0.0... na 0.0 ... \n", + "4 {'lattice_mat': [[1.6777483798834445, -2.90594... na 0.0 ... \n", + "\n", + " density poisson raw_files nat \\\n", + "0 5.956 na [] 8 \n", + "1 5.522 na [OPT-LOPTICS,JVASP-86097.zip,https://ndownload... 7 \n", + "2 10.960 na [OPT-LOPTICS,JVASP-64906.zip,https://ndownload... 4 \n", + "3 5.145 na [] 32 \n", + "4 5.718 0.23 [FD-ELAST,JVASP-10.zip,https://ndownloader.fig... 3 \n", + "\n", + " bulk_modulus_kv shear_modulus_gv mbj_bandgap hse_gap \\\n", + "0 na na na na \n", + "1 na na na na \n", + "2 na na na na \n", + "3 na na na na \n", + "4 48.79 33.05 0.0 na \n", + "\n", + " reference search \n", + "0 mp-1080455 -As-Cu-Si-Ti \n", + "1 mp-568319 -B-Dy \n", + "2 auid-3eaf68dd483bf4f4 -Be-Os-Ru \n", + "3 mp-31104 -Bi-K \n", + "4 mp-694 -Se-V \n", + "\n", + "[5 rows x 64 columns]" + ], + "text/html": [ + "\n", + " <div id=\"df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>jid</th>\n", + " <th>spg_number</th>\n", + " <th>spg_symbol</th>\n", + " <th>formula</th>\n", + " <th>formation_energy_peratom</th>\n", + " <th>func</th>\n", + " <th>optb88vdw_bandgap</th>\n", + " <th>atoms</th>\n", + " <th>slme</th>\n", + " <th>magmom_oszicar</th>\n", + " <th>...</th>\n", + " <th>density</th>\n", + " <th>poisson</th>\n", + " <th>raw_files</th>\n", + " <th>nat</th>\n", + " <th>bulk_modulus_kv</th>\n", + " <th>shear_modulus_gv</th>\n", + " <th>mbj_bandgap</th>\n", + " <th>hse_gap</th>\n", + " <th>reference</th>\n", + " <th>search</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>JVASP-90856</td>\n", + " <td>129</td>\n", + " <td>P4/nmm</td>\n", + " <td>TiCuSiAs</td>\n", + " <td>-0.42762</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[3.566933224304235, 0.0, -0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.956</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>8</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-1080455</td>\n", + " <td>-As-Cu-Si-Ti</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>JVASP-86097</td>\n", + " <td>221</td>\n", + " <td>Pm-3m</td>\n", + " <td>DyB6</td>\n", + " <td>-0.41596</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[4.089078911208881, 0.0, 0.0]...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.522</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-86097.zip,https://ndownload...</td>\n", + " <td>7</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-568319</td>\n", + " <td>-B-Dy</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>JVASP-64906</td>\n", + " <td>119</td>\n", + " <td>I-4m2</td>\n", + " <td>Be2OsRu</td>\n", + " <td>0.04847</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[-1.833590720595598, 1.833590...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>10.960</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-64906.zip,https://ndownload...</td>\n", + " <td>4</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>auid-3eaf68dd483bf4f4</td>\n", + " <td>-Be-Os-Ru</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>JVASP-98225</td>\n", + " <td>14</td>\n", + " <td>P2_1/c</td>\n", + " <td>KBi</td>\n", + " <td>-0.44140</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.472</td>\n", + " <td>{'lattice_mat': [[7.2963518353359165, 0.0, 0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.145</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>32</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-31104</td>\n", + " <td>-Bi-K</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>JVASP-10</td>\n", + " <td>164</td>\n", + " <td>P-3m1</td>\n", + " <td>VSe2</td>\n", + " <td>-0.71026</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[1.6777483798834445, -2.90594...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.718</td>\n", + " <td>0.23</td>\n", + " <td>[FD-ELAST,JVASP-10.zip,https://ndownloader.fig...</td>\n", + " <td>3</td>\n", + " <td>48.79</td>\n", + " <td>33.05</td>\n", + " <td>0.0</td>\n", + " <td>na</td>\n", + " <td>mp-694</td>\n", + " <td>-Se-V</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>5 rows × 64 columns</p>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-66c438ee-b30e-48e1-808e-7b2da6583b0f\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-66c438ee-b30e-48e1-808e-7b2da6583b0f')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-66c438ee-b30e-48e1-808e-7b2da6583b0f button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df" + } + }, + "metadata": {}, + "execution_count": 9 + } + ] + }, + { + "cell_type": "code", + "source": [ + "## Count number of entries for each property\n", + "for i in df.columns.values:\n", + " val=df[i].replace('na',np.nan).dropna().values\n", + " print(i,len(val))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "FTsZSTDbGUbH", + "outputId": "3a024410-29ed-442a-c405-a90b5985da09" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "jid 75993\n", + "spg_number 75993\n", + "spg_symbol 75993\n", + "formula 75993\n", + "formation_energy_peratom 75993\n", + "func 75993\n", + "optb88vdw_bandgap 75993\n", + "atoms 75993\n", + "slme 9770\n", + "magmom_oszicar 71320\n", + "spillage 11377\n", + "elastic_tensor 25513\n", + "effective_masses_300K 75993\n", + "kpoint_length_unit 75671\n", + "maxdiff_mesh 5861\n", + "maxdiff_bz 5861\n", + "encut 75670\n", + "optb88vdw_total_energy 75993\n", + "epsx 52168\n", + "epsy 52168\n", + "epsz 52168\n", + "mepsx 18293\n", + "mepsy 18293\n", + "mepsz 18293\n", + "modes 13910\n", + "magmom_outcar 74261\n", + "max_efg 11871\n", + "avg_elec_mass 17645\n", + "avg_hole_mass 17645\n", + "icsd 75993\n", + "dfpt_piezo_max_eij 4799\n", + "dfpt_piezo_max_dij 3347\n", + "dfpt_piezo_max_dielectric 4706\n", + "dfpt_piezo_max_dielectric_electronic 4809\n", + "dfpt_piezo_max_dielectric_ionic 4809\n", + "max_ir_mode 4805\n", + "min_ir_mode 4809\n", + "n-Seebeck 23218\n", + "p-Seebeck 23218\n", + "n-powerfact 23218\n", + "p-powerfact 23218\n", + "ncond 23218\n", + "pcond 23218\n", + "nkappa 23218\n", + "pkappa 23218\n", + "ehull 75993\n", + "Tc_supercon 1058\n", + "dimensionality 75560\n", + "efg 75993\n", + "xml_data_link 75993\n", + "typ 75993\n", + "exfoliation_energy 813\n", + "spg 75993\n", + "crys 75993\n", + "density 75993\n", + "poisson 23597\n", + "raw_files 75993\n", + "nat 75993\n", + "bulk_modulus_kv 23824\n", + "shear_modulus_gv 23824\n", + "mbj_bandgap 19805\n", + "hse_gap 56\n", + "reference 75993\n", + "search 75993\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from jarvis.core.atoms import Atoms\n", + "bm=df[df.bulk_modulus_kv != 'na']\n", + "data = [(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter(), bm.iloc[i].bulk_modulus_kv) for i in range(len(bm))]" + ], + "metadata": { + "id": "rW4KEnICGVxE" + }, + "execution_count": 11, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import itertools\n", + "def get_stoichiometry(elements):\n", + " return [(g[0], len(list(g[1]))) for g in itertools.groupby(elements)]" + ], + "metadata": { + "id": "0gQUS5rQGaK5" + }, + "execution_count": 12, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + " ## Use all the material dataset for training the bulk modulus\n", + "from tqdm import tqdm\n", + "\n", + "stoichs=[] #stoichiometry\n", + "bulk=[] #only include positive bulk modulus\n", + "\n", + "for i in tqdm(range(len(bm))):\n", + " if (bm.iloc[i]['bulk_modulus_kv'])>1:\n", + " stoichs.append(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter())\n", + " bulk.append(bm.iloc[i]['bulk_modulus_kv'])\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YaMVVrguGe2s", + "outputId": "25dcd209-e980-4a20-c650-eb17046dda62" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 23824/23824 [00:36<00:00, 656.64it/s] \n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "data_ran=list(zip(stoichs,bulk))\n", + "#write out the dataset, to train later\n", + "import pickle\n", + "with open('data_ran.pickle', 'wb') as f:\n", + " pickle.dump(data_ran, f)" + ], + "metadata": { + "id": "0lxmfaHEHhs6" + }, + "execution_count": 18, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + " #read in the dataset\n", + "data_ran=pd.read_pickle('./data_ran.pickle')" + ], + "metadata": { + "id": "dz2y9oNGH-rO" + }, + "execution_count": 19, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import random\n", + "\n", + "random.shuffle(data_ran)\n", + "\n", + "structures=[d[0] for d in data_ran]\n", + "targets=np.log10([d[1] for d in data_ran])\n", + "\n", + "print(structures[0],targets[0])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "IllZhvMxHh0x", + "outputId": "9d8e5d95-ff3b-4b06-d674-ac15c663fe6e" + }, + "execution_count": 20, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Full Formula (Al2 O1)\n", + "Reduced Formula: Al2O\n", + "abc : 2.691974 2.821216 5.955222\n", + "angles: 90.000000 90.000000 90.000000\n", + "pbc : True True True\n", + "Sites (3)\n", + " # SP a b c\n", + "--- ---- --------- --- --------\n", + " 0 Al -0.033312 0 0.757299\n", + " 1 Al -0.033312 0 0.242701\n", + " 2 O 0.466623 0 0 1.757547853469244\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# get element types in the dataset\n", + "elem_list = get_element_list(structures)\n", + "# setup a graph converter\n", + "converter = Structure2Graph(element_types=elem_list, cutoff=4.0)\n", + "# convert the raw dataset into MEGNetDataset\n", + "mp_dataset = MGLDataset(\n", + " structures=structures,\n", + " labels={\"bulk_modulus_kv\": targets},\n", + " converter=converter,\n", + ")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gkBUklhmIeOb", + "outputId": "13cc0804-8a6b-4a18-9153-228fe781ab5b" + }, + "execution_count": 21, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 23173/23173 [00:47<00:00, 483.02it/s]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + " train_data, val_data, test_data = split_dataset(\n", + " mp_dataset,\n", + " frac_list=[0.6, 0.2, 0.2],\n", + " shuffle=True,\n", + " random_state=42,\n", + ")\n", + "train_loader, val_loader, test_loader = MGLDataLoader(\n", + " train_data=train_data,\n", + " val_data=val_data,\n", + " test_data=test_data,\n", + " batch_size=64,\n", + " num_workers=0,\n", + ")" + ], + "metadata": { + "id": "Tk7mjkwDIqOJ" + }, + "execution_count": 22, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# setup the embedding layer for node attributes\n", + "node_embed = torch.nn.Embedding(len(elem_list), 16)\n", + "# define the bond expansion\n", + "bond_expansion = BondExpansion(rbf_type=\"Gaussian\", initial=0.0, final=5.0, num_centers=100, width=0.5)\n", + "\n", + "# setup the architecture of MEGNet model\n", + "model = MEGNet(\n", + " dim_node_embedding=16,\n", + " dim_edge_embedding=100,\n", + " dim_state_embedding=2,\n", + " nblocks=3,\n", + " hidden_layer_sizes_input=(64, 32),\n", + " hidden_layer_sizes_conv=(64, 64, 32),\n", + " nlayers_set2set=1,\n", + " niters_set2set=2,\n", + " hidden_layer_sizes_output=(32, 16),\n", + " is_classification=False,\n", + " activation_type=\"softplus2\",\n", + " bond_expansion=bond_expansion,\n", + " #collate_fn=collate_fn, shivani - not needed now?\n", + " cutoff=4.0,\n", + " gauss_width=0.5,\n", + ")\n", + "\n", + "# setup the MEGNetTrainer\n", + "lit_module = ModelLightningModule(model=model)" + ], + "metadata": { + "id": "jREU_HYVIvoG" + }, + "execution_count": 23, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "logger = CSVLogger(\"logged\", name=\"MEGNet_training\")\n", + "trainer = Trainer(max_epochs=5, accelerator=\"cpu\", logger=logger) #set to SMALL NUMBER FOR TESTING, PLEASE CHANGE.\n", + "trainer.fit(model=lit_module, train_dataloaders=train_loader, val_dataloaders=val_loader)\n", + "\n", + "warnings.simplefilter(\"ignore\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 656, + "referenced_widgets": [ + "f7321d7b1b9a4dbe905092f388240f23", + "79500fbf2f93417796e265786cb54a43", + "b755785fab01467cb5989d11385e716c", + "c26f6b42e3f348f2a4e161765d99042e", + "d7150457f96049c88b5a7e2604670830", + "49a1ca9a00214ab8bf626d1d16f64c75", + "ff6205ce16e447368fe2f232db393de0", + "5ecf53db53174e2c86358541bc4f1a2b", + "db1985753e164a188e96db0188528d22", + "14ad15cdf67047879b38fcb976c793a7", + "690367a2eeee4bb9bedc20effdc450b3", + "56705796817d43028c6eddfefc18336f", + "d80bf4bdb76149b68e674b2ee649626c", + "867bb34bd9534aa39c85c07fe3f92f4e", + "dffbbe151dd34200beff08eafd98a380", + "f0507d80a2c74d53b4963130af706fb8", + "79fcd95516f44348a313203b209e0dbb", + "5393fa5795634e8ba5603785421b4b7e", + "629aa27bc05e4b6890c0457d57175e57", + "39c9bef36079445199e8b9b4c310a207", + "2abee34399b5404f8aa2d13ca1f8a0a1", + "82c48b8ef01b462d9df631e9d172316b", + "73653ee65cde4122ba0268dabc34f827", + "b96935fe7dea45859703dcd49a3b1f52", + "d94c1dbd52b44ae9b9e565e44f691e05", + "a2ae7f36742049ab9980e60fc1014d86", + "bb160cdca74641a088df5ba8445517cc", + "02b5bd9111e14cc2acb3ca61bbd7878d", + "cb9e5e4447c64dcc950f0f9b6f64eacd", + "02f73d2307e0464aadeb4e728ea98f6b", + "df300bb1205d4ccf90ade86c1197a971", + "2a15f542acf8406b890f4b1d4063446a", + "c45569e490c74ca996fee25f8bd31cdf", + "d79c6b456ffb4289921288199c1a5e93", + "74559eacbf754aec8abd39be4ce5948b", + "3d9ca4d6a78b4be388d47a2c26a2d534", + "1abde559f901468aa22132e3e7ded2c6", + "589dc33928254b279a9561a9f0e1edd2", + "543ce0246d5d4f26b149f57170032644", + "68c82105b3f04b00bdbb4b7bc31d0db5", + "a2b86afdb6fd4447abd6a782ec961e7b", + "3bcbe7eb46c1470d91c137937ca29cb6", + "f7255b3f29b740339a4bfa0419d46114", + "66b0e7e3d46248c3b6fed1687ec424ac", + "3b8db07a150a4f058a540e5d584a981c", + "c51ffc590efd48988bc043157000c46d", + "0bc1b357649b490696dc0498590c2253", + "b8ed08a8827440e5944221ee4e577a22", + "9bf98247ac654ced921ccb3f59029f46", + "4abf302ed171414e9a4204d72e84af21", + "1dc96decbde849fc9750042eabc26918", + "ef2d223473fd466e83ea73541e50b114", + "9f3e170ad77d494785fb4a1827472873", + "cbd1497f4a404b649052068a93025e31", + "0b7acd53e36347b38de1e31a244bd484", + "8f22afc4e41a45f28fb1c81f37c554fc", + "629f5065fec04c039ce71a88aca28ac7", + "3671f10fdae141cb9e0a47cc1db97210", + "50f79d64fa0a4b94b24b5c7a06e0af12", + "4fd6b3e353ad4fb4af11ca5985e1bfe5", + "693131233ec241bcb7ddbe8a8e1ff2e0", + "73eed7e431de45f091117115ed11dbe5", + "7b94ecf3158748728de903d980e18c38", + "43d879e9907b43f6a800861eae99e048", + "4f99d7a4c905449db8ed0f8061a485b8", + "d54dea38ba5449de89353102e31c9214", + "21db824539da4758a8aa5c6351949cc5", + "73ae5b95afc24ba2bebdcdf077ec7c43", + "7112ceeb185f424a95b08454ee688b18", + "dd06ea396d3c4faeba71a50f77b75701", + "d5ab3316f9754baa80a985abfc27b64d", + "0d2671b5646542419e45f1311d8993c3", + "df51d44724d64c0ca5c127afdf373ac7", + "2fd82da052dd482eab2679261b5c0f3f", + "e5a739d5069f4e0db2cca257a96bf97a", + "00a869694a674b6c842722a59cb8da12", + "8dd15ab4f07246a2b263fdf29c1656f9" + ] + }, + "id": "r-fFV2ncI-zW", + "outputId": "758b858a-daf7-42fc-8622-d54f67818163" + }, + "execution_count": 24, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "INFO: GPU available: False, used: False\n", + "INFO:lightning.pytorch.utilities.rank_zero:GPU available: False, used: False\n", + "INFO: TPU available: False, using: 0 TPU cores\n", + "INFO:lightning.pytorch.utilities.rank_zero:TPU available: False, using: 0 TPU cores\n", + "INFO: HPU available: False, using: 0 HPUs\n", + "INFO:lightning.pytorch.utilities.rank_zero:HPU available: False, using: 0 HPUs\n", + "INFO: \n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n", + "INFO:lightning.pytorch.callbacks.model_summary:\n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Sanity Checking: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "f7321d7b1b9a4dbe905092f388240f23" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Training: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "56705796817d43028c6eddfefc18336f" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "73653ee65cde4122ba0268dabc34f827" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "d79c6b456ffb4289921288199c1a5e93" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "3b8db07a150a4f058a540e5d584a981c" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "8f22afc4e41a45f28fb1c81f37c554fc" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "21db824539da4758a8aa5c6351949cc5" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "INFO: `Trainer.fit` stopped: `max_epochs=5` reached.\n", + "INFO:lightning.pytorch.utilities.rank_zero:`Trainer.fit` stopped: `max_epochs=5` reached.\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "metrics = pd.read_csv(\"logged/MEGNet_training/version_0/metrics.csv\")\n", + "metrics[\"train_MAE\"].dropna().plot()\n", + "metrics[\"val_MAE\"].dropna().plot()\n", + "\n", + "_ = plt.legend()\n", + "#plt.savefig(\"loss.jpg\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "JpFwUt4_JMjZ", + "outputId": "06c0bfc7-7c4b-40fa-b4d6-35e054a407bc" + }, + "execution_count": 25, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + } + ] +} diff --git a/Workshop3/.ipynb_checkpoints/molcal_workshop3-checkpoint.ipynb b/Workshop3/.ipynb_checkpoints/molcal_workshop3-checkpoint.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..4228bc38304f60847328921ff68667d019cf3850 --- /dev/null +++ b/Workshop3/.ipynb_checkpoints/molcal_workshop3-checkpoint.ipynb @@ -0,0 +1,982 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install jarvis-tools" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Obtaining 3D dataset 76k ...\n", + "Reference:https://www.nature.com/articles/s41524-020-00440-1\n", + "Other versions:https://doi.org/10.6084/m9.figshare.6815699\n", + "Loading the zipfile...\n", + "Loading completed.\n" + ] + } + ], + "source": [ + "# !pip install jarvis-tools, and restart the notebook\n", + "from jarvis.db.figshare import data\n", + "\n", + "dft_3d = data('dft_3d')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['jid', 'spg_number', 'spg_symbol', 'formula', 'formation_energy_peratom', 'func', 'optb88vdw_bandgap', 'atoms', 'slme', 'magmom_oszicar', 'spillage', 'elastic_tensor', 'effective_masses_300K', 'kpoint_length_unit', 'maxdiff_mesh', 'maxdiff_bz', 'encut', 'optb88vdw_total_energy', 'epsx', 'epsy', 'epsz', 'mepsx', 'mepsy', 'mepsz', 'modes', 'magmom_outcar', 'max_efg', 'avg_elec_mass', 'avg_hole_mass', 'icsd', 'dfpt_piezo_max_eij', 'dfpt_piezo_max_dij', 'dfpt_piezo_max_dielectric', 'dfpt_piezo_max_dielectric_electronic', 'dfpt_piezo_max_dielectric_ionic', 'max_ir_mode', 'min_ir_mode', 'n-Seebeck', 'p-Seebeck', 'n-powerfact', 'p-powerfact', 'ncond', 'pcond', 'nkappa', 'pkappa', 'ehull', 'Tc_supercon', 'dimensionality', 'efg', 'xml_data_link', 'typ', 'exfoliation_energy', 'spg', 'crys', 'density', 'poisson', 'raw_files', 'nat', 'bulk_modulus_kv', 'shear_modulus_gv', 'mbj_bandgap', 'hse_gap', 'reference', 'search'])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dft_3d[0].keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "## Let's make a dataframe from this:\n", + "## !pip install pandas ## if it's not installed\n", + "import pandas as pd\n", + "import numpy as np " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "df=pd.DataFrame(dft_3d)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>jid</th>\n", + " <th>spg_number</th>\n", + " <th>spg_symbol</th>\n", + " <th>formula</th>\n", + " <th>formation_energy_peratom</th>\n", + " <th>func</th>\n", + " <th>optb88vdw_bandgap</th>\n", + " <th>atoms</th>\n", + " <th>slme</th>\n", + " <th>magmom_oszicar</th>\n", + " <th>...</th>\n", + " <th>density</th>\n", + " <th>poisson</th>\n", + " <th>raw_files</th>\n", + " <th>nat</th>\n", + " <th>bulk_modulus_kv</th>\n", + " <th>shear_modulus_gv</th>\n", + " <th>mbj_bandgap</th>\n", + " <th>hse_gap</th>\n", + " <th>reference</th>\n", + " <th>search</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>JVASP-90856</td>\n", + " <td>129</td>\n", + " <td>P4/nmm</td>\n", + " <td>TiCuSiAs</td>\n", + " <td>-0.42762</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[3.566933224304235, 0.0, -0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.956</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>8</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-1080455</td>\n", + " <td>-As-Cu-Si-Ti</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>JVASP-86097</td>\n", + " <td>221</td>\n", + " <td>Pm-3m</td>\n", + " <td>DyB6</td>\n", + " <td>-0.41596</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[4.089078911208881, 0.0, 0.0]...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.522</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-86097.zip,https://ndownload...</td>\n", + " <td>7</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-568319</td>\n", + " <td>-B-Dy</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>JVASP-64906</td>\n", + " <td>119</td>\n", + " <td>I-4m2</td>\n", + " <td>Be2OsRu</td>\n", + " <td>0.04847</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[-1.833590720595598, 1.833590...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>10.960</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-64906.zip,https://ndownload...</td>\n", + " <td>4</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>auid-3eaf68dd483bf4f4</td>\n", + " <td>-Be-Os-Ru</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>JVASP-98225</td>\n", + " <td>14</td>\n", + " <td>P2_1/c</td>\n", + " <td>KBi</td>\n", + " <td>-0.44140</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.472</td>\n", + " <td>{'lattice_mat': [[7.2963518353359165, 0.0, 0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.145</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>32</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-31104</td>\n", + " <td>-Bi-K</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>JVASP-10</td>\n", + " <td>164</td>\n", + " <td>P-3m1</td>\n", + " <td>VSe2</td>\n", + " <td>-0.71026</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[1.6777483798834445, -2.90594...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.718</td>\n", + " <td>0.23</td>\n", + " <td>[FD-ELAST,JVASP-10.zip,https://ndownloader.fig...</td>\n", + " <td>3</td>\n", + " <td>48.79</td>\n", + " <td>33.05</td>\n", + " <td>0.0</td>\n", + " <td>na</td>\n", + " <td>mp-694</td>\n", + " <td>-Se-V</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>5 rows × 64 columns</p>\n", + "</div>" + ], + "text/plain": [ + " jid spg_number spg_symbol formula formation_energy_peratom \\\n", + "0 JVASP-90856 129 P4/nmm TiCuSiAs -0.42762 \n", + "1 JVASP-86097 221 Pm-3m DyB6 -0.41596 \n", + "2 JVASP-64906 119 I-4m2 Be2OsRu 0.04847 \n", + "3 JVASP-98225 14 P2_1/c KBi -0.44140 \n", + "4 JVASP-10 164 P-3m1 VSe2 -0.71026 \n", + "\n", + " func optb88vdw_bandgap \\\n", + "0 OptB88vdW 0.000 \n", + "1 OptB88vdW 0.000 \n", + "2 OptB88vdW 0.000 \n", + "3 OptB88vdW 0.472 \n", + "4 OptB88vdW 0.000 \n", + "\n", + " atoms slme magmom_oszicar ... \\\n", + "0 {'lattice_mat': [[3.566933224304235, 0.0, -0.0... na 0.0 ... \n", + "1 {'lattice_mat': [[4.089078911208881, 0.0, 0.0]... na 0.0 ... \n", + "2 {'lattice_mat': [[-1.833590720595598, 1.833590... na 0.0 ... \n", + "3 {'lattice_mat': [[7.2963518353359165, 0.0, 0.0... na 0.0 ... \n", + "4 {'lattice_mat': [[1.6777483798834445, -2.90594... na 0.0 ... \n", + "\n", + " density poisson raw_files nat \\\n", + "0 5.956 na [] 8 \n", + "1 5.522 na [OPT-LOPTICS,JVASP-86097.zip,https://ndownload... 7 \n", + "2 10.960 na [OPT-LOPTICS,JVASP-64906.zip,https://ndownload... 4 \n", + "3 5.145 na [] 32 \n", + "4 5.718 0.23 [FD-ELAST,JVASP-10.zip,https://ndownloader.fig... 3 \n", + "\n", + " bulk_modulus_kv shear_modulus_gv mbj_bandgap hse_gap \\\n", + "0 na na na na \n", + "1 na na na na \n", + "2 na na na na \n", + "3 na na na na \n", + "4 48.79 33.05 0.0 na \n", + "\n", + " reference search \n", + "0 mp-1080455 -As-Cu-Si-Ti \n", + "1 mp-568319 -B-Dy \n", + "2 auid-3eaf68dd483bf4f4 -Be-Os-Ru \n", + "3 mp-31104 -Bi-K \n", + "4 mp-694 -Se-V \n", + "\n", + "[5 rows x 64 columns]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "jid 75993\n", + "spg_number 75993\n", + "spg_symbol 75993\n", + "formula 75993\n", + "formation_energy_peratom 75993\n", + "func 75993\n", + "optb88vdw_bandgap 75993\n", + "atoms 75993\n", + "slme 9770\n", + "magmom_oszicar 71320\n", + "spillage 11377\n", + "elastic_tensor 25513\n", + "effective_masses_300K 75993\n", + "kpoint_length_unit 75671\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/p4/gl5hwwk13vjb1pncdz82sq4h0000gq/T/ipykernel_73354/3773379141.py:3: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " val=df[i].replace('na',np.nan).dropna().values\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maxdiff_mesh 5861\n", + "maxdiff_bz 5861\n", + "encut 75670\n", + "optb88vdw_total_energy 75993\n", + "epsx 52168\n", + "epsy 52168\n", + "epsz 52168\n", + "mepsx 18293\n", + "mepsy 18293\n", + "mepsz 18293\n", + "modes 13910\n", + "magmom_outcar 74261\n", + "max_efg 11871\n", + "avg_elec_mass 17645\n", + "avg_hole_mass 17645\n", + "icsd 75993\n", + "dfpt_piezo_max_eij 4799\n", + "dfpt_piezo_max_dij 3347\n", + "dfpt_piezo_max_dielectric 4706\n", + "dfpt_piezo_max_dielectric_electronic 4809\n", + "dfpt_piezo_max_dielectric_ionic 4809\n", + "max_ir_mode 4805\n", + "min_ir_mode 4809\n", + "n-Seebeck 23218\n", + "p-Seebeck 23218\n", + "n-powerfact 23218\n", + "p-powerfact 23218\n", + "ncond 23218\n", + "pcond 23218\n", + "nkappa 23218\n", + "pkappa 23218\n", + "ehull 75993\n", + "Tc_supercon 1058\n", + "dimensionality 75560\n", + "efg 75993\n", + "xml_data_link 75993\n", + "typ 75993\n", + "exfoliation_energy 813\n", + "spg 75993\n", + "crys 75993\n", + "density 75993\n", + "poisson 23597\n", + "raw_files 75993\n", + "nat 75993\n", + "bulk_modulus_kv 23824\n", + "shear_modulus_gv 23824\n", + "mbj_bandgap 19805\n", + "hse_gap 56\n", + "reference 75993\n", + "search 75993\n" + ] + } + ], + "source": [ + "## Count number of entries for each property\n", + "for i in df.columns.values:\n", + " val=df[i].replace('na',np.nan).dropna().values\n", + " print(i,len(val))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "## Filter dataset based on desired property \n", + "## We will focus on elastic properties for today, i.e. Bulk modulus" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install pymatgen" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "from jarvis.core.atoms import Atoms\n", + "bm=df[df.bulk_modulus_kv != 'na']\n", + "data = [(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter(), bm.iloc[i].bulk_modulus_kv) for i in range(len(bm))]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "import itertools\n", + "def get_stoichiometry(elements):\n", + " return [(g[0], len(list(g[1]))) for g in itertools.groupby(elements)]" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 23824/23824 [00:02<00:00, 8443.33it/s]\n" + ] + } + ], + "source": [ + "## Use all the material dataset for training the bulk modulus\n", + "from tqdm import tqdm\n", + "\n", + "stoichs=[] #stoichiometry\n", + "bulk=[] #bulk modulus\n", + "for i in tqdm(range(len(bm))):\n", + " stoichs.append(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter())\n", + " bulk.append(bm.iloc[i]['bulk_modulus_kv'])\n", + "data_ran=list(zip(stoichs,bulk))\n", + "\n", + "import pickle\n", + "with open('data_ran.pickle', 'wb') as f:\n", + " pickle.dump(data_ran, f)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "### change environments from jarvis to matgl" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/sgrover/anaconda3/envs/matgl-megnet/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "import shutil\n", + "import warnings\n", + "import zipfile\n", + "import matgl\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import pytorch_lightning as pl\n", + "import torch\n", + "import pickle\n", + "import numpy as np\n", + "from dgl.data.utils import split_dataset\n", + "from pymatgen.core import Structure\n", + "from pytorch_lightning.loggers import CSVLogger\n", + "from tqdm import tqdm\n", + "\n", + "from matgl.ext.pymatgen import Structure2Graph, get_element_list\n", + "from matgl.graph.data import MGLDataset, MGLDataLoader, collate_fn\n", + "from matgl.layers import BondExpansion\n", + "from matgl.models import MEGNet\n", + "from matgl.utils.io import RemoteFile\n", + "from matgl.utils.training import ModelLightningModule\n", + "\n", + "# To suppress warnings for clearer output\n", + "warnings.simplefilter(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "data_ran=pd.read_pickle('./data_ran.pickle')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "list" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(data_ran)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "import random\n", + "random.shuffle(data_ran)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Full Formula (Al2 Cr2 Ge2)\n", + "Reduced Formula: AlCrGe\n", + "abc : 5.953030 4.915863 4.763705\n", + "angles: 75.887124 53.211418 50.901458\n", + "pbc : True True True\n", + "Sites (6)\n", + " # SP a b c\n", + "--- ---- -------- -------- --------\n", + " 0 Al 0.07707 0.42293 0.07707\n", + " 1 Al 0.42293 0.07707 0.42293\n", + " 2 Cr 0.75 0.75 0.75\n", + " 3 Cr 0 0 0\n", + " 4 Ge 0.669987 0.330013 0.669987\n", + " 5 Ge 0.330013 0.669987 0.330013 2.1178676265660163\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "\n", + "structures=[d[0] for d in data_ran[:15000]]\n", + "targets=np.log10([d[1] for d in data_ran])\n", + "\n", + "print(structures[0],targets[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# get element types in the dataset\n", + "elem_list = get_element_list(structures)\n", + "# setup a graph converter\n", + "converter = Structure2Graph(element_types=elem_list, cutoff=4.0)\n", + "# convert the raw dataset into MEGNetDataset\n", + "mp_dataset = MGLDataset(\n", + " structures=structures,\n", + " labels={\"bulk_modulus_kv\": targets},\n", + " converter=converter,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [], + "source": [ + "train_data, val_data, test_data = split_dataset(\n", + " mp_dataset,\n", + " frac_list=[0.8, 0.1, 0.1],\n", + " shuffle=True,\n", + " random_state=42,\n", + ")\n", + "train_loader, val_loader, test_loader = MGLDataLoader(\n", + " train_data=train_data,\n", + " val_data=val_data,\n", + " test_data=test_data,\n", + " collate_fn=collate_fn,\n", + " batch_size=64,\n", + " num_workers=0,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "# setup the embedding layer for node attributes\n", + "node_embed = torch.nn.Embedding(len(elem_list), 16)\n", + "# define the bond expansion\n", + "bond_expansion = BondExpansion(rbf_type=\"Gaussian\", initial=0.0, final=5.0, num_centers=100, width=0.5)\n", + "\n", + "# setup the architecture of MEGNet model\n", + "model = MEGNet(\n", + " dim_node_embedding=16,\n", + " dim_edge_embedding=100,\n", + " dim_state_embedding=2,\n", + " nblocks=3,\n", + " hidden_layer_sizes_input=(64, 32),\n", + " hidden_layer_sizes_conv=(64, 64, 32),\n", + " nlayers_set2set=1,\n", + " niters_set2set=2,\n", + " hidden_layer_sizes_output=(32, 16),\n", + " is_classification=False,\n", + " activation_type=\"softplus2\",\n", + " bond_expansion=bond_expansion,\n", + " cutoff=4.0,\n", + " gauss_width=0.5,\n", + ")\n", + "\n", + "# setup the MEGNetTrainer\n", + "lit_module = ModelLightningModule(model=model)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + " | Name | Type | Params\n", + "--------------------------------------------\n", + "0 | model | MEGNet | 189 K \n", + "1 | mae | MeanAbsoluteError | 0 \n", + "2 | rmse | MeanSquaredError | 0 \n", + "--------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 39: 100%|██████████| 298/298 [00:24<00:00, 11.99it/s, v_num=6, val_Total_Loss=nan.0, val_MAE=nan.0, val_RMSE=nan.0, train_Total_Loss=nan.0, train_MAE=nan.0, train_RMSE=nan.0]" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=40` reached.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 39: 100%|██████████| 298/298 [00:24<00:00, 11.97it/s, v_num=6, val_Total_Loss=nan.0, val_MAE=nan.0, val_RMSE=nan.0, train_Total_Loss=nan.0, train_MAE=nan.0, train_RMSE=nan.0]\n" + ] + } + ], + "source": [ + "logger = CSVLogger(\"logs\", name=\"MEGNet_training\")\n", + "trainer = pl.Trainer(max_epochs=40, accelerator=\"cpu\", logger=logger)\n", + "trainer.fit(model=lit_module, train_dataloaders=train_loader, val_dataloaders=val_loader)\n", + "\n", + "warnings.simplefilter(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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0/yjvLw8ffnll0pPT6+yLzw8XCkpKR4XFm/evFlt27b12O6++26v1u8wtb1B3yLFxcUKDw9XUVGRwsLCGrocAMANuHr1qo4ePapOnTopJCSkoctBHavp77e279+cuQEAAFYh3AAAYLkJEyZUedZM5TZhwoSGLq/OcUExAACWmzdvnqZNm1btPhsvzyDcAABguTZt2qhNmzYNXUa94WMpAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAOAjOnbsqIULFzZ0GY0e4QYAAAt17NhRDodDq1evrrKvW7ducjgcWr58eZV9WVlZ8vf31/z586vsW758uRwOR5WtsX0NBuEGAABLxcTEaNmyZR5tn3/+uVwul5o2bVrtmOzsbP3qV79SdnZ2tfvDwsJ05swZj+348eN1XvutINwAAHyfMVLppYbZavn90++8846io6NVUVHh0T548GCNHTtWX3/9tQYPHqyoqCg1a9ZMffr00UcffXRLy5KZmalt27bp5MmT7rbs7GxlZmZW+43f27Zt05UrVzRv3jwVFxdrx44dVfo4HA45nU6PLSoq6pbqrGs8oRgA4PvKLksvRzfMsZ87LQVVfxbkH/385z/X5MmT9fHHHyslJUWSdP78eW3evFmbNm3SxYsX9cADD+ill15ScHCwVqxYoUGDBunIkSOKjY29qdKioqKUlpam3//+95o1a5YuX76sNWvWaNu2bVqxYkWV/kuXLlVGRoYCAwOVkZGhpUuXql+/fjd17IbEmRsAAOpBixYtdP/992vVqlXutnXr1qlVq1a699571bNnTz3xxBPq3r274uLi9OKLL6pz58768MMPb+m4Y8eO1fLly2WM0bp169S5c2clJCRU6VdcXKx169Zp+PDhkqThw4frD3/4gy5evOjRr6ioqMqXb95///23VGNd48wNAMD3BTb5/gxKQx27ljIzM/X444/rrbfeUnBwsFauXKnHHntMfn5+unjxon79619r48aNOnPmjK5du6YrV67oxIkTt1TewIED9cQTT+iTTz5Rdna2xo4dW22/9957T507d1bPnj0lSQkJCerQoYPWrFmjcePGufs1b95ce/fu9RgbGhp6SzXWNcINAMD3ORy1+miooQ0aNEjGGG3cuFF9+vTR9u3b9dprr0mSpk2bpi1btmjBggXq0qWLQkNDNXToUJWWlt7S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X1sjff9R1H333ae0tDTNnz/ffSx/f/9aha5K3C0FAIDvqe37t1cuKJaklStXatKkSUpJSZGfn5/S09P1+uuvu/eXlZXpyJEjunz5srvttddec/ctKSlRWlqa3nrrLff+devW6ezZs3r33Xf17rvvuts7dOigY8eOeWsqAADAh3jtzE1jxpkbAAB8T4M+5wYAAKChEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKt4LdycP39emZmZCgsLU0REhMaNG6eLFy/WOObq1auaOHGiWrZsqWbNmik9PV35+fnV9v3222/Vvn17ORwOFRYWemEGAADAF3kt3GRmZurAgQPasmWLNmzYoE8++UTjx4+vccwvf/lL/fGPf9TatWu1bds2nT59Wo888ki1fceNG6ef/OQn3igdAAD4MIcxxtT1ix46dEh33XWXdu/erd69e0uSNm/erAceeEDffPONoqOjq4wpKipS69attWrVKg0dOlSSdPjwYXXt2lW5ubnq27evu+/bb7+tNWvWaM6cOUpJSdF3332niIiIWtdXXFys8PBwFRUVKSws7NYmCwAA6kVt37+9cuYmNzdXERER7mAjSampqfLz89POnTurHZOXl6eysjKlpqa62+Lj4xUbG6vc3Fx328GDBzVv3jytWLFCfn61K7+kpETFxcUeGwAAsJNXwo3L5VKbNm082gICAhQZGSmXy3XdMUFBQVXOwERFRbnHlJSUKCMjQ/Pnz1dsbGyt68nKylJ4eLh7i4mJubEJAQAAn3FD4WbGjBlyOBw1bocPH/ZW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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics = pd.read_csv(\"logs/MEGNet_training/version_0/metrics.csv\")\n", + "metrics[\"train_MAE\"].dropna().plot()\n", + "metrics[\"val_MAE\"].dropna().plot()\n", + "\n", + "_ = plt.legend()\n", + "#plt.savefig(\"loss.jpg\")" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>epoch</th>\n", + " <th>step</th>\n", + " <th>train_MAE</th>\n", + " <th>train_RMSE</th>\n", + " <th>train_Total_Loss</th>\n", + " <th>val_MAE</th>\n", + " <th>val_RMSE</th>\n", + " <th>val_Total_Loss</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>297</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0</td>\n", + " <td>297</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>1</td>\n", + " <td>595</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>1</td>\n", + " <td>595</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>2</td>\n", + " <td>893</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>2</td>\n", + " <td>893</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>3</td>\n", + " <td>1191</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>3</td>\n", + " <td>1191</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>4</td>\n", + " <td>1489</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>4</td>\n", + " <td>1489</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " epoch step train_MAE train_RMSE train_Total_Loss val_MAE val_RMSE \\\n", + "0 0 297 NaN NaN NaN NaN NaN \n", + "1 0 297 NaN NaN NaN NaN NaN \n", + "2 1 595 NaN NaN NaN NaN NaN \n", + "3 1 595 NaN NaN NaN NaN NaN \n", + "4 2 893 NaN NaN NaN NaN NaN \n", + "5 2 893 NaN NaN NaN NaN NaN \n", + "6 3 1191 NaN NaN NaN NaN NaN \n", + "7 3 1191 NaN NaN NaN NaN NaN \n", + "8 4 1489 NaN NaN NaN NaN NaN \n", + "9 4 1489 NaN NaN NaN NaN NaN \n", + "\n", + " val_Total_Loss \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN " + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "i=0\n", + "prediction=np.zeros(len(test_data))\n", + "for i in range(len(structures_test)):\n", + " prediction[i]=model.predict_structure(structures_test[i])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "molcal", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Workshop3/.ipynb_checkpoints/outline-checkpoint.md b/Workshop3/.ipynb_checkpoints/outline-checkpoint.md new file mode 100644 index 0000000000000000000000000000000000000000..82be33f7f143527206d90716a1890cd539c3542d --- /dev/null +++ b/Workshop3/.ipynb_checkpoints/outline-checkpoint.md @@ -0,0 +1,32 @@ +# Material graph neural networks for materials properties + +- Atoms molecules, crystals to graph format +- State attributes, atoms, bonds +- Use info to set up the model + +## Training NN to get desired material properties +- Caloric materials: +- Mechanical properties +- Vibrational properties + +## Training for elastic constant +- Bulk modulus +- Start with the dataset (what dataset) to graph network + +## Set up training +- Training, test, validation + +## Interested in? Perovskites, plastic crystals, etc. + +- How better is the prediction? +- Compare to the actual values + +- change from full materials project to a large subset to a small subset +- see errors on predictions + +## Tuned by changing the dimensionality of the system +- Efficiency vs accuracy +- Cpus vs gpus + +## Optimisation methods to predict properties where there is less data +- How can we predict? diff --git a/Workshop3/MOLCAL3_CLH_081124.pptx b/Workshop3/MOLCAL3_CLH_081124.pptx new file mode 100644 index 0000000000000000000000000000000000000000..1c26fe28a30320507bba59a10134c816a6c275fa Binary files /dev/null and b/Workshop3/MOLCAL3_CLH_081124.pptx differ diff --git a/Workshop3/MOLCAL3_CLH_081124_newest.pptx b/Workshop3/MOLCAL3_CLH_081124_newest.pptx new file mode 100644 index 0000000000000000000000000000000000000000..7f5813cd94efa56974a3af47716082ed21f6f3bf Binary files /dev/null and b/Workshop3/MOLCAL3_CLH_081124_newest.pptx differ diff --git a/Workshop3/MolCal3_ppt.pptx b/Workshop3/MolCal3_ppt.pptx new file mode 100644 index 0000000000000000000000000000000000000000..27e680b3fc2e44d7100132941743c012366d31ef Binary files /dev/null and b/Workshop3/MolCal3_ppt.pptx differ diff --git a/Workshop3/Molcal_workshop3_materials_property_prediction.ipynb b/Workshop3/Molcal_workshop3_materials_property_prediction.ipynb index 75035f45ffb9d84f18a91ebdfe0a0d08cf9d13bc..2bfd3cbc5e50097c3737aa6a0b716bfa32786546 100644 --- a/Workshop3/Molcal_workshop3_materials_property_prediction.ipynb +++ b/Workshop3/Molcal_workshop3_materials_property_prediction.ipynb @@ -1,4416 +1,4426 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { "colab": { - "provenance": [] + "base_uri": "https://localhost:8080/" }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" + "id": "jd6K5XZdeAMu", + "outputId": "974bad76-8527-47c4-f3b5-1fcd84c9c49b" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting jarvis-tools\n", + " Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl.metadata (3.1 kB)\n", + "Requirement already satisfied: numpy>=1.20.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.26.4)\n", + "Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.13.1)\n", + "Requirement already satisfied: matplotlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (3.8.0)\n", + "Requirement already satisfied: joblib>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.4.2)\n", + "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (2.32.3)\n", + "Requirement already satisfied: toolz>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (0.12.1)\n", + "Collecting xmltodict>=0.11.0 (from jarvis-tools)\n", + " Downloading xmltodict-0.14.2-py2.py3-none-any.whl.metadata (8.0 kB)\n", + "Requirement already satisfied: tqdm>=4.41.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (4.66.6)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.5.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (2.8.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2024.8.30)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->jarvis-tools) (3.5.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.0.0->jarvis-tools) (1.16.0)\n", + "Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl (4.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m22.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading xmltodict-0.14.2-py2.py3-none-any.whl (10.0 kB)\n", + "Installing collected packages: xmltodict, jarvis-tools\n", + "Successfully installed jarvis-tools-2024.10.10 xmltodict-0.14.2\n" + ] + } + ], + "source": [ + "!pip install jarvis-tools" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "768ce9da55994740bd19d449bd0880db": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_744b1e9c9b304373b89b69c16527bba4", - "IPY_MODEL_c87376480c15453e80da77d7b6d2dc8d", - "IPY_MODEL_a2274b0c8e724eba88ed9831e0fe657f" - ], - "layout": "IPY_MODEL_1d9bf139827846faaca37ba65aa026fc" - } - }, - "744b1e9c9b304373b89b69c16527bba4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_58e128907c7c4270a06475bcbe214344", - "placeholder": "​", - "style": "IPY_MODEL_82d62370c96f4a63a54da01f895e194a", - "value": "Sanity Checking DataLoader 0: 100%" - } - }, - "c87376480c15453e80da77d7b6d2dc8d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6e9ad03ead644bddbd57452191ec933e", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_d2667d11892849faafba2b44e977c0f7", - "value": 2 - } - }, - "a2274b0c8e724eba88ed9831e0fe657f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d965cf7c3f3a42189cbfc933911a0247", - "placeholder": "​", - "style": "IPY_MODEL_8ae912d0878b4a37956c43fb76cbd2e5", - "value": " 2/2 [00:00<00:00,  7.99it/s]" - } - }, - "1d9bf139827846faaca37ba65aa026fc": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "58e128907c7c4270a06475bcbe214344": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "82d62370c96f4a63a54da01f895e194a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6e9ad03ead644bddbd57452191ec933e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "d2667d11892849faafba2b44e977c0f7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "d965cf7c3f3a42189cbfc933911a0247": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8ae912d0878b4a37956c43fb76cbd2e5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d9d6aacd59ea4fcf9c0f4224b377c610": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_3d0ea474af934d64a2bbbdf0fdb32a02", - "IPY_MODEL_1bb71e54cd95404b846d9cbe5d551ca4", - "IPY_MODEL_c0cc07d05463491fa633ecbf841ee082" - ], - "layout": "IPY_MODEL_4433c936afb347899ef59e62b0fdd9a0" - } - }, - "3d0ea474af934d64a2bbbdf0fdb32a02": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_8ff7258417a34807bf11740040d7e54c", - "placeholder": "​", - "style": "IPY_MODEL_c4f756d6ef224ddbaaf3a04ef0470078", - "value": "Epoch 4: 100%" - } - }, - "1bb71e54cd95404b846d9cbe5d551ca4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4d3773a2ea1344838abd5d565cc14763", - "max": 141, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_106bdf51936f49efab22ca3fa22bb1a1", - "value": 141 - } - }, - "c0cc07d05463491fa633ecbf841ee082": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_cdb174433a1d43a3bd5274791234bf0d", - "placeholder": "​", - "style": "IPY_MODEL_ca8fcb63cae84124b3536af2434dfcf1", - "value": " 141/141 [00:37<00:00,  3.76it/s, v_num=0, val_Total_Loss=nan.0, val_MAE=nan.0, val_RMSE=nan.0, train_Total_Loss=nan.0, train_MAE=nan.0, train_RMSE=nan.0]" - } - }, - "4433c936afb347899ef59e62b0fdd9a0": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": "100%" - } - }, - "8ff7258417a34807bf11740040d7e54c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c4f756d6ef224ddbaaf3a04ef0470078": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "4d3773a2ea1344838abd5d565cc14763": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "106bdf51936f49efab22ca3fa22bb1a1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "cdb174433a1d43a3bd5274791234bf0d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ca8fcb63cae84124b3536af2434dfcf1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "52064c4ca7734cd9baea5a5d8e81a81a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_b74dfb101dd84c97893a6ba875cfcba0", - "IPY_MODEL_b5334febcbb248b5a1cce202a2de0b55", - "IPY_MODEL_622af7e0cf1d405aa6c178009b72558e" - ], - "layout": "IPY_MODEL_bfde609fc1054a24b8c3756613cbfa2e" - } - }, - "b74dfb101dd84c97893a6ba875cfcba0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3af2179787e2482c852c6db649181967", - "placeholder": "​", - "style": "IPY_MODEL_0d01dd8ca27944839e51976b2e63c557", - "value": "Validation DataLoader 0: 100%" - } - }, - "b5334febcbb248b5a1cce202a2de0b55": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2fd6a0dc83f34fa695755bfdb12b62ae", - "max": 47, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_2091a3dd510943b79d027917a1617112", - "value": 47 - } - }, - "622af7e0cf1d405aa6c178009b72558e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9bcd8d062d554d66b110c399d9c0b625", - "placeholder": "​", - "style": "IPY_MODEL_e53dd3ed466a49c4ad12cf824a1e6ed3", - "value": " 47/47 [00:10<00:00,  4.54it/s]" - } - }, - "bfde609fc1054a24b8c3756613cbfa2e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "3af2179787e2482c852c6db649181967": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0d01dd8ca27944839e51976b2e63c557": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2fd6a0dc83f34fa695755bfdb12b62ae": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2091a3dd510943b79d027917a1617112": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "9bcd8d062d554d66b110c399d9c0b625": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e53dd3ed466a49c4ad12cf824a1e6ed3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2e3d634584694485a3dc805dd4e6bb71": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_731b73b798c440e8ae4428f118cf4b50", - "IPY_MODEL_fe08f3f0bffc41c684745a6f3352c70a", - "IPY_MODEL_862a622adef047479bf306e707f8362e" - ], - "layout": "IPY_MODEL_ab911180843344b7b9231fc356a1a829" - } - }, - "731b73b798c440e8ae4428f118cf4b50": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_07f41aeca3df4799a3c07f54ab61661f", - "placeholder": "​", - "style": "IPY_MODEL_4928e22f1f7541c7883d6bddbd6d1a49", - "value": "Validation DataLoader 0: 100%" - } - }, - "fe08f3f0bffc41c684745a6f3352c70a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0625bafcce584b17bda54af0054c69da", - "max": 47, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_bad36731d291429ba9ac961539ff09a2", - "value": 47 - } - }, - "862a622adef047479bf306e707f8362e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_545ae88a21f44cdbbbf1832e6dac8152", - "placeholder": "​", - "style": "IPY_MODEL_e46782297fb4465e94e19a56e56f0dcf", - "value": " 47/47 [00:05<00:00,  8.58it/s]" - } - }, - "ab911180843344b7b9231fc356a1a829": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "07f41aeca3df4799a3c07f54ab61661f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4928e22f1f7541c7883d6bddbd6d1a49": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "0625bafcce584b17bda54af0054c69da": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "bad36731d291429ba9ac961539ff09a2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "545ae88a21f44cdbbbf1832e6dac8152": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e46782297fb4465e94e19a56e56f0dcf": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6fbc5cb56b044b36b6ac6fa704a42509": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_ea5611dacff74566a5d536b61fce35b2", - "IPY_MODEL_5522746482f845bca9a95e0a2224909e", - "IPY_MODEL_ad81dd6ad47541a692b0802aba292c87" - ], - "layout": "IPY_MODEL_88972e62ec0c4b4bb33780ecaf4df32f" - } - }, - "ea5611dacff74566a5d536b61fce35b2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_bd1f348e965244e89c2d53fb83da7934", - "placeholder": "​", - "style": "IPY_MODEL_15ed082c47c24ad2bf4a84ae85198b41", - "value": "Validation DataLoader 0: 100%" - } - }, - "5522746482f845bca9a95e0a2224909e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f5e16d6a057e44458ad68b354ff01eda", - "max": 47, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_5a2f302420ac451ba2a0c967c7b80b8a", - "value": 47 - } - }, - "ad81dd6ad47541a692b0802aba292c87": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d988de00f6b34fb5b7edc6aacbf6ce24", - "placeholder": "​", - "style": "IPY_MODEL_dfa2352a7ec947e585caabea0b5378c0", - "value": " 47/47 [00:07<00:00,  6.07it/s]" - } - }, - "88972e62ec0c4b4bb33780ecaf4df32f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "bd1f348e965244e89c2d53fb83da7934": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "15ed082c47c24ad2bf4a84ae85198b41": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f5e16d6a057e44458ad68b354ff01eda": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5a2f302420ac451ba2a0c967c7b80b8a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "d988de00f6b34fb5b7edc6aacbf6ce24": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "dfa2352a7ec947e585caabea0b5378c0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f0a25dc24c19453ba9f3e84169914ed5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_17e55c8a116546cfadd75932be36604c", - "IPY_MODEL_9ef9e5e64a5546fda0b2f2ee360b063b", - "IPY_MODEL_0f296de304ef4f2aab1c61d922220962" - ], - "layout": "IPY_MODEL_7c47a7b3bed64f7e94054764e8607b14" - } - }, - "17e55c8a116546cfadd75932be36604c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7e5e21fb8a7d4ebea7c71e9f655fe606", - "placeholder": "​", - "style": "IPY_MODEL_9fb1d2f72fda43e4a91e4cbb23426322", - "value": "Validation DataLoader 0: 100%" - } - }, - "9ef9e5e64a5546fda0b2f2ee360b063b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0cc181a9b3e04d658d0eefefaabecaf4", - "max": 47, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_b320af0dc127481fb92415d2247a565a", - "value": 47 - } - }, - "0f296de304ef4f2aab1c61d922220962": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2a6e76a13e5747c2888b73ff55361dea", - "placeholder": "​", - "style": "IPY_MODEL_2d3bfc8b4da94766a48e6bd84e3932b3", - "value": " 47/47 [00:05<00:00,  9.38it/s]" - } - }, - "7c47a7b3bed64f7e94054764e8607b14": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "7e5e21fb8a7d4ebea7c71e9f655fe606": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9fb1d2f72fda43e4a91e4cbb23426322": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "0cc181a9b3e04d658d0eefefaabecaf4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b320af0dc127481fb92415d2247a565a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2a6e76a13e5747c2888b73ff55361dea": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2d3bfc8b4da94766a48e6bd84e3932b3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "530114990c934b02b04ed88233a4cda3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_2fbda58508c94503891ad1ab96445398", - "IPY_MODEL_348fc0c1069a4430be11d2112f212080", - "IPY_MODEL_0c134e301fe5481bbcd47eb35ff1ecd9" - ], - "layout": "IPY_MODEL_cda06210315d42f3b4909bdc14310e15" - } - }, - "2fbda58508c94503891ad1ab96445398": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_98131182118a4e0bbb0de266875c10ec", - "placeholder": "​", - "style": "IPY_MODEL_9ef52af34b6d4030b0ed2ad1006e2a05", - "value": "Validation DataLoader 0: 100%" - } - }, - "348fc0c1069a4430be11d2112f212080": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c719f246dc254ba284b1975932eaedf9", - "max": 47, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_b70eedcca7744a8dab61e3c5796e2072", - "value": 47 - } - }, - "0c134e301fe5481bbcd47eb35ff1ecd9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3ccc25decd5b48e39bd101a6a526865e", - "placeholder": "​", - "style": "IPY_MODEL_904fb13e4c9a4290a95c7003770d0a32", - "value": " 47/47 [00:06<00:00,  7.72it/s]" - } - }, - "cda06210315d42f3b4909bdc14310e15": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "98131182118a4e0bbb0de266875c10ec": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9ef52af34b6d4030b0ed2ad1006e2a05": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "c719f246dc254ba284b1975932eaedf9": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b70eedcca7744a8dab61e3c5796e2072": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "3ccc25decd5b48e39bd101a6a526865e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "904fb13e4c9a4290a95c7003770d0a32": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - } - } + "id": "mC4gkbnBeP7t", + "outputId": "e8b7d83a-2c04-4909-e84d-1bdf75b8f42d" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (2024.10.29)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.4.2)\n", + "Requirement already satisfied: matplotlib>=3.8 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.8.0)\n", + "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2024.10.21)\n", + "Requirement already satisfied: networkx>=3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.4.2)\n", + "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.3.3)\n", + "Requirement already satisfied: pandas>=2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.2.2)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (5.24.1)\n", + "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.24.0)\n", + "Requirement already satisfied: requests>=2.32 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.32.3)\n", + "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.18.6)\n", + "Requirement already satisfied: scipy>=1.13.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.5.0)\n", + "Requirement already satisfied: sympy>=1.2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.9.0)\n", + "Requirement already satisfied: tqdm>=4.60 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (4.66.6)\n", + "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.2.2)\n", + "Requirement already satisfied: numpy<3,>=1.25.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.26.4)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen) (9.0.0)\n", + "Requirement already satisfied: PyYAML>=3.01 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (6.0.2)\n", + "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (3.0.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2024.8.30)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen) (0.2.12)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy>=1.2->pymatgen) (1.3.0)\n" + ] } + ], + "source": [ + "!pip3 install pymatgen" + ] }, - "cells": [ + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fhA7AxnzeQfj", + "outputId": "3e9e530c-b84f-4285-8c00-659d64cb79b2" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "jd6K5XZdeAMu", - "outputId": "974bad76-8527-47c4-f3b5-1fcd84c9c49b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting jarvis-tools\n", - " Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl.metadata (3.1 kB)\n", - "Requirement already satisfied: numpy>=1.20.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.26.4)\n", - "Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.13.1)\n", - "Requirement already satisfied: matplotlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (3.8.0)\n", - "Requirement already satisfied: joblib>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.4.2)\n", - "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (2.32.3)\n", - "Requirement already satisfied: toolz>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (0.12.1)\n", - "Collecting xmltodict>=0.11.0 (from jarvis-tools)\n", - " Downloading xmltodict-0.14.2-py2.py3-none-any.whl.metadata (8.0 kB)\n", - "Requirement already satisfied: tqdm>=4.41.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (4.66.6)\n", - "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.5.2)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.4.7)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (24.1)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (10.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (3.2.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (2.8.2)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2024.8.30)\n", - "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->jarvis-tools) (3.5.0)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.0.0->jarvis-tools) (1.16.0)\n", - "Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl (4.2 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m22.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading xmltodict-0.14.2-py2.py3-none-any.whl (10.0 kB)\n", - "Installing collected packages: xmltodict, jarvis-tools\n", - "Successfully installed jarvis-tools-2024.10.10 xmltodict-0.14.2\n" - ] - } - ], - "source": [ - "!pip install jarvis-tools" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in links: https://data.dgl.ai/wheels/torch-2.1/repo.html\n", + "Requirement already satisfied: dgl in /usr/local/lib/python3.10/dist-packages (2.4.0)\n", + "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (5.9.5)\n", + "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.9.2)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl) (4.66.6)\n", + "Requirement already satisfied: torch<=2.4.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.4.0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2024.8.30)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2024.10.0)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2.20.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", + "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.0.0)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<=2.4.0->dgl) (12.6.77)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->dgl) (1.16.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch<=2.4.0->dgl) (3.0.2)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch<=2.4.0->dgl) (1.3.0)\n" + ] + } + ], + "source": [ + "!pip install dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "YM0zUT9-fqfc", + "outputId": "6bca17f0-06c7-4559-9b81-a79c3739a116" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "!pip3 install pymatgen" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "mC4gkbnBeP7t", - "outputId": "e8b7d83a-2c04-4909-e84d-1bdf75b8f42d" - }, - "execution_count": 7, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (2024.10.29)\n", - "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.4.2)\n", - "Requirement already satisfied: matplotlib>=3.8 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.8.0)\n", - "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2024.10.21)\n", - "Requirement already satisfied: networkx>=3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.4.2)\n", - "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.3.3)\n", - "Requirement already satisfied: pandas>=2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.2.2)\n", - "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (5.24.1)\n", - "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.24.0)\n", - "Requirement already satisfied: requests>=2.32 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.32.3)\n", - "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.18.6)\n", - "Requirement already satisfied: scipy>=1.13.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", - "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.5.0)\n", - "Requirement already satisfied: sympy>=1.2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", - "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.9.0)\n", - "Requirement already satisfied: tqdm>=4.60 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (4.66.6)\n", - "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.2.2)\n", - "Requirement already satisfied: numpy<3,>=1.25.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.26.4)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.4.7)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (24.1)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (10.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (3.2.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", - "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen) (9.0.0)\n", - "Requirement already satisfied: PyYAML>=3.01 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (6.0.2)\n", - "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (3.0.0)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (1.16.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2024.8.30)\n", - "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen) (0.2.12)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy>=1.2->pymatgen) (1.3.0)\n" - ] - } - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting matgl\n", + " Downloading matgl-1.1.3-py3-none-any.whl.metadata (16 kB)\n", + "Collecting ase (from matgl)\n", + " Downloading ase-3.23.0-py3-none-any.whl.metadata (3.8 kB)\n", + "Requirement already satisfied: dgl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (from matgl) (2024.10.29)\n", + "Collecting lightning (from matgl)\n", + " Downloading lightning-2.4.0-py3-none-any.whl.metadata (38 kB)\n", + "Requirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pydantic in /usr/local/lib/python3.10/dist-packages (from matgl) (2.9.2)\n", + "Collecting torchdata<0.8.0 (from matgl)\n", + " Downloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", + "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (5.9.5)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (4.66.6)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (4.12.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2024.10.0)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2.20.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.0.0)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->matgl) (12.6.77)\n", + "Requirement already satisfied: urllib3>=1.25 in /usr/local/lib/python3.10/dist-packages (from torchdata<0.8.0->matgl) (2.2.3)\n", + "Requirement already satisfied: matplotlib>=3.3.4 in /usr/local/lib/python3.10/dist-packages (from ase->matgl) (3.8.0)\n", + "Collecting lightning-utilities<2.0,>=0.10.0 (from lightning->matgl)\n", + " Downloading lightning_utilities-0.11.8-py3-none-any.whl.metadata (5.2 kB)\n", + "Collecting torchmetrics<3.0,>=0.7.0 (from lightning->matgl)\n", + " Downloading torchmetrics-1.5.1-py3-none-any.whl.metadata (20 kB)\n", + "Collecting pytorch-lightning (from lightning->matgl)\n", + " Downloading pytorch_lightning-2.4.0-py3-none-any.whl.metadata (21 kB)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (1.4.2)\n", + "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2024.10.21)\n", + "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.3.3)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (5.24.1)\n", + "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.24.0)\n", + "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.18.6)\n", + "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2.5.0)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.9.0)\n", + "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.2.2)\n", + "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (3.10.10)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from lightning-utilities<2.0,>=0.10.0->lightning->matgl) (75.1.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.4.7)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen->matgl) (9.0.0)\n", + "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (3.0.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (2024.8.30)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen->matgl) (0.2.12)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch->matgl) (1.3.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch->matgl) (3.0.2)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (2.4.3)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.3.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (24.2.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.5.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (6.1.0)\n", + "Requirement already satisfied: yarl<2.0,>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.17.0)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (4.0.3)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.12.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (0.2.0)\n", + "Downloading matgl-1.1.3-py3-none-any.whl (223 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m223.3/223.3 kB\u001b[0m \u001b[31m12.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m61.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ase-3.23.0-py3-none-any.whl (2.9 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m72.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning-2.4.0-py3-none-any.whl (810 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m811.0/811.0 kB\u001b[0m \u001b[31m34.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning_utilities-0.11.8-py3-none-any.whl (26 kB)\n", + "Downloading torchmetrics-1.5.1-py3-none-any.whl (890 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m890.6/890.6 kB\u001b[0m \u001b[31m45.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytorch_lightning-2.4.0-py3-none-any.whl (815 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m815.2/815.2 kB\u001b[0m \u001b[31m42.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: lightning-utilities, ase, torchmetrics, torchdata, pytorch-lightning, lightning, matgl\n", + "Successfully installed ase-3.23.0 lightning-2.4.0 lightning-utilities-0.11.8 matgl-1.1.3 pytorch-lightning-2.4.0 torchdata-0.7.1 torchmetrics-1.5.1\n" + ] + } + ], + "source": [ + "!pip3 install matgl" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "id": "avglyJbheVCr" + }, + "outputs": [], + "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "import shutil\n", + "import warnings\n", + "import zipfile\n", + "import matgl\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import pytorch_lightning as pl\n", + "import torch\n", + "import pickle\n", + "import numpy as np\n", + "from dgl.data.utils import split_dataset\n", + "from pymatgen.core import Structure\n", + "from pytorch_lightning.loggers import CSVLogger\n", + "from lightning.pytorch import Trainer\n", + "from tqdm import tqdm\n", + "\n", + "from matgl.ext.pymatgen import Structure2Graph, get_element_list\n", + "from matgl.graph.data import MGLDataset, MGLDataLoader #collate_fn. - shivani i don't think you need this as num_workers=0\n", + "from matgl.layers import BondExpansion\n", + "from matgl.models import MEGNet\n", + "from matgl.utils.io import RemoteFile\n", + "from matgl.utils.training import ModelLightningModule\n", + "\n", + "# To suppress warnings for clearer output\n", + "warnings.simplefilter(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "vZFdOECqfefs", + "outputId": "e722910c-d5f9-48c0-85af-fb7536d81ce7" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "!pip install dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "fhA7AxnzeQfj", - "outputId": "3e9e530c-b84f-4285-8c00-659d64cb79b2" - }, - "execution_count": 6, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in links: https://data.dgl.ai/wheels/torch-2.1/repo.html\n", - "Requirement already satisfied: dgl in /usr/local/lib/python3.10/dist-packages (2.4.0)\n", - "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl) (3.4.2)\n", - "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.26.4)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl) (24.1)\n", - "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl) (2.2.2)\n", - "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (5.9.5)\n", - "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.9.2)\n", - "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl) (6.0.2)\n", - "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.32.3)\n", - "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.13.1)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl) (4.66.6)\n", - "Requirement already satisfied: torch<=2.4.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.4.0)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (2.23.4)\n", - "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (4.12.2)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2024.8.30)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.16.1)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (1.13.1)\n", - "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.1.4)\n", - "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2024.10.0)\n", - "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (9.1.0.70)\n", - "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.3.1)\n", - "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (11.0.2.54)\n", - "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (10.3.2.106)\n", - "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (11.4.5.107)\n", - "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.0.106)\n", - "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2.20.5)\n", - "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (12.1.105)\n", - "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.0.0)\n", - "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<=2.4.0->dgl) (12.6.77)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->dgl) (1.16.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch<=2.4.0->dgl) (3.0.2)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch<=2.4.0->dgl) (1.3.0)\n" - ] - } - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Obtaining 3D dataset 76k ...\n", + "Reference:https://www.nature.com/articles/s41524-020-00440-1\n", + "Other versions:https://doi.org/10.6084/m9.figshare.6815699\n" + ] }, { - "cell_type": "code", - "source": [ - "!pip3 install matgl" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "YM0zUT9-fqfc", - "outputId": "6bca17f0-06c7-4559-9b81-a79c3739a116" - }, - "execution_count": 9, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting matgl\n", - " Downloading matgl-1.1.3-py3-none-any.whl.metadata (16 kB)\n", - "Collecting ase (from matgl)\n", - " Downloading ase-3.23.0-py3-none-any.whl.metadata (3.8 kB)\n", - "Requirement already satisfied: dgl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", - "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (from matgl) (2024.10.29)\n", - "Collecting lightning (from matgl)\n", - " Downloading lightning-2.4.0-py3-none-any.whl.metadata (38 kB)\n", - "Requirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", - "Requirement already satisfied: pydantic in /usr/local/lib/python3.10/dist-packages (from matgl) (2.9.2)\n", - "Collecting torchdata<0.8.0 (from matgl)\n", - " Downloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", - "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (3.4.2)\n", - "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.26.4)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (24.1)\n", - "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.2.2)\n", - "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (5.9.5)\n", - "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (6.0.2)\n", - "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.32.3)\n", - "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.13.1)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (4.66.6)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (2.23.4)\n", - "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (4.12.2)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.16.1)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (1.13.1)\n", - "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.1.4)\n", - "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2024.10.0)\n", - "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (9.1.0.70)\n", - "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.3.1)\n", - "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.0.2.54)\n", - "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (10.3.2.106)\n", - "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.4.5.107)\n", - "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.0.106)\n", - "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2.20.5)\n", - "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.0.0)\n", - "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->matgl) (12.6.77)\n", - "Requirement already satisfied: urllib3>=1.25 in /usr/local/lib/python3.10/dist-packages (from torchdata<0.8.0->matgl) (2.2.3)\n", - "Requirement already satisfied: matplotlib>=3.3.4 in /usr/local/lib/python3.10/dist-packages (from ase->matgl) (3.8.0)\n", - "Collecting lightning-utilities<2.0,>=0.10.0 (from lightning->matgl)\n", - " Downloading lightning_utilities-0.11.8-py3-none-any.whl.metadata (5.2 kB)\n", - "Collecting torchmetrics<3.0,>=0.7.0 (from lightning->matgl)\n", - " Downloading torchmetrics-1.5.1-py3-none-any.whl.metadata (20 kB)\n", - "Collecting pytorch-lightning (from lightning->matgl)\n", - " Downloading pytorch_lightning-2.4.0-py3-none-any.whl.metadata (21 kB)\n", - "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (1.4.2)\n", - "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2024.10.21)\n", - "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.3.3)\n", - "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (5.24.1)\n", - "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.24.0)\n", - "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.18.6)\n", - "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2.5.0)\n", - "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.9.0)\n", - "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.2.2)\n", - "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (3.10.10)\n", - "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from lightning-utilities<2.0,>=0.10.0->lightning->matgl) (75.1.0)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.4.7)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (10.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (3.2.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", - "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen->matgl) (9.0.0)\n", - "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (3.0.0)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (1.16.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.10)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (2024.8.30)\n", - "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen->matgl) (0.2.12)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch->matgl) (1.3.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch->matgl) (3.0.2)\n", - "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (2.4.3)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.3.1)\n", - "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (24.2.0)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.5.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (6.1.0)\n", - "Requirement already satisfied: yarl<2.0,>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.17.0)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (4.0.3)\n", - "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.12.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (0.2.0)\n", - "Downloading matgl-1.1.3-py3-none-any.whl (223 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m223.3/223.3 kB\u001b[0m \u001b[31m12.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m61.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading ase-3.23.0-py3-none-any.whl (2.9 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m72.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading lightning-2.4.0-py3-none-any.whl (810 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m811.0/811.0 kB\u001b[0m \u001b[31m34.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading lightning_utilities-0.11.8-py3-none-any.whl (26 kB)\n", - "Downloading torchmetrics-1.5.1-py3-none-any.whl (890 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m890.6/890.6 kB\u001b[0m \u001b[31m45.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pytorch_lightning-2.4.0-py3-none-any.whl (815 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m815.2/815.2 kB\u001b[0m \u001b[31m42.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hInstalling collected packages: lightning-utilities, ase, torchmetrics, torchdata, pytorch-lightning, lightning, matgl\n", - "Successfully installed ase-3.23.0 lightning-2.4.0 lightning-utilities-0.11.8 matgl-1.1.3 pytorch-lightning-2.4.0 torchdata-0.7.1 torchmetrics-1.5.1\n" - ] - } - ] + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 40.8M/40.8M [00:01<00:00, 20.5MiB/s]\n" + ] }, { - "cell_type": "code", - "source": [ - "from __future__ import annotations\n", - "\n", - "import os\n", - "import shutil\n", - "import warnings\n", - "import zipfile\n", - "import matgl\n", - "\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import pytorch_lightning as pl\n", - "import torch\n", - "import pickle\n", - "import numpy as np\n", - "from dgl.data.utils import split_dataset\n", - "from pymatgen.core import Structure\n", - "from pytorch_lightning.loggers import CSVLogger\n", - "from lightning.pytorch import Trainer\n", - "from tqdm import tqdm\n", - "\n", - "from matgl.ext.pymatgen import Structure2Graph, get_element_list\n", - "from matgl.graph.data import MGLDataset, MGLDataLoader #collate_fn. - shivani i don't think you need this as num_workers=0\n", - "from matgl.layers import BondExpansion\n", - "from matgl.models import MEGNet\n", - "from matgl.utils.io import RemoteFile\n", - "from matgl.utils.training import ModelLightningModule\n", - "\n", - "# To suppress warnings for clearer output\n", - "warnings.simplefilter(\"ignore\")" - ], - "metadata": { - "id": "avglyJbheVCr" - }, - "execution_count": 39, - "outputs": [] + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading the zipfile...\n", + "Loading completed.\n" + ] + } + ], + "source": [ + "from jarvis.db.figshare import data\n", + "\n", + "dft_3d = data('dft_3d')" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "o1-OpcxGgXn3", + "outputId": "eb48c546-8539-4acc-f8cd-290039cd1a6f" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "from jarvis.db.figshare import data\n", - "\n", - "dft_3d = data('dft_3d')" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "vZFdOECqfefs", - "outputId": "e722910c-d5f9-48c0-85af-fb7536d81ce7" - }, - "execution_count": 12, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Obtaining 3D dataset 76k ...\n", - "Reference:https://www.nature.com/articles/s41524-020-00440-1\n", - "Other versions:https://doi.org/10.6084/m9.figshare.6815699\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 40.8M/40.8M [00:01<00:00, 20.5MiB/s]\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Loading the zipfile...\n", - "Loading completed.\n" - ] - } + "data": { + "text/plain": [ + "dict_keys(['jid', 'spg_number', 'spg_symbol', 'formula', 'formation_energy_peratom', 'func', 'optb88vdw_bandgap', 'atoms', 'slme', 'magmom_oszicar', 'spillage', 'elastic_tensor', 'effective_masses_300K', 'kpoint_length_unit', 'maxdiff_mesh', 'maxdiff_bz', 'encut', 'optb88vdw_total_energy', 'epsx', 'epsy', 'epsz', 'mepsx', 'mepsy', 'mepsz', 'modes', 'magmom_outcar', 'max_efg', 'avg_elec_mass', 'avg_hole_mass', 'icsd', 'dfpt_piezo_max_eij', 'dfpt_piezo_max_dij', 'dfpt_piezo_max_dielectric', 'dfpt_piezo_max_dielectric_electronic', 'dfpt_piezo_max_dielectric_ionic', 'max_ir_mode', 'min_ir_mode', 'n-Seebeck', 'p-Seebeck', 'n-powerfact', 'p-powerfact', 'ncond', 'pcond', 'nkappa', 'pkappa', 'ehull', 'Tc_supercon', 'dimensionality', 'efg', 'xml_data_link', 'typ', 'exfoliation_energy', 'spg', 'crys', 'density', 'poisson', 'raw_files', 'nat', 'bulk_modulus_kv', 'shear_modulus_gv', 'mbj_bandgap', 'hse_gap', 'reference', 'search'])" ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dft_3d[0].keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "RnAkEQBSgZki" + }, + "outputs": [], + "source": [ + "## Let's make a dataframe from this:\n", + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 429 }, + "id": "HUvXBAGDgdYn", + "outputId": "cb02920a-b7e5-469e-8b8e-8fb55a7177e3" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "dft_3d[0].keys()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "o1-OpcxGgXn3", - "outputId": "eb48c546-8539-4acc-f8cd-290039cd1a6f" + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df" }, - "execution_count": 13, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "dict_keys(['jid', 'spg_number', 'spg_symbol', 'formula', 'formation_energy_peratom', 'func', 'optb88vdw_bandgap', 'atoms', 'slme', 'magmom_oszicar', 'spillage', 'elastic_tensor', 'effective_masses_300K', 'kpoint_length_unit', 'maxdiff_mesh', 'maxdiff_bz', 'encut', 'optb88vdw_total_energy', 'epsx', 'epsy', 'epsz', 'mepsx', 'mepsy', 'mepsz', 'modes', 'magmom_outcar', 'max_efg', 'avg_elec_mass', 'avg_hole_mass', 'icsd', 'dfpt_piezo_max_eij', 'dfpt_piezo_max_dij', 'dfpt_piezo_max_dielectric', 'dfpt_piezo_max_dielectric_electronic', 'dfpt_piezo_max_dielectric_ionic', 'max_ir_mode', 'min_ir_mode', 'n-Seebeck', 'p-Seebeck', 'n-powerfact', 'p-powerfact', 'ncond', 'pcond', 'nkappa', 'pkappa', 'ehull', 'Tc_supercon', 'dimensionality', 'efg', 'xml_data_link', 'typ', 'exfoliation_energy', 'spg', 'crys', 'density', 'poisson', 'raw_files', 'nat', 'bulk_modulus_kv', 'shear_modulus_gv', 'mbj_bandgap', 'hse_gap', 'reference', 'search'])" - ] - }, - "metadata": {}, - "execution_count": 13 - } + "text/html": [ + "\n", + " <div id=\"df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>jid</th>\n", + " <th>spg_number</th>\n", + " <th>spg_symbol</th>\n", + " <th>formula</th>\n", + " <th>formation_energy_peratom</th>\n", + " <th>func</th>\n", + " <th>optb88vdw_bandgap</th>\n", + " <th>atoms</th>\n", + " <th>slme</th>\n", + " <th>magmom_oszicar</th>\n", + " <th>...</th>\n", + " <th>density</th>\n", + " <th>poisson</th>\n", + " <th>raw_files</th>\n", + " <th>nat</th>\n", + " <th>bulk_modulus_kv</th>\n", + " <th>shear_modulus_gv</th>\n", + " <th>mbj_bandgap</th>\n", + " <th>hse_gap</th>\n", + " <th>reference</th>\n", + " <th>search</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>JVASP-90856</td>\n", + " <td>129</td>\n", + " <td>P4/nmm</td>\n", + " <td>TiCuSiAs</td>\n", + " <td>-0.42762</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[3.566933224304235, 0.0, -0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.956</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>8</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-1080455</td>\n", + " <td>-As-Cu-Si-Ti</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>JVASP-86097</td>\n", + " <td>221</td>\n", + " <td>Pm-3m</td>\n", + " <td>DyB6</td>\n", + " <td>-0.41596</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[4.089078911208881, 0.0, 0.0]...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.522</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-86097.zip,https://ndownload...</td>\n", + " <td>7</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-568319</td>\n", + " <td>-B-Dy</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>JVASP-64906</td>\n", + " <td>119</td>\n", + " <td>I-4m2</td>\n", + " <td>Be2OsRu</td>\n", + " <td>0.04847</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[-1.833590720595598, 1.833590...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>10.960</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-64906.zip,https://ndownload...</td>\n", + " <td>4</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>auid-3eaf68dd483bf4f4</td>\n", + " <td>-Be-Os-Ru</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>JVASP-98225</td>\n", + " <td>14</td>\n", + " <td>P2_1/c</td>\n", + " <td>KBi</td>\n", + " <td>-0.44140</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.472</td>\n", + " <td>{'lattice_mat': [[7.2963518353359165, 0.0, 0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.145</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>32</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-31104</td>\n", + " <td>-Bi-K</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>JVASP-10</td>\n", + " <td>164</td>\n", + " <td>P-3m1</td>\n", + " <td>VSe2</td>\n", + " <td>-0.71026</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[1.6777483798834445, -2.90594...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.718</td>\n", + " <td>0.23</td>\n", + " <td>[FD-ELAST,JVASP-10.zip,https://ndownloader.fig...</td>\n", + " <td>3</td>\n", + " <td>48.79</td>\n", + " <td>33.05</td>\n", + " <td>0.0</td>\n", + " <td>na</td>\n", + " <td>mp-694</td>\n", + " <td>-Se-V</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>5 rows × 64 columns</p>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-bd8b8a00-937e-4b1d-a50c-05a9e032c404\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-bd8b8a00-937e-4b1d-a50c-05a9e032c404')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-bd8b8a00-937e-4b1d-a50c-05a9e032c404 button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "text/plain": [ + " jid spg_number spg_symbol formula formation_energy_peratom \\\n", + "0 JVASP-90856 129 P4/nmm TiCuSiAs -0.42762 \n", + "1 JVASP-86097 221 Pm-3m DyB6 -0.41596 \n", + "2 JVASP-64906 119 I-4m2 Be2OsRu 0.04847 \n", + "3 JVASP-98225 14 P2_1/c KBi -0.44140 \n", + "4 JVASP-10 164 P-3m1 VSe2 -0.71026 \n", + "\n", + " func optb88vdw_bandgap \\\n", + "0 OptB88vdW 0.000 \n", + "1 OptB88vdW 0.000 \n", + "2 OptB88vdW 0.000 \n", + "3 OptB88vdW 0.472 \n", + "4 OptB88vdW 0.000 \n", + "\n", + " atoms slme magmom_oszicar ... \\\n", + "0 {'lattice_mat': [[3.566933224304235, 0.0, -0.0... na 0.0 ... \n", + "1 {'lattice_mat': [[4.089078911208881, 0.0, 0.0]... na 0.0 ... \n", + "2 {'lattice_mat': [[-1.833590720595598, 1.833590... na 0.0 ... \n", + "3 {'lattice_mat': [[7.2963518353359165, 0.0, 0.0... na 0.0 ... \n", + "4 {'lattice_mat': [[1.6777483798834445, -2.90594... na 0.0 ... \n", + "\n", + " density poisson raw_files nat \\\n", + "0 5.956 na [] 8 \n", + "1 5.522 na [OPT-LOPTICS,JVASP-86097.zip,https://ndownload... 7 \n", + "2 10.960 na [OPT-LOPTICS,JVASP-64906.zip,https://ndownload... 4 \n", + "3 5.145 na [] 32 \n", + "4 5.718 0.23 [FD-ELAST,JVASP-10.zip,https://ndownloader.fig... 3 \n", + "\n", + " bulk_modulus_kv shear_modulus_gv mbj_bandgap hse_gap \\\n", + "0 na na na na \n", + "1 na na na na \n", + "2 na na na na \n", + "3 na na na na \n", + "4 48.79 33.05 0.0 na \n", + "\n", + " reference search \n", + "0 mp-1080455 -As-Cu-Si-Ti \n", + "1 mp-568319 -B-Dy \n", + "2 auid-3eaf68dd483bf4f4 -Be-Os-Ru \n", + "3 mp-31104 -Bi-K \n", + "4 mp-694 -Se-V \n", + "\n", + "[5 rows x 64 columns]" ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df=pd.DataFrame(dft_3d)\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "hrRk8GKighlh", + "outputId": "d54272bd-a432-462c-d89a-65241d14db65" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "## Let's make a dataframe from this:\n", - "import pandas as pd\n", - "import numpy as np" - ], - "metadata": { - "id": "RnAkEQBSgZki" - }, - "execution_count": 14, - "outputs": [] + "name": "stdout", + "output_type": "stream", + "text": [ + "jid 75993\n", + "spg_number 75993\n", + "spg_symbol 75993\n", + "formula 75993\n", + "formation_energy_peratom 75993\n", + "func 75993\n", + "optb88vdw_bandgap 75993\n", + "atoms 75993\n", + "slme 9770\n", + "magmom_oszicar 71320\n", + "spillage 11377\n", + "elastic_tensor 25513\n", + "effective_masses_300K 75993\n", + "kpoint_length_unit 75671\n", + "maxdiff_mesh 5861\n", + "maxdiff_bz 5861\n", + "encut 75670\n", + "optb88vdw_total_energy 75993\n", + "epsx 52168\n", + "epsy 52168\n", + "epsz 52168\n", + "mepsx 18293\n", + "mepsy 18293\n", + "mepsz 18293\n", + "modes 13910\n", + "magmom_outcar 74261\n", + "max_efg 11871\n", + "avg_elec_mass 17645\n", + "avg_hole_mass 17645\n", + "icsd 75993\n", + "dfpt_piezo_max_eij 4799\n", + "dfpt_piezo_max_dij 3347\n", + "dfpt_piezo_max_dielectric 4706\n", + "dfpt_piezo_max_dielectric_electronic 4809\n", + "dfpt_piezo_max_dielectric_ionic 4809\n", + "max_ir_mode 4805\n", + "min_ir_mode 4809\n", + "n-Seebeck 23218\n", + "p-Seebeck 23218\n", + "n-powerfact 23218\n", + "p-powerfact 23218\n", + "ncond 23218\n", + "pcond 23218\n", + "nkappa 23218\n", + "pkappa 23218\n", + "ehull 75993\n", + "Tc_supercon 1058\n", + "dimensionality 75560\n", + "efg 75993\n", + "xml_data_link 75993\n", + "typ 75993\n", + "exfoliation_energy 813\n", + "spg 75993\n", + "crys 75993\n", + "density 75993\n", + "poisson 23597\n", + "raw_files 75993\n", + "nat 75993\n", + "bulk_modulus_kv 23824\n", + "shear_modulus_gv 23824\n", + "mbj_bandgap 19805\n", + "hse_gap 56\n", + "reference 75993\n", + "search 75993\n" + ] + } + ], + "source": [ + "## Count number of entries for each property\n", + "for i in df.columns.values:\n", + " val=df[i].replace('na',np.nan).dropna().values\n", + " print(i,len(val))" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "id": "6dxg4ITfgkOE" + }, + "outputs": [], + "source": [ + "## Filter dataset based on desired property\n", + "## We will focus on elastic properties for today, i.e. Bulk modulus" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "id": "xcuLFYdNgq-u" + }, + "outputs": [], + "source": [ + "from jarvis.core.atoms import Atoms\n", + "bm=df[df.bulk_modulus_kv != 'na']\n", + "data = [(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter(), bm.iloc[i].bulk_modulus_kv) for i in range(len(bm))]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "id": "Sc1zXAn4gtTT" + }, + "outputs": [], + "source": [ + "import itertools\n", + "def get_stoichiometry(elements):\n", + " return [(g[0], len(list(g[1]))) for g in itertools.groupby(elements)]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "arU4jF5tgvt0", + "outputId": "c75f7f94-afe6-4d42-e81a-93405ddcc301" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "df=pd.DataFrame(dft_3d)\n", - "df.head()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 429 - }, - "id": "HUvXBAGDgdYn", - "outputId": "cb02920a-b7e5-469e-8b8e-8fb55a7177e3" - }, - "execution_count": 15, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " jid spg_number spg_symbol formula formation_energy_peratom \\\n", - "0 JVASP-90856 129 P4/nmm TiCuSiAs -0.42762 \n", - "1 JVASP-86097 221 Pm-3m DyB6 -0.41596 \n", - "2 JVASP-64906 119 I-4m2 Be2OsRu 0.04847 \n", - "3 JVASP-98225 14 P2_1/c KBi -0.44140 \n", - "4 JVASP-10 164 P-3m1 VSe2 -0.71026 \n", - "\n", - " func optb88vdw_bandgap \\\n", - "0 OptB88vdW 0.000 \n", - "1 OptB88vdW 0.000 \n", - "2 OptB88vdW 0.000 \n", - "3 OptB88vdW 0.472 \n", - "4 OptB88vdW 0.000 \n", - "\n", - " atoms slme magmom_oszicar ... \\\n", - "0 {'lattice_mat': [[3.566933224304235, 0.0, -0.0... na 0.0 ... \n", - "1 {'lattice_mat': [[4.089078911208881, 0.0, 0.0]... na 0.0 ... \n", - "2 {'lattice_mat': [[-1.833590720595598, 1.833590... na 0.0 ... \n", - "3 {'lattice_mat': [[7.2963518353359165, 0.0, 0.0... na 0.0 ... \n", - "4 {'lattice_mat': [[1.6777483798834445, -2.90594... na 0.0 ... \n", - "\n", - " density poisson raw_files nat \\\n", - "0 5.956 na [] 8 \n", - "1 5.522 na [OPT-LOPTICS,JVASP-86097.zip,https://ndownload... 7 \n", - "2 10.960 na [OPT-LOPTICS,JVASP-64906.zip,https://ndownload... 4 \n", - "3 5.145 na [] 32 \n", - "4 5.718 0.23 [FD-ELAST,JVASP-10.zip,https://ndownloader.fig... 3 \n", - "\n", - " bulk_modulus_kv shear_modulus_gv mbj_bandgap hse_gap \\\n", - "0 na na na na \n", - "1 na na na na \n", - "2 na na na na \n", - "3 na na na na \n", - "4 48.79 33.05 0.0 na \n", - "\n", - " reference search \n", - "0 mp-1080455 -As-Cu-Si-Ti \n", - "1 mp-568319 -B-Dy \n", - "2 auid-3eaf68dd483bf4f4 -Be-Os-Ru \n", - "3 mp-31104 -Bi-K \n", - "4 mp-694 -Se-V \n", - "\n", - "[5 rows x 64 columns]" - ], - "text/html": [ - "\n", - " <div id=\"df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d\" class=\"colab-df-container\">\n", - " <div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>jid</th>\n", - " <th>spg_number</th>\n", - " <th>spg_symbol</th>\n", - " <th>formula</th>\n", - " <th>formation_energy_peratom</th>\n", - " <th>func</th>\n", - " <th>optb88vdw_bandgap</th>\n", - " <th>atoms</th>\n", - " <th>slme</th>\n", - " <th>magmom_oszicar</th>\n", - " <th>...</th>\n", - " <th>density</th>\n", - " <th>poisson</th>\n", - " <th>raw_files</th>\n", - " <th>nat</th>\n", - " <th>bulk_modulus_kv</th>\n", - " <th>shear_modulus_gv</th>\n", - " <th>mbj_bandgap</th>\n", - " <th>hse_gap</th>\n", - " <th>reference</th>\n", - " <th>search</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>JVASP-90856</td>\n", - " <td>129</td>\n", - " <td>P4/nmm</td>\n", - " <td>TiCuSiAs</td>\n", - " <td>-0.42762</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[3.566933224304235, 0.0, -0.0...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.956</td>\n", - " <td>na</td>\n", - " <td>[]</td>\n", - " <td>8</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>mp-1080455</td>\n", - " <td>-As-Cu-Si-Ti</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>JVASP-86097</td>\n", - " <td>221</td>\n", - " <td>Pm-3m</td>\n", - " <td>DyB6</td>\n", - " <td>-0.41596</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[4.089078911208881, 0.0, 0.0]...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.522</td>\n", - " <td>na</td>\n", - " <td>[OPT-LOPTICS,JVASP-86097.zip,https://ndownload...</td>\n", - " <td>7</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>mp-568319</td>\n", - " <td>-B-Dy</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>JVASP-64906</td>\n", - " <td>119</td>\n", - " <td>I-4m2</td>\n", - " <td>Be2OsRu</td>\n", - " <td>0.04847</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[-1.833590720595598, 1.833590...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>10.960</td>\n", - " <td>na</td>\n", - " <td>[OPT-LOPTICS,JVASP-64906.zip,https://ndownload...</td>\n", - " <td>4</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>auid-3eaf68dd483bf4f4</td>\n", - " <td>-Be-Os-Ru</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>JVASP-98225</td>\n", - " <td>14</td>\n", - " <td>P2_1/c</td>\n", - " <td>KBi</td>\n", - " <td>-0.44140</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.472</td>\n", - " <td>{'lattice_mat': [[7.2963518353359165, 0.0, 0.0...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.145</td>\n", - " <td>na</td>\n", - " <td>[]</td>\n", - " <td>32</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>mp-31104</td>\n", - " <td>-Bi-K</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>JVASP-10</td>\n", - " <td>164</td>\n", - " <td>P-3m1</td>\n", - " <td>VSe2</td>\n", - " <td>-0.71026</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[1.6777483798834445, -2.90594...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.718</td>\n", - " <td>0.23</td>\n", - " <td>[FD-ELAST,JVASP-10.zip,https://ndownloader.fig...</td>\n", - " <td>3</td>\n", - " <td>48.79</td>\n", - " <td>33.05</td>\n", - " <td>0.0</td>\n", - " <td>na</td>\n", - " <td>mp-694</td>\n", - " <td>-Se-V</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>5 rows × 64 columns</p>\n", - "</div>\n", - " <div class=\"colab-df-buttons\">\n", - "\n", - " <div class=\"colab-df-container\">\n", - " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d')\"\n", - " title=\"Convert this dataframe to an interactive table.\"\n", - " style=\"display:none;\">\n", - "\n", - " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", - " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", - " </svg>\n", - " </button>\n", - "\n", - " <style>\n", - " .colab-df-container {\n", - " display:flex;\n", - " gap: 12px;\n", - " }\n", - "\n", - " .colab-df-convert {\n", - " background-color: #E8F0FE;\n", - " border: none;\n", - " border-radius: 50%;\n", - " cursor: pointer;\n", - " display: none;\n", - " fill: #1967D2;\n", - " height: 32px;\n", - " padding: 0 0 0 0;\n", - " width: 32px;\n", - " }\n", - "\n", - " .colab-df-convert:hover {\n", - " background-color: #E2EBFA;\n", - " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", - " fill: #174EA6;\n", - " }\n", - "\n", - " .colab-df-buttons div {\n", - " margin-bottom: 4px;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-convert {\n", - " background-color: #3B4455;\n", - " fill: #D2E3FC;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-convert:hover {\n", - " background-color: #434B5C;\n", - " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", - " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", - " fill: #FFFFFF;\n", - " }\n", - " </style>\n", - "\n", - " <script>\n", - " const buttonEl =\n", - " document.querySelector('#df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d button.colab-df-convert');\n", - " buttonEl.style.display =\n", - " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", - "\n", - " async function convertToInteractive(key) {\n", - " const element = document.querySelector('#df-7bedbd8a-b0f7-4b76-aac4-3afa628ac70d');\n", - " const dataTable =\n", - " await google.colab.kernel.invokeFunction('convertToInteractive',\n", - " [key], {});\n", - " if (!dataTable) return;\n", - "\n", - " const docLinkHtml = 'Like what you see? Visit the ' +\n", - " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", - " + ' to learn more about interactive tables.';\n", - " element.innerHTML = '';\n", - " dataTable['output_type'] = 'display_data';\n", - " await google.colab.output.renderOutput(dataTable, element);\n", - " const docLink = document.createElement('div');\n", - " docLink.innerHTML = docLinkHtml;\n", - " element.appendChild(docLink);\n", - " }\n", - " </script>\n", - " </div>\n", - "\n", - "\n", - "<div id=\"df-bd8b8a00-937e-4b1d-a50c-05a9e032c404\">\n", - " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-bd8b8a00-937e-4b1d-a50c-05a9e032c404')\"\n", - " title=\"Suggest charts\"\n", - " style=\"display:none;\">\n", - "\n", - "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", - " width=\"24px\">\n", - " <g>\n", - " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", - " </g>\n", - "</svg>\n", - " </button>\n", - "\n", - "<style>\n", - " .colab-df-quickchart {\n", - " --bg-color: #E8F0FE;\n", - " --fill-color: #1967D2;\n", - " --hover-bg-color: #E2EBFA;\n", - " --hover-fill-color: #174EA6;\n", - " --disabled-fill-color: #AAA;\n", - " --disabled-bg-color: #DDD;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-quickchart {\n", - " --bg-color: #3B4455;\n", - " --fill-color: #D2E3FC;\n", - " --hover-bg-color: #434B5C;\n", - " --hover-fill-color: #FFFFFF;\n", - " --disabled-bg-color: #3B4455;\n", - " --disabled-fill-color: #666;\n", - " }\n", - "\n", - " .colab-df-quickchart {\n", - " background-color: var(--bg-color);\n", - " border: none;\n", - " border-radius: 50%;\n", - " cursor: pointer;\n", - " display: none;\n", - " fill: var(--fill-color);\n", - " height: 32px;\n", - " padding: 0;\n", - " width: 32px;\n", - " }\n", - "\n", - " .colab-df-quickchart:hover {\n", - " background-color: var(--hover-bg-color);\n", - " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", - " fill: var(--button-hover-fill-color);\n", - " }\n", - "\n", - " .colab-df-quickchart-complete:disabled,\n", - " .colab-df-quickchart-complete:disabled:hover {\n", - " background-color: var(--disabled-bg-color);\n", - " fill: var(--disabled-fill-color);\n", - " box-shadow: none;\n", - " }\n", - "\n", - " .colab-df-spinner {\n", - " border: 2px solid var(--fill-color);\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " animation:\n", - " spin 1s steps(1) infinite;\n", - " }\n", - "\n", - " @keyframes spin {\n", - " 0% {\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " border-left-color: var(--fill-color);\n", - " }\n", - " 20% {\n", - " border-color: transparent;\n", - " border-left-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " }\n", - " 30% {\n", - " border-color: transparent;\n", - " border-left-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " border-right-color: var(--fill-color);\n", - " }\n", - " 40% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " }\n", - " 60% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " }\n", - " 80% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " border-bottom-color: var(--fill-color);\n", - " }\n", - " 90% {\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " }\n", - " }\n", - "</style>\n", - "\n", - " <script>\n", - " async function quickchart(key) {\n", - " const quickchartButtonEl =\n", - " document.querySelector('#' + key + ' button');\n", - " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", - " quickchartButtonEl.classList.add('colab-df-spinner');\n", - " try {\n", - " const charts = await google.colab.kernel.invokeFunction(\n", - " 'suggestCharts', [key], {});\n", - " } catch (error) {\n", - " console.error('Error during call to suggestCharts:', error);\n", - " }\n", - " quickchartButtonEl.classList.remove('colab-df-spinner');\n", - " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", - " }\n", - " (() => {\n", - " let quickchartButtonEl =\n", - " document.querySelector('#df-bd8b8a00-937e-4b1d-a50c-05a9e032c404 button');\n", - " quickchartButtonEl.style.display =\n", - " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", - " })();\n", - " </script>\n", - "</div>\n", - "\n", - " </div>\n", - " </div>\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "df" - } - }, - "metadata": {}, - "execution_count": 15 - } - ] + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 23824/23824 [00:25<00:00, 921.20it/s]\n" + ] + } + ], + "source": [ + "## Use all the material dataset for training the bulk modulus\n", + "from tqdm import tqdm\n", + "\n", + "stoichs=[] #stoichiometry\n", + "bulk=[] #bulk modulus\n", + "for i in tqdm(range(len(bm))):\n", + " stoichs.append(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter())\n", + " bulk.append(bm.iloc[i]['bulk_modulus_kv'])\n", + "data_ran=list(zip(stoichs,bulk))\n", + "#write out the dataset, to train later\n", + "import pickle\n", + "with open('data_ran.pickle', 'wb') as f:\n", + " pickle.dump(data_ran, f)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "id": "CFgTo75EgzKR" + }, + "outputs": [], + "source": [ + "#read in the dataset\n", + "data_ran=pd.read_pickle('./data_ran.pickle')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "BWZuJzqNg-ak", + "outputId": "8076df63-2b15-4739-f5fe-9f703b68db6f" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "## Count number of entries for each property\n", - "for i in df.columns.values:\n", - " val=df[i].replace('na',np.nan).dropna().values\n", - " print(i,len(val))" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "hrRk8GKighlh", - "outputId": "d54272bd-a432-462c-d89a-65241d14db65" - }, - "execution_count": 16, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "jid 75993\n", - "spg_number 75993\n", - "spg_symbol 75993\n", - "formula 75993\n", - "formation_energy_peratom 75993\n", - "func 75993\n", - "optb88vdw_bandgap 75993\n", - "atoms 75993\n", - "slme 9770\n", - "magmom_oszicar 71320\n", - "spillage 11377\n", - "elastic_tensor 25513\n", - "effective_masses_300K 75993\n", - "kpoint_length_unit 75671\n", - "maxdiff_mesh 5861\n", - "maxdiff_bz 5861\n", - "encut 75670\n", - "optb88vdw_total_energy 75993\n", - "epsx 52168\n", - "epsy 52168\n", - "epsz 52168\n", - "mepsx 18293\n", - "mepsy 18293\n", - "mepsz 18293\n", - "modes 13910\n", - "magmom_outcar 74261\n", - "max_efg 11871\n", - "avg_elec_mass 17645\n", - "avg_hole_mass 17645\n", - "icsd 75993\n", - "dfpt_piezo_max_eij 4799\n", - "dfpt_piezo_max_dij 3347\n", - "dfpt_piezo_max_dielectric 4706\n", - "dfpt_piezo_max_dielectric_electronic 4809\n", - "dfpt_piezo_max_dielectric_ionic 4809\n", - "max_ir_mode 4805\n", - "min_ir_mode 4809\n", - "n-Seebeck 23218\n", - "p-Seebeck 23218\n", - "n-powerfact 23218\n", - "p-powerfact 23218\n", - "ncond 23218\n", - "pcond 23218\n", - "nkappa 23218\n", - "pkappa 23218\n", - "ehull 75993\n", - "Tc_supercon 1058\n", - "dimensionality 75560\n", - "efg 75993\n", - "xml_data_link 75993\n", - "typ 75993\n", - "exfoliation_energy 813\n", - "spg 75993\n", - "crys 75993\n", - "density 75993\n", - "poisson 23597\n", - "raw_files 75993\n", - "nat 75993\n", - "bulk_modulus_kv 23824\n", - "shear_modulus_gv 23824\n", - "mbj_bandgap 19805\n", - "hse_gap 56\n", - "reference 75993\n", - "search 75993\n" - ] - } + "data": { + "text/plain": [ + "list" ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(data_ran)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "TG4g1Dp4hBhg", + "outputId": "a3adbd5b-95c9-4ec9-8cd0-4c39136ea699" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "## Filter dataset based on desired property\n", - "## We will focus on elastic properties for today, i.e. Bulk modulus" - ], - "metadata": { - "id": "6dxg4ITfgkOE" - }, - "execution_count": 17, - "outputs": [] + "name": "stdout", + "output_type": "stream", + "text": [ + "Full Formula (Li4 Ce4 O8)\n", + "Reduced Formula: LiCeO2\n", + "abc : 5.778710 5.859847 6.029586\n", + "angles: 90.000000 90.000000 103.986129\n", + "pbc : True True True\n", + "Sites (16)\n", + " # SP a b c\n", + "--- ---- -------- -------- --------\n", + " 0 Li 0.182502 0.662954 0.132604\n", + " 1 Li 0.317498 0.337046 0.632604\n", + " 2 Li 0.817498 0.337046 0.867396\n", + " 3 Li 0.682502 0.662954 0.367396\n", + " 4 Ce 0.303409 0.200495 0.071539\n", + " 5 Ce 0.803409 0.200495 0.428461\n", + " 6 Ce 0.696591 0.799505 0.928461\n", + " 7 Ce 0.196591 0.799505 0.571539\n", + " 8 O 0.986063 0.906145 0.246099\n", + " 9 O 0.696592 0.43465 0.136137\n", + " 10 O 0.513937 0.093855 0.746099\n", + " 11 O 0.013937 0.093855 0.753901\n", + " 12 O 0.303408 0.56535 0.863863\n", + " 13 O 0.803408 0.56535 0.636137\n", + " 14 O 0.196592 0.43465 0.363863\n", + " 15 O 0.486063 0.906145 0.253901 2.0546896429499797\n" + ] + } + ], + "source": [ + "import random\n", + "import numpy as np\n", + "\n", + "\n", + "random.shuffle(data_ran)\n", + "\n", + "structures=[d[0] for d in data_ran[:15000]]\n", + "targets=np.log10([d[1] for d in data_ran])\n", + "\n", + "print(structures[0],targets[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "Z-jazl2PhHsP", + "outputId": "0044297b-6dc9-4f70-83f0-afb9c4c558d7" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "from jarvis.core.atoms import Atoms\n", - "bm=df[df.bulk_modulus_kv != 'na']\n", - "data = [(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter(), bm.iloc[i].bulk_modulus_kv) for i in range(len(bm))]" - ], - "metadata": { - "id": "xcuLFYdNgq-u" - }, - "execution_count": 18, - "outputs": [] + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 15000/15000 [00:24<00:00, 616.21it/s]\n" + ] + } + ], + "source": [ + "# get element types in the dataset\n", + "elem_list = get_element_list(structures)\n", + "# setup a graph converter\n", + "converter = Structure2Graph(element_types=elem_list, cutoff=4.0)\n", + "# convert the raw dataset into MEGNetDataset\n", + "mp_dataset = MGLDataset(\n", + " structures=structures,\n", + " labels={\"bulk_modulus_kv\": targets},\n", + " converter=converter,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "id": "QPyjAxGghK0Q" + }, + "outputs": [], + "source": [ + "train_data, val_data, test_data = split_dataset(\n", + " mp_dataset,\n", + " frac_list=[0.6, 0.2, 0.2],\n", + " shuffle=True,\n", + " random_state=42,\n", + ")\n", + "train_loader, val_loader, test_loader = MGLDataLoader(\n", + " train_data=train_data,\n", + " val_data=val_data,\n", + " test_data=test_data,\n", + " batch_size=64,\n", + " num_workers=0,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "id": "pYGXwyZphQtd" + }, + "outputs": [], + "source": [ + "# setup the embedding layer for node attributes\n", + "node_embed = torch.nn.Embedding(len(elem_list), 16)\n", + "# define the bond expansion\n", + "bond_expansion = BondExpansion(rbf_type=\"Gaussian\", initial=0.0, final=5.0, num_centers=100, width=0.5)\n", + "\n", + "# setup the architecture of MEGNet model\n", + "model = MEGNet(\n", + " dim_node_embedding=16,\n", + " dim_edge_embedding=100,\n", + " dim_state_embedding=2,\n", + " nblocks=3,\n", + " hidden_layer_sizes_input=(64, 32),\n", + " hidden_layer_sizes_conv=(64, 64, 32),\n", + " nlayers_set2set=1,\n", + " niters_set2set=2,\n", + " hidden_layer_sizes_output=(32, 16),\n", + " is_classification=False,\n", + " activation_type=\"softplus2\",\n", + " bond_expansion=bond_expansion,\n", + " #collate_fn=collate_fn, shivani - not needed now?\n", + " cutoff=4.0,\n", + " gauss_width=0.5,\n", + ")\n", + "\n", + "# setup the MEGNetTrainer\n", + "lit_module = ModelLightningModule(model=model)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 708, + "referenced_widgets": [ + "768ce9da55994740bd19d449bd0880db", + "744b1e9c9b304373b89b69c16527bba4", + "c87376480c15453e80da77d7b6d2dc8d", + "a2274b0c8e724eba88ed9831e0fe657f", + "1d9bf139827846faaca37ba65aa026fc", + "58e128907c7c4270a06475bcbe214344", + "82d62370c96f4a63a54da01f895e194a", + "6e9ad03ead644bddbd57452191ec933e", + "d2667d11892849faafba2b44e977c0f7", + "d965cf7c3f3a42189cbfc933911a0247", + "8ae912d0878b4a37956c43fb76cbd2e5", + "d9d6aacd59ea4fcf9c0f4224b377c610", + "3d0ea474af934d64a2bbbdf0fdb32a02", + "1bb71e54cd95404b846d9cbe5d551ca4", + "c0cc07d05463491fa633ecbf841ee082", + "4433c936afb347899ef59e62b0fdd9a0", + "8ff7258417a34807bf11740040d7e54c", + "c4f756d6ef224ddbaaf3a04ef0470078", + "4d3773a2ea1344838abd5d565cc14763", + "106bdf51936f49efab22ca3fa22bb1a1", + "cdb174433a1d43a3bd5274791234bf0d", + "ca8fcb63cae84124b3536af2434dfcf1", + "52064c4ca7734cd9baea5a5d8e81a81a", + "b74dfb101dd84c97893a6ba875cfcba0", + "b5334febcbb248b5a1cce202a2de0b55", + "622af7e0cf1d405aa6c178009b72558e", + "bfde609fc1054a24b8c3756613cbfa2e", + "3af2179787e2482c852c6db649181967", + "0d01dd8ca27944839e51976b2e63c557", + "2fd6a0dc83f34fa695755bfdb12b62ae", + "2091a3dd510943b79d027917a1617112", + "9bcd8d062d554d66b110c399d9c0b625", + "e53dd3ed466a49c4ad12cf824a1e6ed3", + "2e3d634584694485a3dc805dd4e6bb71", + "731b73b798c440e8ae4428f118cf4b50", + "fe08f3f0bffc41c684745a6f3352c70a", + "862a622adef047479bf306e707f8362e", + "ab911180843344b7b9231fc356a1a829", + "07f41aeca3df4799a3c07f54ab61661f", + "4928e22f1f7541c7883d6bddbd6d1a49", + "0625bafcce584b17bda54af0054c69da", + "bad36731d291429ba9ac961539ff09a2", + "545ae88a21f44cdbbbf1832e6dac8152", + "e46782297fb4465e94e19a56e56f0dcf", + "6fbc5cb56b044b36b6ac6fa704a42509", + "ea5611dacff74566a5d536b61fce35b2", + "5522746482f845bca9a95e0a2224909e", + "ad81dd6ad47541a692b0802aba292c87", + "88972e62ec0c4b4bb33780ecaf4df32f", + "bd1f348e965244e89c2d53fb83da7934", + "15ed082c47c24ad2bf4a84ae85198b41", + "f5e16d6a057e44458ad68b354ff01eda", + "5a2f302420ac451ba2a0c967c7b80b8a", + "d988de00f6b34fb5b7edc6aacbf6ce24", + "dfa2352a7ec947e585caabea0b5378c0", + "f0a25dc24c19453ba9f3e84169914ed5", + "17e55c8a116546cfadd75932be36604c", + "9ef9e5e64a5546fda0b2f2ee360b063b", + "0f296de304ef4f2aab1c61d922220962", + "7c47a7b3bed64f7e94054764e8607b14", + "7e5e21fb8a7d4ebea7c71e9f655fe606", + "9fb1d2f72fda43e4a91e4cbb23426322", + "0cc181a9b3e04d658d0eefefaabecaf4", + "b320af0dc127481fb92415d2247a565a", + "2a6e76a13e5747c2888b73ff55361dea", + "2d3bfc8b4da94766a48e6bd84e3932b3", + "530114990c934b02b04ed88233a4cda3", + "2fbda58508c94503891ad1ab96445398", + "348fc0c1069a4430be11d2112f212080", + "0c134e301fe5481bbcd47eb35ff1ecd9", + "cda06210315d42f3b4909bdc14310e15", + "98131182118a4e0bbb0de266875c10ec", + "9ef52af34b6d4030b0ed2ad1006e2a05", + "c719f246dc254ba284b1975932eaedf9", + "b70eedcca7744a8dab61e3c5796e2072", + "3ccc25decd5b48e39bd101a6a526865e", + "904fb13e4c9a4290a95c7003770d0a32" + ] }, + "id": "nqWWnzQUhoki", + "outputId": "71988016-cb28-41b3-ea83-4400f135f481" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "import itertools\n", - "def get_stoichiometry(elements):\n", - " return [(g[0], len(list(g[1]))) for g in itertools.groupby(elements)]" - ], - "metadata": { - "id": "Sc1zXAn4gtTT" - }, - "execution_count": 19, - "outputs": [] + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO: GPU available: False, used: False\n", + "INFO:lightning.pytorch.utilities.rank_zero:GPU available: False, used: False\n", + "INFO: TPU available: False, using: 0 TPU cores\n", + "INFO:lightning.pytorch.utilities.rank_zero:TPU available: False, using: 0 TPU cores\n", + "INFO: HPU available: False, using: 0 HPUs\n", + "INFO:lightning.pytorch.utilities.rank_zero:HPU available: False, using: 0 HPUs\n", + "INFO: \n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n", + "INFO:lightning.pytorch.callbacks.model_summary:\n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n" + ] }, { - "cell_type": "code", - "source": [ - "## Use all the material dataset for training the bulk modulus\n", - "from tqdm import tqdm\n", - "\n", - "stoichs=[] #stoichiometry\n", - "bulk=[] #bulk modulus\n", - "for i in tqdm(range(len(bm))):\n", - " stoichs.append(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter())\n", - " bulk.append(bm.iloc[i]['bulk_modulus_kv'])\n", - "data_ran=list(zip(stoichs,bulk))\n", - "#write out the dataset, to train later\n", - "import pickle\n", - "with open('data_ran.pickle', 'wb') as f:\n", - " pickle.dump(data_ran, f)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "arU4jF5tgvt0", - "outputId": "c75f7f94-afe6-4d42-e81a-93405ddcc301" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "768ce9da55994740bd19d449bd0880db", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 20, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 23824/23824 [00:25<00:00, 921.20it/s]\n" - ] - } + "text/plain": [ + "Sanity Checking: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "#read in the dataset\n", - "data_ran=pd.read_pickle('./data_ran.pickle')" - ], - "metadata": { - "id": "CFgTo75EgzKR" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d9d6aacd59ea4fcf9c0f4224b377c610", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 22, - "outputs": [] + "text/plain": [ + "Training: | | 0/? [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "type(data_ran)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "BWZuJzqNg-ak", - "outputId": "8076df63-2b15-4739-f5fe-9f703b68db6f" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "52064c4ca7734cd9baea5a5d8e81a81a", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 23, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "list" - ] - }, - "metadata": {}, - "execution_count": 23 - } + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "import random\n", - "import numpy as np\n", - "\n", - "\n", - "random.shuffle(data_ran)\n", - "\n", - "structures=[d[0] for d in data_ran[:15000]]\n", - "targets=np.log10([d[1] for d in data_ran])\n", - "\n", - "print(structures[0],targets[0])" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "TG4g1Dp4hBhg", - "outputId": "a3adbd5b-95c9-4ec9-8cd0-4c39136ea699" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2e3d634584694485a3dc805dd4e6bb71", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 24, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Full Formula (Li4 Ce4 O8)\n", - "Reduced Formula: LiCeO2\n", - "abc : 5.778710 5.859847 6.029586\n", - "angles: 90.000000 90.000000 103.986129\n", - "pbc : True True True\n", - "Sites (16)\n", - " # SP a b c\n", - "--- ---- -------- -------- --------\n", - " 0 Li 0.182502 0.662954 0.132604\n", - " 1 Li 0.317498 0.337046 0.632604\n", - " 2 Li 0.817498 0.337046 0.867396\n", - " 3 Li 0.682502 0.662954 0.367396\n", - " 4 Ce 0.303409 0.200495 0.071539\n", - " 5 Ce 0.803409 0.200495 0.428461\n", - " 6 Ce 0.696591 0.799505 0.928461\n", - " 7 Ce 0.196591 0.799505 0.571539\n", - " 8 O 0.986063 0.906145 0.246099\n", - " 9 O 0.696592 0.43465 0.136137\n", - " 10 O 0.513937 0.093855 0.746099\n", - " 11 O 0.013937 0.093855 0.753901\n", - " 12 O 0.303408 0.56535 0.863863\n", - " 13 O 0.803408 0.56535 0.636137\n", - " 14 O 0.196592 0.43465 0.363863\n", - " 15 O 0.486063 0.906145 0.253901 2.0546896429499797\n" - ] - } + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "# get element types in the dataset\n", - "elem_list = get_element_list(structures)\n", - "# setup a graph converter\n", - "converter = Structure2Graph(element_types=elem_list, cutoff=4.0)\n", - "# convert the raw dataset into MEGNetDataset\n", - "mp_dataset = MGLDataset(\n", - " structures=structures,\n", - " labels={\"bulk_modulus_kv\": targets},\n", - " converter=converter,\n", - ")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "Z-jazl2PhHsP", - "outputId": "0044297b-6dc9-4f70-83f0-afb9c4c558d7" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6fbc5cb56b044b36b6ac6fa704a42509", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 25, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 15000/15000 [00:24<00:00, 616.21it/s]\n" - ] - } + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "train_data, val_data, test_data = split_dataset(\n", - " mp_dataset,\n", - " frac_list=[0.6, 0.2, 0.2],\n", - " shuffle=True,\n", - " random_state=42,\n", - ")\n", - "train_loader, val_loader, test_loader = MGLDataLoader(\n", - " train_data=train_data,\n", - " val_data=val_data,\n", - " test_data=test_data,\n", - " batch_size=64,\n", - " num_workers=0,\n", - ")" - ], - "metadata": { - "id": "QPyjAxGghK0Q" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f0a25dc24c19453ba9f3e84169914ed5", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 26, - "outputs": [] + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "# setup the embedding layer for node attributes\n", - "node_embed = torch.nn.Embedding(len(elem_list), 16)\n", - "# define the bond expansion\n", - "bond_expansion = BondExpansion(rbf_type=\"Gaussian\", initial=0.0, final=5.0, num_centers=100, width=0.5)\n", - "\n", - "# setup the architecture of MEGNet model\n", - "model = MEGNet(\n", - " dim_node_embedding=16,\n", - " dim_edge_embedding=100,\n", - " dim_state_embedding=2,\n", - " nblocks=3,\n", - " hidden_layer_sizes_input=(64, 32),\n", - " hidden_layer_sizes_conv=(64, 64, 32),\n", - " nlayers_set2set=1,\n", - " niters_set2set=2,\n", - " hidden_layer_sizes_output=(32, 16),\n", - " is_classification=False,\n", - " activation_type=\"softplus2\",\n", - " bond_expansion=bond_expansion,\n", - " #collate_fn=collate_fn, shivani - not needed now?\n", - " cutoff=4.0,\n", - " gauss_width=0.5,\n", - ")\n", - "\n", - "# setup the MEGNetTrainer\n", - "lit_module = ModelLightningModule(model=model)" - ], - "metadata": { - "id": "pYGXwyZphQtd" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "530114990c934b02b04ed88233a4cda3", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 33, - "outputs": [] + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "logger = CSVLogger(\"logged\", name=\"MEGNet_training\")\n", - "trainer = Trainer(max_epochs=5, accelerator=\"cpu\", logger=logger) #set to SMALL NUMBER FOR TESTING, PLEASE CHANGE.\n", - "trainer.fit(model=lit_module, train_dataloaders=train_loader, val_dataloaders=val_loader)\n", - "\n", - "warnings.simplefilter(\"ignore\")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 708, - "referenced_widgets": [ - "768ce9da55994740bd19d449bd0880db", - "744b1e9c9b304373b89b69c16527bba4", - "c87376480c15453e80da77d7b6d2dc8d", - "a2274b0c8e724eba88ed9831e0fe657f", - "1d9bf139827846faaca37ba65aa026fc", - "58e128907c7c4270a06475bcbe214344", - "82d62370c96f4a63a54da01f895e194a", - "6e9ad03ead644bddbd57452191ec933e", - "d2667d11892849faafba2b44e977c0f7", - "d965cf7c3f3a42189cbfc933911a0247", - "8ae912d0878b4a37956c43fb76cbd2e5", - "d9d6aacd59ea4fcf9c0f4224b377c610", - "3d0ea474af934d64a2bbbdf0fdb32a02", - "1bb71e54cd95404b846d9cbe5d551ca4", - "c0cc07d05463491fa633ecbf841ee082", - "4433c936afb347899ef59e62b0fdd9a0", - "8ff7258417a34807bf11740040d7e54c", - "c4f756d6ef224ddbaaf3a04ef0470078", - "4d3773a2ea1344838abd5d565cc14763", - "106bdf51936f49efab22ca3fa22bb1a1", - "cdb174433a1d43a3bd5274791234bf0d", - "ca8fcb63cae84124b3536af2434dfcf1", - "52064c4ca7734cd9baea5a5d8e81a81a", - "b74dfb101dd84c97893a6ba875cfcba0", - "b5334febcbb248b5a1cce202a2de0b55", - "622af7e0cf1d405aa6c178009b72558e", - "bfde609fc1054a24b8c3756613cbfa2e", - "3af2179787e2482c852c6db649181967", - "0d01dd8ca27944839e51976b2e63c557", - "2fd6a0dc83f34fa695755bfdb12b62ae", - "2091a3dd510943b79d027917a1617112", - "9bcd8d062d554d66b110c399d9c0b625", - "e53dd3ed466a49c4ad12cf824a1e6ed3", - "2e3d634584694485a3dc805dd4e6bb71", - "731b73b798c440e8ae4428f118cf4b50", - "fe08f3f0bffc41c684745a6f3352c70a", - "862a622adef047479bf306e707f8362e", - "ab911180843344b7b9231fc356a1a829", - "07f41aeca3df4799a3c07f54ab61661f", - "4928e22f1f7541c7883d6bddbd6d1a49", - "0625bafcce584b17bda54af0054c69da", - "bad36731d291429ba9ac961539ff09a2", - "545ae88a21f44cdbbbf1832e6dac8152", - "e46782297fb4465e94e19a56e56f0dcf", - "6fbc5cb56b044b36b6ac6fa704a42509", - "ea5611dacff74566a5d536b61fce35b2", - "5522746482f845bca9a95e0a2224909e", - "ad81dd6ad47541a692b0802aba292c87", - "88972e62ec0c4b4bb33780ecaf4df32f", - "bd1f348e965244e89c2d53fb83da7934", - "15ed082c47c24ad2bf4a84ae85198b41", - "f5e16d6a057e44458ad68b354ff01eda", - "5a2f302420ac451ba2a0c967c7b80b8a", - "d988de00f6b34fb5b7edc6aacbf6ce24", - "dfa2352a7ec947e585caabea0b5378c0", - "f0a25dc24c19453ba9f3e84169914ed5", - "17e55c8a116546cfadd75932be36604c", - "9ef9e5e64a5546fda0b2f2ee360b063b", - "0f296de304ef4f2aab1c61d922220962", - "7c47a7b3bed64f7e94054764e8607b14", - "7e5e21fb8a7d4ebea7c71e9f655fe606", - "9fb1d2f72fda43e4a91e4cbb23426322", - "0cc181a9b3e04d658d0eefefaabecaf4", - "b320af0dc127481fb92415d2247a565a", - "2a6e76a13e5747c2888b73ff55361dea", - "2d3bfc8b4da94766a48e6bd84e3932b3", - "530114990c934b02b04ed88233a4cda3", - "2fbda58508c94503891ad1ab96445398", - "348fc0c1069a4430be11d2112f212080", - "0c134e301fe5481bbcd47eb35ff1ecd9", - "cda06210315d42f3b4909bdc14310e15", - "98131182118a4e0bbb0de266875c10ec", - "9ef52af34b6d4030b0ed2ad1006e2a05", - "c719f246dc254ba284b1975932eaedf9", - "b70eedcca7744a8dab61e3c5796e2072", - "3ccc25decd5b48e39bd101a6a526865e", - "904fb13e4c9a4290a95c7003770d0a32" - ] - }, - "id": "nqWWnzQUhoki", - "outputId": "71988016-cb28-41b3-ea83-4400f135f481" - }, - "execution_count": 40, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "INFO: GPU available: False, used: False\n", - "INFO:lightning.pytorch.utilities.rank_zero:GPU available: False, used: False\n", - "INFO: TPU available: False, using: 0 TPU cores\n", - "INFO:lightning.pytorch.utilities.rank_zero:TPU available: False, using: 0 TPU cores\n", - "INFO: HPU available: False, using: 0 HPUs\n", - "INFO:lightning.pytorch.utilities.rank_zero:HPU available: False, using: 0 HPUs\n", - "INFO: \n", - " | Name | Type | Params | Mode \n", - "----------------------------------------------------\n", - "0 | model | MEGNet | 189 K | train\n", - "1 | mae | MeanAbsoluteError | 0 | train\n", - "2 | rmse | MeanSquaredError | 0 | train\n", - "----------------------------------------------------\n", - "189 K Trainable params\n", - "100 Non-trainable params\n", - "189 K Total params\n", - "0.758 Total estimated model params size (MB)\n", - "109 Modules in train mode\n", - "0 Modules in eval mode\n", - "INFO:lightning.pytorch.callbacks.model_summary:\n", - " | Name | Type | Params | Mode \n", - "----------------------------------------------------\n", - "0 | model | MEGNet | 189 K | train\n", - "1 | mae | MeanAbsoluteError | 0 | train\n", - "2 | rmse | MeanSquaredError | 0 | train\n", - "----------------------------------------------------\n", - "189 K Trainable params\n", - "100 Non-trainable params\n", - "189 K Total params\n", - "0.758 Total estimated model params size (MB)\n", - "109 Modules in train mode\n", - "0 Modules in eval mode\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Sanity Checking: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "768ce9da55994740bd19d449bd0880db" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Training: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "d9d6aacd59ea4fcf9c0f4224b377c610" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "52064c4ca7734cd9baea5a5d8e81a81a" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "2e3d634584694485a3dc805dd4e6bb71" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "6fbc5cb56b044b36b6ac6fa704a42509" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "f0a25dc24c19453ba9f3e84169914ed5" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "530114990c934b02b04ed88233a4cda3" - } - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "INFO: `Trainer.fit` stopped: `max_epochs=5` reached.\n", - "INFO:lightning.pytorch.utilities.rank_zero:`Trainer.fit` stopped: `max_epochs=5` reached.\n" - ] - } - ] + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO: `Trainer.fit` stopped: `max_epochs=5` reached.\n", + "INFO:lightning.pytorch.utilities.rank_zero:`Trainer.fit` stopped: `max_epochs=5` reached.\n" + ] + } + ], + "source": [ + "logger = CSVLogger(\"logged\", name=\"MEGNet_training\")\n", + "trainer = Trainer(max_epochs=5, accelerator=\"cpu\", logger=logger) #set to SMALL NUMBER FOR TESTING, PLEASE CHANGE.\n", + "trainer.fit(model=lit_module, train_dataloaders=train_loader, val_dataloaders=val_loader)\n", + "\n", + "warnings.simplefilter(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 }, + "id": "x2mTOHAGhqvE", + "outputId": "252e83de-6b95-4b75-ac17-cbc96a04a0cf" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "metrics = pd.read_csv(\"logged/MEGNet_training/version_0/metrics.csv\")\n", - "metrics[\"train_MAE\"].dropna().plot()\n", - "metrics[\"val_MAE\"].dropna().plot()\n", - "\n", - "_ = plt.legend()\n", - "#plt.savefig(\"loss.jpg\")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 430 - }, - "id": "x2mTOHAGhqvE", - "outputId": "252e83de-6b95-4b75-ac17-cbc96a04a0cf" - }, - "execution_count": 41, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ], - "image/png": "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0/yjvLw8ffnll0pPT6+yLzw8XCkpKR4XFm/evFlt27b12O6++26v1u8wtb1B3yLFxcUKDw9XUVGRwsLCGrocAMANuHr1qo4ePapOnTopJCSkoctBHavp77e279+cuQEAAFYh3AAAYLkJEyZUedZM5TZhwoSGLq/OcUExAACWmzdvnqZNm1btPhsvzyDcAABguTZt2qhNmzYNXUa94WMpAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAOAjOnbsqIULFzZ0GY0e4QYAAAt17NhRDodDq1evrrKvW7ducjgcWr58eZV9WVlZ8vf31/z586vsW758uRwOR5WtsX0NBuEGAABLxcTEaNmyZR5tn3/+uVwul5o2bVrtmOzsbP3qV79SdnZ2tfvDwsJ05swZj+348eN1XvutINwAAHyfMVLppYbZavn90++8846io6NVUVHh0T548GCNHTtWX3/9tQYPHqyoqCg1a9ZMffr00UcffXRLy5KZmalt27bp5MmT7rbs7GxlZmZW+43f27Zt05UrVzRv3jwVFxdrx44dVfo4HA45nU6PLSoq6pbqrGs8oRgA4PvKLksvRzfMsZ87LQVVfxbkH/385z/X5MmT9fHHHyslJUWSdP78eW3evFmbNm3SxYsX9cADD+ill15ScHCwVqxYoUGDBunIkSOKjY29qdKioqKUlpam3//+95o1a5YuX76sNWvWaNu2bVqxYkWV/kuXLlVGRoYCAwOVkZGhpUuXql+/fjd17IbEmRsAAOpBixYtdP/992vVqlXutnXr1qlVq1a699571bNnTz3xxBPq3r274uLi9OKLL6pz58768MMPb+m4Y8eO1fLly2WM0bp169S5c2clJCRU6VdcXKx169Zp+PDhkqThw4frD3/4gy5evOjRr6ioqMqXb95///23VGNd48wNAMD3BTb5/gxKQx27ljIzM/X444/rrbfeUnBwsFauXKnHHntMfn5+unjxon79619r48aNOnPmjK5du6YrV67oxIkTt1TewIED9cQTT+iTTz5Rdna2xo4dW22/9957T507d1bPnj0lSQkJCerQoYPWrFmjcePGufs1b95ce/fu9RgbGhp6SzXWNcINAMD3ORy1+miooQ0aNEjGGG3cuFF9+vTR9u3b9dprr0mSpk2bpi1btmjBggXq0qWLQkNDNXToUJWWlt7S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X1sjff9R1H333ae0tDTNnz/ffSx/f/9aha5K3C0FAIDvqe37t1cuKJaklStXatKkSUpJSZGfn5/S09P1+uuvu/eXlZXpyJEjunz5srvttddec/ctKSlRWlqa3nrrLff+devW6ezZs3r33Xf17rvvuts7dOigY8eOeWsqAADAh3jtzE1jxpkbAAB8T4M+5wYAAKChEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKt4LdycP39emZmZCgsLU0REhMaNG6eLFy/WOObq1auaOHGiWrZsqWbNmik9PV35+fnV9v3222/Vvn17ORwOFRYWemEGAADAF3kt3GRmZurAgQPasmWLNmzYoE8++UTjx4+vccwvf/lL/fGPf9TatWu1bds2nT59Wo888ki1fceNG6ef/OQn3igdAAD4MIcxxtT1ix46dEh33XWXdu/erd69e0uSNm/erAceeEDffPONoqOjq4wpKipS69attWrVKg0dOlSSdPjwYXXt2lW5ubnq27evu+/bb7+tNWvWaM6cOUpJSdF3332niIiIWtdXXFys8PBwFRUVKSws7NYmCwAA6kVt37+9cuYmNzdXERER7mAjSampqfLz89POnTurHZOXl6eysjKlpqa62+Lj4xUbG6vc3Fx328GDBzVv3jytWLFCfn61K7+kpETFxcUeGwAAsJNXwo3L5VKbNm082gICAhQZGSmXy3XdMUFBQVXOwERFRbnHlJSUKCMjQ/Pnz1dsbGyt68nKylJ4eLh7i4mJubEJAQAAn3FD4WbGjBlyOBw1bocPH/ZW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\n" - }, - "metadata": {} - } + "data": { + "image/png": "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0/yjvLw8ffnll0pPT6+yLzw8XCkpKR4XFm/evFlt27b12O6++26v1u8wtb1B3yLFxcUKDw9XUVGRwsLCGrocAMANuHr1qo4ePapOnTopJCSkoctBHavp77e279+cuQEAAFYh3AAAYLkJEyZUedZM5TZhwoSGLq/OcUExAACWmzdvnqZNm1btPhsvzyDcAABguTZt2qhNmzYNXUa94WMpAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAOAjOnbsqIULFzZ0GY0e4QYAAAt17NhRDodDq1evrrKvW7ducjgcWr58eZV9WVlZ8vf31/z586vsW758uRwOR5WtsX0NBuEGAABLxcTEaNmyZR5tn3/+uVwul5o2bVrtmOzsbP3qV79SdnZ2tfvDwsJ05swZj+348eN1XvutINwAAHyfMVLppYbZavn90++8846io6NVUVHh0T548GCNHTtWX3/9tQYPHqyoqCg1a9ZMffr00UcffXRLy5KZmalt27bp5MmT7rbs7GxlZmZW+43f27Zt05UrVzRv3jwVFxdrx44dVfo4HA45nU6PLSoq6pbqrGs8oRgA4PvKLksvRzfMsZ87LQVVfxbkH/385z/X5MmT9fHHHyslJUWSdP78eW3evFmbNm3SxYsX9cADD+ill15ScHCwVqxYoUGDBunIkSOKjY29qdKioqKUlpam3//+95o1a5YuX76sNWvWaNu2bVqxYkWV/kuXLlVGRoYCAwOVkZGhpUuXql+/fjd17IbEmRsAAOpBixYtdP/992vVqlXutnXr1qlVq1a699571bNnTz3xxBPq3r274uLi9OKLL6pz58768MMPb+m4Y8eO1fLly2WM0bp169S5c2clJCRU6VdcXKx169Zp+PDhkqThw4frD3/4gy5evOjRr6ioqMqXb95///23VGNd48wNAMD3BTb5/gxKQx27ljIzM/X444/rrbfeUnBwsFauXKnHHntMfn5+unjxon79619r48aNOnPmjK5du6YrV67oxIkTt1TewIED9cQTT+iTTz5Rdna2xo4dW22/9957T507d1bPnj0lSQkJCerQoYPWrFmjcePGufs1b95ce/fu9RgbGhp6SzXWNcINAMD3ORy1+miooQ0aNEjGGG3cuFF9+vTR9u3b9dprr0mSpk2bpi1btmjBggXq0qWLQkNDNXToUJWWlt7S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X1sjff9R1H333ae0tDTNnz/ffSx/f/9aha5K3C0FAIDvqe37t1cuKJaklStXatKkSUpJSZGfn5/S09P1+uuvu/eXlZXpyJEjunz5srvttddec/ctKSlRWlqa3nrrLff+devW6ezZs3r33Xf17rvvuts7dOigY8eOeWsqAADAh3jtzE1jxpkbAAB8T4M+5wYAAKChEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBgAAWIVwAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBVCDcAAMAqhBsAAGAVwg0AALAK4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKt4LdycP39emZmZCgsLU0REhMaNG6eLFy/WOObq1auaOHGiWrZsqWbNmik9PV35+fnV9v3222/Vvn17ORwOFRYWemEGAADAF3kt3GRmZurAgQPasmWLNmzYoE8++UTjx4+vccwvf/lL/fGPf9TatWu1bds2nT59Wo888ki1fceNG6ef/OQn3igdAAD4MIcxxtT1ix46dEh33XWXdu/erd69e0uSNm/erAceeEDffPONoqOjq4wpKipS69attWrVKg0dOlSSdPjwYXXt2lW5ubnq27evu+/bb7+tNWvWaM6cOUpJSdF3332niIiIWtdXXFys8PBwFRUVKSws7NYmCwAA6kVt37+9cuYmNzdXERER7mAjSampqfLz89POnTurHZOXl6eysjKlpqa62+Lj4xUbG6vc3Fx328GDBzVv3jytWLFCfn61K7+kpETFxcUeGwAAsJNXwo3L5VKbNm082gICAhQZGSmXy3XdMUFBQVXOwERFRbnHlJSUKCMjQ/Pnz1dsbGyt68nKylJ4eLh7i4mJubEJAQAAn3FD4WbGjBlyOBw1bocPH/ZW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\n", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics = pd.read_csv(\"logged/MEGNet_training/version_0/metrics.csv\")\n", + "metrics[\"train_MAE\"].dropna().plot()\n", + "metrics[\"val_MAE\"].dropna().plot()\n", + "\n", + "_ = plt.legend()\n", + "#plt.savefig(\"loss.jpg\")" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 383 }, + "id": "qZ0XV5e2jYXR", + "outputId": "ce1b9f10-d929-4db9-ace9-4c2801731f3b" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "metrics" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 383 - }, - "id": "qZ0XV5e2jYXR", - "outputId": "ce1b9f10-d929-4db9-ace9-4c2801731f3b" + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"metrics\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"epoch\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 0,\n \"max\": 4,\n \"num_unique_values\": 5,\n \"samples\": [\n 1,\n 4,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"step\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 210,\n \"min\": 140,\n \"max\": 704,\n \"num_unique_values\": 5,\n \"samples\": [\n 281,\n 704,\n 422\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_MAE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_RMSE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_Total_Loss\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_MAE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_RMSE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_Total_Loss\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe", + "variable_name": "metrics" }, - "execution_count": 42, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " epoch step train_MAE train_RMSE train_Total_Loss val_MAE val_RMSE \\\n", - "0 0 140 NaN NaN NaN NaN NaN \n", - "1 0 140 NaN NaN NaN NaN NaN \n", - "2 1 281 NaN NaN NaN NaN NaN \n", - "3 1 281 NaN NaN NaN NaN NaN \n", - "4 2 422 NaN NaN NaN NaN NaN \n", - "5 2 422 NaN NaN NaN NaN NaN \n", - "6 3 563 NaN NaN NaN NaN NaN \n", - "7 3 563 NaN NaN NaN NaN NaN \n", - "8 4 704 NaN NaN NaN NaN NaN \n", - "9 4 704 NaN NaN NaN NaN NaN \n", - "\n", - " val_Total_Loss \n", - "0 NaN \n", - "1 NaN \n", - "2 NaN \n", - "3 NaN \n", - "4 NaN \n", - "5 NaN \n", - "6 NaN \n", - "7 NaN \n", - "8 NaN \n", - "9 NaN " - ], - "text/html": [ - "\n", - " <div id=\"df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02\" class=\"colab-df-container\">\n", - " <div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>epoch</th>\n", - " <th>step</th>\n", - " <th>train_MAE</th>\n", - " <th>train_RMSE</th>\n", - " <th>train_Total_Loss</th>\n", - " <th>val_MAE</th>\n", - " <th>val_RMSE</th>\n", - " <th>val_Total_Loss</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>0</td>\n", - " <td>140</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>0</td>\n", - " <td>140</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>1</td>\n", - " <td>281</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>1</td>\n", - " <td>281</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>2</td>\n", - " <td>422</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>2</td>\n", - " <td>422</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>3</td>\n", - " <td>563</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>7</th>\n", - " <td>3</td>\n", - " <td>563</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>8</th>\n", - " <td>4</td>\n", - " <td>704</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>9</th>\n", - " <td>4</td>\n", - " <td>704</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>\n", - " <div class=\"colab-df-buttons\">\n", - "\n", - " <div class=\"colab-df-container\">\n", - " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02')\"\n", - " title=\"Convert this dataframe to an interactive table.\"\n", - " style=\"display:none;\">\n", - "\n", - " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", - " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", - " </svg>\n", - " </button>\n", - "\n", - " <style>\n", - " .colab-df-container {\n", - " display:flex;\n", - " gap: 12px;\n", - " }\n", - "\n", - " .colab-df-convert {\n", - " background-color: #E8F0FE;\n", - " border: none;\n", - " border-radius: 50%;\n", - " cursor: pointer;\n", - " display: none;\n", - " fill: #1967D2;\n", - " height: 32px;\n", - " padding: 0 0 0 0;\n", - " width: 32px;\n", - " }\n", - "\n", - " .colab-df-convert:hover {\n", - " background-color: #E2EBFA;\n", - " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", - " fill: #174EA6;\n", - " }\n", - "\n", - " .colab-df-buttons div {\n", - " margin-bottom: 4px;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-convert {\n", - " background-color: #3B4455;\n", - " fill: #D2E3FC;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-convert:hover {\n", - " background-color: #434B5C;\n", - " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", - " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", - " fill: #FFFFFF;\n", - " }\n", - " </style>\n", - "\n", - " <script>\n", - " const buttonEl =\n", - " document.querySelector('#df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02 button.colab-df-convert');\n", - " buttonEl.style.display =\n", - " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", - "\n", - " async function convertToInteractive(key) {\n", - " const element = document.querySelector('#df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02');\n", - " const dataTable =\n", - " await google.colab.kernel.invokeFunction('convertToInteractive',\n", - " [key], {});\n", - " if (!dataTable) return;\n", - "\n", - " const docLinkHtml = 'Like what you see? Visit the ' +\n", - " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", - " + ' to learn more about interactive tables.';\n", - " element.innerHTML = '';\n", - " dataTable['output_type'] = 'display_data';\n", - " await google.colab.output.renderOutput(dataTable, element);\n", - " const docLink = document.createElement('div');\n", - " docLink.innerHTML = docLinkHtml;\n", - " element.appendChild(docLink);\n", - " }\n", - " </script>\n", - " </div>\n", - "\n", - "\n", - "<div id=\"df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170\">\n", - " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170')\"\n", - " title=\"Suggest charts\"\n", - " style=\"display:none;\">\n", - "\n", - "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", - " width=\"24px\">\n", - " <g>\n", - " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", - " </g>\n", - "</svg>\n", - " </button>\n", - "\n", - "<style>\n", - " .colab-df-quickchart {\n", - " --bg-color: #E8F0FE;\n", - " --fill-color: #1967D2;\n", - " --hover-bg-color: #E2EBFA;\n", - " --hover-fill-color: #174EA6;\n", - " --disabled-fill-color: #AAA;\n", - " --disabled-bg-color: #DDD;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-quickchart {\n", - " --bg-color: #3B4455;\n", - " --fill-color: #D2E3FC;\n", - " --hover-bg-color: #434B5C;\n", - " --hover-fill-color: #FFFFFF;\n", - " --disabled-bg-color: #3B4455;\n", - " --disabled-fill-color: #666;\n", - " }\n", - "\n", - " .colab-df-quickchart {\n", - " background-color: var(--bg-color);\n", - " border: none;\n", - " border-radius: 50%;\n", - " cursor: pointer;\n", - " display: none;\n", - " fill: var(--fill-color);\n", - " height: 32px;\n", - " padding: 0;\n", - " width: 32px;\n", - " }\n", - "\n", - " .colab-df-quickchart:hover {\n", - " background-color: var(--hover-bg-color);\n", - " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", - " fill: var(--button-hover-fill-color);\n", - " }\n", - "\n", - " .colab-df-quickchart-complete:disabled,\n", - " .colab-df-quickchart-complete:disabled:hover {\n", - " background-color: var(--disabled-bg-color);\n", - " fill: var(--disabled-fill-color);\n", - " box-shadow: none;\n", - " }\n", - "\n", - " .colab-df-spinner {\n", - " border: 2px solid var(--fill-color);\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " animation:\n", - " spin 1s steps(1) infinite;\n", - " }\n", - "\n", - " @keyframes spin {\n", - " 0% {\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " border-left-color: var(--fill-color);\n", - " }\n", - " 20% {\n", - " border-color: transparent;\n", - " border-left-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " }\n", - " 30% {\n", - " border-color: transparent;\n", - " border-left-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " border-right-color: var(--fill-color);\n", - " }\n", - " 40% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " }\n", - " 60% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " }\n", - " 80% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " border-bottom-color: var(--fill-color);\n", - " }\n", - " 90% {\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " }\n", - " }\n", - "</style>\n", - "\n", - " <script>\n", - " async function quickchart(key) {\n", - " const quickchartButtonEl =\n", - " document.querySelector('#' + key + ' button');\n", - " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", - " quickchartButtonEl.classList.add('colab-df-spinner');\n", - " try {\n", - " const charts = await google.colab.kernel.invokeFunction(\n", - " 'suggestCharts', [key], {});\n", - " } catch (error) {\n", - " console.error('Error during call to suggestCharts:', error);\n", - " }\n", - " quickchartButtonEl.classList.remove('colab-df-spinner');\n", - " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", - " }\n", - " (() => {\n", - " let quickchartButtonEl =\n", - " document.querySelector('#df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170 button');\n", - " quickchartButtonEl.style.display =\n", - " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", - " })();\n", - " </script>\n", - "</div>\n", - "\n", - " <div id=\"id_b784e831-0f56-432a-aa7e-2249f5c19941\">\n", - " <style>\n", - " .colab-df-generate {\n", - " background-color: #E8F0FE;\n", - " border: none;\n", - " border-radius: 50%;\n", - " cursor: pointer;\n", - " display: none;\n", - " fill: #1967D2;\n", - " height: 32px;\n", - " padding: 0 0 0 0;\n", - " width: 32px;\n", - " }\n", - "\n", - " .colab-df-generate:hover {\n", - " background-color: #E2EBFA;\n", - " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", - " fill: #174EA6;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-generate {\n", - " background-color: #3B4455;\n", - " fill: #D2E3FC;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-generate:hover {\n", - " background-color: #434B5C;\n", - " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", - " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", - " fill: #FFFFFF;\n", - " }\n", - " </style>\n", - " <button class=\"colab-df-generate\" onclick=\"generateWithVariable('metrics')\"\n", - " title=\"Generate code using this dataframe.\"\n", - " style=\"display:none;\">\n", - "\n", - " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", - " width=\"24px\">\n", - " <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", - " </svg>\n", - " </button>\n", - " <script>\n", - " (() => {\n", - " const buttonEl =\n", - " document.querySelector('#id_b784e831-0f56-432a-aa7e-2249f5c19941 button.colab-df-generate');\n", - " buttonEl.style.display =\n", - " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", - "\n", - " buttonEl.onclick = () => {\n", - " google.colab.notebook.generateWithVariable('metrics');\n", - " }\n", - " })();\n", - " </script>\n", - " </div>\n", - "\n", - " </div>\n", - " </div>\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "metrics", - "summary": "{\n \"name\": \"metrics\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"epoch\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 0,\n \"max\": 4,\n \"num_unique_values\": 5,\n \"samples\": [\n 1,\n 4,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"step\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 210,\n \"min\": 140,\n \"max\": 704,\n \"num_unique_values\": 5,\n \"samples\": [\n 281,\n 704,\n 422\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_MAE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_RMSE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"train_Total_Loss\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_MAE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_RMSE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"val_Total_Loss\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": null,\n \"min\": null,\n \"max\": null,\n \"num_unique_values\": 0,\n \"samples\": [],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" - } - }, - "metadata": {}, - "execution_count": 42 - } + "text/html": [ + "\n", + " <div id=\"df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>epoch</th>\n", + " <th>step</th>\n", + " <th>train_MAE</th>\n", + " <th>train_RMSE</th>\n", + " <th>train_Total_Loss</th>\n", + " <th>val_MAE</th>\n", + " <th>val_RMSE</th>\n", + " <th>val_Total_Loss</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>140</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0</td>\n", + " <td>140</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>1</td>\n", + " <td>281</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>1</td>\n", + " <td>281</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>2</td>\n", + " <td>422</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>2</td>\n", + " <td>422</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>3</td>\n", + " <td>563</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>3</td>\n", + " <td>563</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>4</td>\n", + " <td>704</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>4</td>\n", + " <td>704</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " <td>NaN</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02 button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-3f3f3a66-fe27-47d9-8a3b-a4d6fae45b02');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-87ed75c9-b3bc-43d0-a0ee-4bc56bb39170 button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " <div id=\"id_b784e831-0f56-432a-aa7e-2249f5c19941\">\n", + " <style>\n", + " .colab-df-generate {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-generate:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-generate {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-generate:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + " <button class=\"colab-df-generate\" onclick=\"generateWithVariable('metrics')\"\n", + " title=\"Generate code using this dataframe.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", + " </svg>\n", + " </button>\n", + " <script>\n", + " (() => {\n", + " const buttonEl =\n", + " document.querySelector('#id_b784e831-0f56-432a-aa7e-2249f5c19941 button.colab-df-generate');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " buttonEl.onclick = () => {\n", + " google.colab.notebook.generateWithVariable('metrics');\n", + " }\n", + " })();\n", + " </script>\n", + " </div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "text/plain": [ + " epoch step train_MAE train_RMSE train_Total_Loss val_MAE val_RMSE \\\n", + "0 0 140 NaN NaN NaN NaN NaN \n", + "1 0 140 NaN NaN NaN NaN NaN \n", + "2 1 281 NaN NaN NaN NaN NaN \n", + "3 1 281 NaN NaN NaN NaN NaN \n", + "4 2 422 NaN NaN NaN NaN NaN \n", + "5 2 422 NaN NaN NaN NaN NaN \n", + "6 3 563 NaN NaN NaN NaN NaN \n", + "7 3 563 NaN NaN NaN NaN NaN \n", + "8 4 704 NaN NaN NaN NaN NaN \n", + "9 4 704 NaN NaN NaN NaN NaN \n", + "\n", + " val_Total_Loss \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN " ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 233 }, + "id": "XUzf_WX5jZb5", + "outputId": "be203ece-03f9-43e1-d66d-3f2213753479" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "i=0\n", - "prediction=np.zeros(len(test_data))\n", - "for i in range(len(structures_test)):\n", - " prediction[i]=model.predict_structure(structures_test[i])" + "ename": "NameError", + "evalue": "name 'structures_test' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m<ipython-input-43-2431dbd08dbf>\u001b[0m in \u001b[0;36m<cell line: 3>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mprediction\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstructures_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mprediction\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict_structure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstructures_test\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'structures_test' is not defined" + ] + } + ], + "source": [ + "i=0\n", + "prediction=np.zeros(len(test_data))\n", + "for i in range(len(structures_test)):\n", + " prediction[i]=model.predict_structure(structures_test[i])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "txs3tg93kQfr" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "0625bafcce584b17bda54af0054c69da": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "07f41aeca3df4799a3c07f54ab61661f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0c134e301fe5481bbcd47eb35ff1ecd9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3ccc25decd5b48e39bd101a6a526865e", + "placeholder": "​", + "style": "IPY_MODEL_904fb13e4c9a4290a95c7003770d0a32", + "value": " 47/47 [00:06<00:00,  7.72it/s]" + } + }, + "0cc181a9b3e04d658d0eefefaabecaf4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0d01dd8ca27944839e51976b2e63c557": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0f296de304ef4f2aab1c61d922220962": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2a6e76a13e5747c2888b73ff55361dea", + "placeholder": "​", + "style": "IPY_MODEL_2d3bfc8b4da94766a48e6bd84e3932b3", + "value": " 47/47 [00:05<00:00,  9.38it/s]" + } + }, + "106bdf51936f49efab22ca3fa22bb1a1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "15ed082c47c24ad2bf4a84ae85198b41": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "17e55c8a116546cfadd75932be36604c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7e5e21fb8a7d4ebea7c71e9f655fe606", + "placeholder": "​", + "style": "IPY_MODEL_9fb1d2f72fda43e4a91e4cbb23426322", + "value": "Validation DataLoader 0: 100%" + } + }, + "1bb71e54cd95404b846d9cbe5d551ca4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4d3773a2ea1344838abd5d565cc14763", + "max": 141, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_106bdf51936f49efab22ca3fa22bb1a1", + "value": 141 + } + }, + "1d9bf139827846faaca37ba65aa026fc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "2091a3dd510943b79d027917a1617112": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2a6e76a13e5747c2888b73ff55361dea": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2d3bfc8b4da94766a48e6bd84e3932b3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2e3d634584694485a3dc805dd4e6bb71": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_731b73b798c440e8ae4428f118cf4b50", + "IPY_MODEL_fe08f3f0bffc41c684745a6f3352c70a", + "IPY_MODEL_862a622adef047479bf306e707f8362e" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 233 - }, - "id": "XUzf_WX5jZb5", - "outputId": "be203ece-03f9-43e1-d66d-3f2213753479" - }, - "execution_count": 43, - "outputs": [ - { - "output_type": "error", - "ename": "NameError", - "evalue": "name 'structures_test' is not defined", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-43-2431dbd08dbf>\u001b[0m in \u001b[0;36m<cell line: 3>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mprediction\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstructures_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mprediction\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict_structure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstructures_test\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name 'structures_test' is not defined" - ] - } - ] + "layout": "IPY_MODEL_ab911180843344b7b9231fc356a1a829" + } }, - { - "cell_type": "code", - "source": [], - "metadata": { - "id": "txs3tg93kQfr" - }, - "execution_count": null, - "outputs": [] + "2fbda58508c94503891ad1ab96445398": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_98131182118a4e0bbb0de266875c10ec", + "placeholder": "​", + "style": "IPY_MODEL_9ef52af34b6d4030b0ed2ad1006e2a05", + "value": "Validation DataLoader 0: 100%" + } + }, + "2fd6a0dc83f34fa695755bfdb12b62ae": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "348fc0c1069a4430be11d2112f212080": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c719f246dc254ba284b1975932eaedf9", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b70eedcca7744a8dab61e3c5796e2072", + "value": 47 + } + }, + "3af2179787e2482c852c6db649181967": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3ccc25decd5b48e39bd101a6a526865e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3d0ea474af934d64a2bbbdf0fdb32a02": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8ff7258417a34807bf11740040d7e54c", + "placeholder": "​", + "style": "IPY_MODEL_c4f756d6ef224ddbaaf3a04ef0470078", + "value": "Epoch 4: 100%" + } + }, + "4433c936afb347899ef59e62b0fdd9a0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "100%" + } + }, + "4928e22f1f7541c7883d6bddbd6d1a49": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4d3773a2ea1344838abd5d565cc14763": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "52064c4ca7734cd9baea5a5d8e81a81a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_b74dfb101dd84c97893a6ba875cfcba0", + "IPY_MODEL_b5334febcbb248b5a1cce202a2de0b55", + "IPY_MODEL_622af7e0cf1d405aa6c178009b72558e" + ], + "layout": "IPY_MODEL_bfde609fc1054a24b8c3756613cbfa2e" + } + }, + "530114990c934b02b04ed88233a4cda3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_2fbda58508c94503891ad1ab96445398", + "IPY_MODEL_348fc0c1069a4430be11d2112f212080", + "IPY_MODEL_0c134e301fe5481bbcd47eb35ff1ecd9" + ], + "layout": "IPY_MODEL_cda06210315d42f3b4909bdc14310e15" + } + }, + "545ae88a21f44cdbbbf1832e6dac8152": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5522746482f845bca9a95e0a2224909e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f5e16d6a057e44458ad68b354ff01eda", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5a2f302420ac451ba2a0c967c7b80b8a", + "value": 47 + } + }, + "58e128907c7c4270a06475bcbe214344": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5a2f302420ac451ba2a0c967c7b80b8a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "622af7e0cf1d405aa6c178009b72558e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9bcd8d062d554d66b110c399d9c0b625", + "placeholder": "​", + "style": "IPY_MODEL_e53dd3ed466a49c4ad12cf824a1e6ed3", + "value": " 47/47 [00:10<00:00,  4.54it/s]" + } + }, + "6e9ad03ead644bddbd57452191ec933e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6fbc5cb56b044b36b6ac6fa704a42509": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ea5611dacff74566a5d536b61fce35b2", + "IPY_MODEL_5522746482f845bca9a95e0a2224909e", + "IPY_MODEL_ad81dd6ad47541a692b0802aba292c87" + ], + "layout": "IPY_MODEL_88972e62ec0c4b4bb33780ecaf4df32f" + } + }, + "731b73b798c440e8ae4428f118cf4b50": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_07f41aeca3df4799a3c07f54ab61661f", + "placeholder": "​", + "style": "IPY_MODEL_4928e22f1f7541c7883d6bddbd6d1a49", + "value": "Validation DataLoader 0: 100%" + } + }, + "744b1e9c9b304373b89b69c16527bba4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_58e128907c7c4270a06475bcbe214344", + "placeholder": "​", + "style": "IPY_MODEL_82d62370c96f4a63a54da01f895e194a", + "value": "Sanity Checking DataLoader 0: 100%" + } + }, + "768ce9da55994740bd19d449bd0880db": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_744b1e9c9b304373b89b69c16527bba4", + "IPY_MODEL_c87376480c15453e80da77d7b6d2dc8d", + "IPY_MODEL_a2274b0c8e724eba88ed9831e0fe657f" + ], + "layout": "IPY_MODEL_1d9bf139827846faaca37ba65aa026fc" + } + }, + "7c47a7b3bed64f7e94054764e8607b14": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "7e5e21fb8a7d4ebea7c71e9f655fe606": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "82d62370c96f4a63a54da01f895e194a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "862a622adef047479bf306e707f8362e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_545ae88a21f44cdbbbf1832e6dac8152", + "placeholder": "​", + "style": "IPY_MODEL_e46782297fb4465e94e19a56e56f0dcf", + "value": " 47/47 [00:05<00:00,  8.58it/s]" + } + }, + "88972e62ec0c4b4bb33780ecaf4df32f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "8ae912d0878b4a37956c43fb76cbd2e5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8ff7258417a34807bf11740040d7e54c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "904fb13e4c9a4290a95c7003770d0a32": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "98131182118a4e0bbb0de266875c10ec": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9bcd8d062d554d66b110c399d9c0b625": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9ef52af34b6d4030b0ed2ad1006e2a05": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9ef9e5e64a5546fda0b2f2ee360b063b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0cc181a9b3e04d658d0eefefaabecaf4", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b320af0dc127481fb92415d2247a565a", + "value": 47 + } + }, + "9fb1d2f72fda43e4a91e4cbb23426322": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a2274b0c8e724eba88ed9831e0fe657f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d965cf7c3f3a42189cbfc933911a0247", + "placeholder": "​", + "style": "IPY_MODEL_8ae912d0878b4a37956c43fb76cbd2e5", + "value": " 2/2 [00:00<00:00,  7.99it/s]" + } + }, + "ab911180843344b7b9231fc356a1a829": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "ad81dd6ad47541a692b0802aba292c87": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d988de00f6b34fb5b7edc6aacbf6ce24", + "placeholder": "​", + "style": "IPY_MODEL_dfa2352a7ec947e585caabea0b5378c0", + "value": " 47/47 [00:07<00:00,  6.07it/s]" + } + }, + "b320af0dc127481fb92415d2247a565a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b5334febcbb248b5a1cce202a2de0b55": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2fd6a0dc83f34fa695755bfdb12b62ae", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2091a3dd510943b79d027917a1617112", + "value": 47 + } + }, + "b70eedcca7744a8dab61e3c5796e2072": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b74dfb101dd84c97893a6ba875cfcba0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3af2179787e2482c852c6db649181967", + "placeholder": "​", + "style": "IPY_MODEL_0d01dd8ca27944839e51976b2e63c557", + "value": "Validation DataLoader 0: 100%" + } + }, + "bad36731d291429ba9ac961539ff09a2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "bd1f348e965244e89c2d53fb83da7934": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bfde609fc1054a24b8c3756613cbfa2e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "c0cc07d05463491fa633ecbf841ee082": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cdb174433a1d43a3bd5274791234bf0d", + "placeholder": "​", + "style": "IPY_MODEL_ca8fcb63cae84124b3536af2434dfcf1", + "value": " 141/141 [00:37<00:00,  3.76it/s, v_num=0, val_Total_Loss=nan.0, val_MAE=nan.0, val_RMSE=nan.0, train_Total_Loss=nan.0, train_MAE=nan.0, train_RMSE=nan.0]" + } + }, + "c4f756d6ef224ddbaaf3a04ef0470078": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c719f246dc254ba284b1975932eaedf9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c87376480c15453e80da77d7b6d2dc8d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6e9ad03ead644bddbd57452191ec933e", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_d2667d11892849faafba2b44e977c0f7", + "value": 2 + } + }, + "ca8fcb63cae84124b3536af2434dfcf1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "cda06210315d42f3b4909bdc14310e15": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "cdb174433a1d43a3bd5274791234bf0d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d2667d11892849faafba2b44e977c0f7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "d965cf7c3f3a42189cbfc933911a0247": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d988de00f6b34fb5b7edc6aacbf6ce24": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d9d6aacd59ea4fcf9c0f4224b377c610": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_3d0ea474af934d64a2bbbdf0fdb32a02", + "IPY_MODEL_1bb71e54cd95404b846d9cbe5d551ca4", + "IPY_MODEL_c0cc07d05463491fa633ecbf841ee082" + ], + "layout": "IPY_MODEL_4433c936afb347899ef59e62b0fdd9a0" + } + }, + "dfa2352a7ec947e585caabea0b5378c0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e46782297fb4465e94e19a56e56f0dcf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e53dd3ed466a49c4ad12cf824a1e6ed3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ea5611dacff74566a5d536b61fce35b2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_bd1f348e965244e89c2d53fb83da7934", + "placeholder": "​", + "style": "IPY_MODEL_15ed082c47c24ad2bf4a84ae85198b41", + "value": "Validation DataLoader 0: 100%" + } + }, + "f0a25dc24c19453ba9f3e84169914ed5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_17e55c8a116546cfadd75932be36604c", + "IPY_MODEL_9ef9e5e64a5546fda0b2f2ee360b063b", + "IPY_MODEL_0f296de304ef4f2aab1c61d922220962" + ], + "layout": "IPY_MODEL_7c47a7b3bed64f7e94054764e8607b14" + } + }, + "f5e16d6a057e44458ad68b354ff01eda": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fe08f3f0bffc41c684745a6f3352c70a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0625bafcce584b17bda54af0054c69da", + "max": 47, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_bad36731d291429ba9ac961539ff09a2", + "value": 47 + } } - ] -} \ No newline at end of file + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Workshop3/molcal.ipynb b/Workshop3/molcal.ipynb index a6e031d2e5744017b71d6711507fc5d8368996a3..132248386936b0238e25b5d0245e42c89eaf3810 100644 --- a/Workshop3/molcal.ipynb +++ b/Workshop3/molcal.ipynb @@ -1,4004 +1,4014 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { "colab": { - "provenance": [] - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "f7321d7b1b9a4dbe905092f388240f23": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_79500fbf2f93417796e265786cb54a43", - "IPY_MODEL_b755785fab01467cb5989d11385e716c", - "IPY_MODEL_c26f6b42e3f348f2a4e161765d99042e" - ], - "layout": "IPY_MODEL_d7150457f96049c88b5a7e2604670830" - } - }, - "79500fbf2f93417796e265786cb54a43": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_49a1ca9a00214ab8bf626d1d16f64c75", - "placeholder": "​", - "style": "IPY_MODEL_ff6205ce16e447368fe2f232db393de0", - "value": "Sanity Checking DataLoader 0: 100%" - } - }, - "b755785fab01467cb5989d11385e716c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5ecf53db53174e2c86358541bc4f1a2b", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_db1985753e164a188e96db0188528d22", - "value": 2 - } - }, - "c26f6b42e3f348f2a4e161765d99042e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_14ad15cdf67047879b38fcb976c793a7", - "placeholder": "​", - "style": "IPY_MODEL_690367a2eeee4bb9bedc20effdc450b3", - "value": " 2/2 [00:00<00:00,  4.32it/s]" - } - }, - "d7150457f96049c88b5a7e2604670830": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "49a1ca9a00214ab8bf626d1d16f64c75": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ff6205ce16e447368fe2f232db393de0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "5ecf53db53174e2c86358541bc4f1a2b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "db1985753e164a188e96db0188528d22": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "14ad15cdf67047879b38fcb976c793a7": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "690367a2eeee4bb9bedc20effdc450b3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "56705796817d43028c6eddfefc18336f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_d80bf4bdb76149b68e674b2ee649626c", - "IPY_MODEL_867bb34bd9534aa39c85c07fe3f92f4e", - "IPY_MODEL_dffbbe151dd34200beff08eafd98a380" - ], - "layout": "IPY_MODEL_f0507d80a2c74d53b4963130af706fb8" - } - }, - "d80bf4bdb76149b68e674b2ee649626c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_79fcd95516f44348a313203b209e0dbb", - "placeholder": "​", - "style": "IPY_MODEL_5393fa5795634e8ba5603785421b4b7e", - "value": "Epoch 4: 100%" - } - }, - "867bb34bd9534aa39c85c07fe3f92f4e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_629aa27bc05e4b6890c0457d57175e57", - "max": 218, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_39c9bef36079445199e8b9b4c310a207", - "value": 218 - } - }, - "dffbbe151dd34200beff08eafd98a380": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2abee34399b5404f8aa2d13ca1f8a0a1", - "placeholder": "​", - "style": "IPY_MODEL_82c48b8ef01b462d9df631e9d172316b", - "value": " 218/218 [01:03<00:00,  3.43it/s, v_num=0, val_Total_Loss=0.0667, val_MAE=0.169, val_RMSE=0.251, train_Total_Loss=0.0663, train_MAE=0.169, train_RMSE=0.251]" - } - }, - "f0507d80a2c74d53b4963130af706fb8": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": "100%" - } - }, - "79fcd95516f44348a313203b209e0dbb": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5393fa5795634e8ba5603785421b4b7e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "629aa27bc05e4b6890c0457d57175e57": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "39c9bef36079445199e8b9b4c310a207": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2abee34399b5404f8aa2d13ca1f8a0a1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "82c48b8ef01b462d9df631e9d172316b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "73653ee65cde4122ba0268dabc34f827": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_b96935fe7dea45859703dcd49a3b1f52", - "IPY_MODEL_d94c1dbd52b44ae9b9e565e44f691e05", - "IPY_MODEL_a2ae7f36742049ab9980e60fc1014d86" - ], - "layout": "IPY_MODEL_bb160cdca74641a088df5ba8445517cc" - } - }, - "b96935fe7dea45859703dcd49a3b1f52": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_02b5bd9111e14cc2acb3ca61bbd7878d", - "placeholder": "​", - "style": "IPY_MODEL_cb9e5e4447c64dcc950f0f9b6f64eacd", - "value": "Validation DataLoader 0: 100%" - } - }, - "d94c1dbd52b44ae9b9e565e44f691e05": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_02f73d2307e0464aadeb4e728ea98f6b", - "max": 73, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_df300bb1205d4ccf90ade86c1197a971", - "value": 73 - } - }, - "a2ae7f36742049ab9980e60fc1014d86": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2a15f542acf8406b890f4b1d4063446a", - "placeholder": "​", - "style": "IPY_MODEL_c45569e490c74ca996fee25f8bd31cdf", - "value": " 73/73 [00:09<00:00,  7.85it/s]" - } - }, - "bb160cdca74641a088df5ba8445517cc": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "02b5bd9111e14cc2acb3ca61bbd7878d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "cb9e5e4447c64dcc950f0f9b6f64eacd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "02f73d2307e0464aadeb4e728ea98f6b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "df300bb1205d4ccf90ade86c1197a971": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2a15f542acf8406b890f4b1d4063446a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c45569e490c74ca996fee25f8bd31cdf": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d79c6b456ffb4289921288199c1a5e93": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_74559eacbf754aec8abd39be4ce5948b", - "IPY_MODEL_3d9ca4d6a78b4be388d47a2c26a2d534", - "IPY_MODEL_1abde559f901468aa22132e3e7ded2c6" - ], - "layout": "IPY_MODEL_589dc33928254b279a9561a9f0e1edd2" - } - }, - "74559eacbf754aec8abd39be4ce5948b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_543ce0246d5d4f26b149f57170032644", - "placeholder": "​", - "style": "IPY_MODEL_68c82105b3f04b00bdbb4b7bc31d0db5", - "value": "Validation DataLoader 0: 100%" - } - }, - "3d9ca4d6a78b4be388d47a2c26a2d534": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a2b86afdb6fd4447abd6a782ec961e7b", - "max": 73, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_3bcbe7eb46c1470d91c137937ca29cb6", - "value": 73 - } - }, - "1abde559f901468aa22132e3e7ded2c6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f7255b3f29b740339a4bfa0419d46114", - "placeholder": "​", - "style": "IPY_MODEL_66b0e7e3d46248c3b6fed1687ec424ac", - "value": " 73/73 [00:09<00:00,  7.64it/s]" - } - }, - "589dc33928254b279a9561a9f0e1edd2": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "543ce0246d5d4f26b149f57170032644": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "68c82105b3f04b00bdbb4b7bc31d0db5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a2b86afdb6fd4447abd6a782ec961e7b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3bcbe7eb46c1470d91c137937ca29cb6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "f7255b3f29b740339a4bfa0419d46114": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "66b0e7e3d46248c3b6fed1687ec424ac": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "3b8db07a150a4f058a540e5d584a981c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_c51ffc590efd48988bc043157000c46d", - "IPY_MODEL_0bc1b357649b490696dc0498590c2253", - "IPY_MODEL_b8ed08a8827440e5944221ee4e577a22" - ], - "layout": "IPY_MODEL_9bf98247ac654ced921ccb3f59029f46" - } - }, - "c51ffc590efd48988bc043157000c46d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4abf302ed171414e9a4204d72e84af21", - "placeholder": "​", - "style": "IPY_MODEL_1dc96decbde849fc9750042eabc26918", - "value": "Validation DataLoader 0: 100%" - } - }, - "0bc1b357649b490696dc0498590c2253": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ef2d223473fd466e83ea73541e50b114", - "max": 73, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_9f3e170ad77d494785fb4a1827472873", - "value": 73 - } - }, - "b8ed08a8827440e5944221ee4e577a22": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_cbd1497f4a404b649052068a93025e31", - "placeholder": "​", - "style": "IPY_MODEL_0b7acd53e36347b38de1e31a244bd484", - "value": " 73/73 [00:09<00:00,  7.69it/s]" - } - }, - "9bf98247ac654ced921ccb3f59029f46": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "4abf302ed171414e9a4204d72e84af21": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "1dc96decbde849fc9750042eabc26918": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ef2d223473fd466e83ea73541e50b114": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9f3e170ad77d494785fb4a1827472873": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "cbd1497f4a404b649052068a93025e31": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0b7acd53e36347b38de1e31a244bd484": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "8f22afc4e41a45f28fb1c81f37c554fc": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_629f5065fec04c039ce71a88aca28ac7", - "IPY_MODEL_3671f10fdae141cb9e0a47cc1db97210", - "IPY_MODEL_50f79d64fa0a4b94b24b5c7a06e0af12" - ], - "layout": "IPY_MODEL_4fd6b3e353ad4fb4af11ca5985e1bfe5" - } - }, - "629f5065fec04c039ce71a88aca28ac7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_693131233ec241bcb7ddbe8a8e1ff2e0", - "placeholder": "​", - "style": "IPY_MODEL_73eed7e431de45f091117115ed11dbe5", - "value": "Validation DataLoader 0: 100%" - } - }, - "3671f10fdae141cb9e0a47cc1db97210": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7b94ecf3158748728de903d980e18c38", - "max": 73, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_43d879e9907b43f6a800861eae99e048", - "value": 73 - } - }, - "50f79d64fa0a4b94b24b5c7a06e0af12": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4f99d7a4c905449db8ed0f8061a485b8", - "placeholder": "​", - "style": "IPY_MODEL_d54dea38ba5449de89353102e31c9214", - "value": " 73/73 [00:08<00:00,  8.39it/s]" - } - }, - "4fd6b3e353ad4fb4af11ca5985e1bfe5": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "693131233ec241bcb7ddbe8a8e1ff2e0": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "73eed7e431de45f091117115ed11dbe5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7b94ecf3158748728de903d980e18c38": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "43d879e9907b43f6a800861eae99e048": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "4f99d7a4c905449db8ed0f8061a485b8": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "d54dea38ba5449de89353102e31c9214": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "21db824539da4758a8aa5c6351949cc5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_73ae5b95afc24ba2bebdcdf077ec7c43", - "IPY_MODEL_7112ceeb185f424a95b08454ee688b18", - "IPY_MODEL_dd06ea396d3c4faeba71a50f77b75701" - ], - "layout": "IPY_MODEL_d5ab3316f9754baa80a985abfc27b64d" - } - }, - "73ae5b95afc24ba2bebdcdf077ec7c43": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0d2671b5646542419e45f1311d8993c3", - "placeholder": "​", - "style": "IPY_MODEL_df51d44724d64c0ca5c127afdf373ac7", - "value": "Validation DataLoader 0: 100%" - } - }, - "7112ceeb185f424a95b08454ee688b18": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2fd82da052dd482eab2679261b5c0f3f", - "max": 73, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e5a739d5069f4e0db2cca257a96bf97a", - "value": 73 - } - }, - "dd06ea396d3c4faeba71a50f77b75701": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_00a869694a674b6c842722a59cb8da12", - "placeholder": "​", - "style": "IPY_MODEL_8dd15ab4f07246a2b263fdf29c1656f9", - "value": " 73/73 [00:11<00:00,  6.63it/s]" - } - }, - "d5ab3316f9754baa80a985abfc27b64d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": "inline-flex", - "flex": null, - "flex_flow": "row wrap", - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": "100%" - } - }, - "0d2671b5646542419e45f1311d8993c3": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "df51d44724d64c0ca5c127afdf373ac7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2fd82da052dd482eab2679261b5c0f3f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": "2", - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e5a739d5069f4e0db2cca257a96bf97a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "00a869694a674b6c842722a59cb8da12": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8dd15ab4f07246a2b263fdf29c1656f9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - } - } + "base_uri": "https://localhost:8080/" + }, + "id": "bV_P-WaWFxQo", + "outputId": "9d4c2445-eaca-4197-a56d-5180a554564f" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting jarvis-tools\n", + " Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl.metadata (3.1 kB)\n", + "Requirement already satisfied: numpy>=1.20.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.26.4)\n", + "Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.13.1)\n", + "Requirement already satisfied: matplotlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (3.8.0)\n", + "Requirement already satisfied: joblib>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.4.2)\n", + "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (2.32.3)\n", + "Requirement already satisfied: toolz>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (0.12.1)\n", + "Collecting xmltodict>=0.11.0 (from jarvis-tools)\n", + " Downloading xmltodict-0.14.2-py2.py3-none-any.whl.metadata (8.0 kB)\n", + "Requirement already satisfied: tqdm>=4.41.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (4.66.6)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.5.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (2.8.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2024.8.30)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->jarvis-tools) (3.5.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.0.0->jarvis-tools) (1.16.0)\n", + "Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl (4.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m19.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading xmltodict-0.14.2-py2.py3-none-any.whl (10.0 kB)\n", + "Installing collected packages: xmltodict, jarvis-tools\n", + "Successfully installed jarvis-tools-2024.10.10 xmltodict-0.14.2\n" + ] } + ], + "source": [ + "!pip install jarvis-tools" + ] }, - "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "q-pMYyCvF4Cq", + "outputId": "ccf55b22-b816-4581-e1d6-13d8e2a9cdee" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "bV_P-WaWFxQo", - "outputId": "9d4c2445-eaca-4197-a56d-5180a554564f" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting jarvis-tools\n", - " Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl.metadata (3.1 kB)\n", - "Requirement already satisfied: numpy>=1.20.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.26.4)\n", - "Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.13.1)\n", - "Requirement already satisfied: matplotlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (3.8.0)\n", - "Requirement already satisfied: joblib>=0.14.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.4.2)\n", - "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (2.32.3)\n", - "Requirement already satisfied: toolz>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (0.12.1)\n", - "Collecting xmltodict>=0.11.0 (from jarvis-tools)\n", - " Downloading xmltodict-0.14.2-py2.py3-none-any.whl.metadata (8.0 kB)\n", - "Requirement already satisfied: tqdm>=4.41.1 in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (4.66.6)\n", - "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from jarvis-tools) (1.5.2)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (1.4.7)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (24.1)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (10.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (3.2.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.0.0->jarvis-tools) (2.8.2)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->jarvis-tools) (2024.8.30)\n", - "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->jarvis-tools) (3.5.0)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.0.0->jarvis-tools) (1.16.0)\n", - "Downloading jarvis_tools-2024.10.10-py2.py3-none-any.whl (4.2 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m19.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading xmltodict-0.14.2-py2.py3-none-any.whl (10.0 kB)\n", - "Installing collected packages: xmltodict, jarvis-tools\n", - "Successfully installed jarvis-tools-2024.10.10 xmltodict-0.14.2\n" - ] - } - ], - "source": [ - "!pip install jarvis-tools" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting pymatgen\n", + " Downloading pymatgen-2024.10.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.4.2)\n", + "Requirement already satisfied: matplotlib>=3.8 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.8.0)\n", + "Collecting monty>=2024.7.29 (from pymatgen)\n", + " Downloading monty-2024.10.21-py3-none-any.whl.metadata (3.6 kB)\n", + "Requirement already satisfied: networkx>=3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.4.2)\n", + "Collecting palettable>=3.3.3 (from pymatgen)\n", + " Downloading palettable-3.3.3-py2.py3-none-any.whl.metadata (3.3 kB)\n", + "Requirement already satisfied: pandas>=2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.2.2)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (5.24.1)\n", + "Collecting pybtex>=0.24.0 (from pymatgen)\n", + " Downloading pybtex-0.24.0-py2.py3-none-any.whl.metadata (2.0 kB)\n", + "Requirement already satisfied: requests>=2.32 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.32.3)\n", + "Collecting ruamel.yaml>=0.17.0 (from pymatgen)\n", + " Downloading ruamel.yaml-0.18.6-py3-none-any.whl.metadata (23 kB)\n", + "Requirement already satisfied: scipy>=1.13.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Collecting spglib>=2.5.0 (from pymatgen)\n", + " Downloading spglib-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)\n", + "Requirement already satisfied: sympy>=1.2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.9.0)\n", + "Requirement already satisfied: tqdm>=4.60 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (4.66.6)\n", + "Collecting uncertainties>=3.1.4 (from pymatgen)\n", + " Downloading uncertainties-3.2.2-py3-none-any.whl.metadata (6.9 kB)\n", + "Requirement already satisfied: numpy<3,>=1.25.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.26.4)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (24.1)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen) (9.0.0)\n", + "Requirement already satisfied: PyYAML>=3.01 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (6.0.2)\n", + "Collecting latexcodec>=1.0.4 (from pybtex>=0.24.0->pymatgen)\n", + " Downloading latexcodec-3.0.0-py3-none-any.whl.metadata (4.9 kB)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2024.8.30)\n", + "Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml>=0.17.0->pymatgen)\n", + " Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy>=1.2->pymatgen) (1.3.0)\n", + "Downloading pymatgen-2024.10.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.9/4.9 MB\u001b[0m \u001b[31m35.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading monty-2024.10.21-py3-none-any.whl (68 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m68.5/68.5 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading palettable-3.3.3-py2.py3-none-any.whl (332 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m332.3/332.3 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pybtex-0.24.0-py2.py3-none-any.whl (561 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m561.4/561.4 kB\u001b[0m \u001b[31m21.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ruamel.yaml-0.18.6-py3-none-any.whl (117 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m117.8/117.8 kB\u001b[0m \u001b[31m6.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading spglib-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m35.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading uncertainties-3.2.2-py3-none-any.whl (58 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading latexcodec-3.0.0-py3-none-any.whl (18 kB)\n", + "Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m722.2/722.2 kB\u001b[0m \u001b[31m32.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: uncertainties, spglib, ruamel.yaml.clib, palettable, latexcodec, ruamel.yaml, pybtex, monty, pymatgen\n", + "Successfully installed latexcodec-3.0.0 monty-2024.10.21 palettable-3.3.3 pybtex-0.24.0 pymatgen-2024.10.29 ruamel.yaml-0.18.6 ruamel.yaml.clib-0.2.12 spglib-2.5.0 uncertainties-3.2.2\n" + ] + } + ], + "source": [ + " !pip3 install pymatgen" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "510ELKTMF9Yu", + "outputId": "663be47b-f545-4f7b-ca73-d9cafaba2115" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - " !pip3 install pymatgen" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "q-pMYyCvF4Cq", - "outputId": "ccf55b22-b816-4581-e1d6-13d8e2a9cdee" - }, - "execution_count": 2, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting pymatgen\n", - " Downloading pymatgen-2024.10.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", - "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.4.2)\n", - "Requirement already satisfied: matplotlib>=3.8 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.8.0)\n", - "Collecting monty>=2024.7.29 (from pymatgen)\n", - " Downloading monty-2024.10.21-py3-none-any.whl.metadata (3.6 kB)\n", - "Requirement already satisfied: networkx>=3 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (3.4.2)\n", - "Collecting palettable>=3.3.3 (from pymatgen)\n", - " Downloading palettable-3.3.3-py2.py3-none-any.whl.metadata (3.3 kB)\n", - "Requirement already satisfied: pandas>=2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.2.2)\n", - "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (5.24.1)\n", - "Collecting pybtex>=0.24.0 (from pymatgen)\n", - " Downloading pybtex-0.24.0-py2.py3-none-any.whl.metadata (2.0 kB)\n", - "Requirement already satisfied: requests>=2.32 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (2.32.3)\n", - "Collecting ruamel.yaml>=0.17.0 (from pymatgen)\n", - " Downloading ruamel.yaml-0.18.6-py3-none-any.whl.metadata (23 kB)\n", - "Requirement already satisfied: scipy>=1.13.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", - "Collecting spglib>=2.5.0 (from pymatgen)\n", - " Downloading spglib-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)\n", - "Requirement already satisfied: sympy>=1.2 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.13.1)\n", - "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (0.9.0)\n", - "Requirement already satisfied: tqdm>=4.60 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (4.66.6)\n", - "Collecting uncertainties>=3.1.4 (from pymatgen)\n", - " Downloading uncertainties-3.2.2-py3-none-any.whl.metadata (6.9 kB)\n", - "Requirement already satisfied: numpy<3,>=1.25.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen) (1.26.4)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (1.4.7)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (24.1)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (10.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (3.2.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.8->pymatgen) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2->pymatgen) (2024.2)\n", - "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen) (9.0.0)\n", - "Requirement already satisfied: PyYAML>=3.01 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (6.0.2)\n", - "Collecting latexcodec>=1.0.4 (from pybtex>=0.24.0->pymatgen)\n", - " Downloading latexcodec-3.0.0-py3-none-any.whl.metadata (4.9 kB)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen) (1.16.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.32->pymatgen) (2024.8.30)\n", - "Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml>=0.17.0->pymatgen)\n", - " Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy>=1.2->pymatgen) (1.3.0)\n", - "Downloading pymatgen-2024.10.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.9/4.9 MB\u001b[0m \u001b[31m35.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading monty-2024.10.21-py3-none-any.whl (68 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m68.5/68.5 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading palettable-3.3.3-py2.py3-none-any.whl (332 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m332.3/332.3 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pybtex-0.24.0-py2.py3-none-any.whl (561 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m561.4/561.4 kB\u001b[0m \u001b[31m21.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading ruamel.yaml-0.18.6-py3-none-any.whl (117 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m117.8/117.8 kB\u001b[0m \u001b[31m6.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading spglib-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m35.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading uncertainties-3.2.2-py3-none-any.whl (58 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading latexcodec-3.0.0-py3-none-any.whl (18 kB)\n", - "Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m722.2/722.2 kB\u001b[0m \u001b[31m32.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hInstalling collected packages: uncertainties, spglib, ruamel.yaml.clib, palettable, latexcodec, ruamel.yaml, pybtex, monty, pymatgen\n", - "Successfully installed latexcodec-3.0.0 monty-2024.10.21 palettable-3.3.3 pybtex-0.24.0 pymatgen-2024.10.29 ruamel.yaml-0.18.6 ruamel.yaml.clib-0.2.12 spglib-2.5.0 uncertainties-3.2.2\n" - ] - } - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in links: https://data.dgl.ai/wheels/torch-2.1/repo.html\n", + "Collecting dgl\n", + " Downloading https://data.dgl.ai/wheels/torch-2.1/dgl-2.4.0-cp310-cp310-manylinux1_x86_64.whl (7.8 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m7.8/7.8 MB\u001b[0m \u001b[31m17.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (5.9.5)\n", + "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.9.2)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl) (4.66.6)\n", + "Collecting torch<=2.4.0 (from dgl)\n", + " Downloading torch-2.4.0-cp310-cp310-manylinux1_x86_64.whl.metadata (26 kB)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2.2.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2024.8.30)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2024.10.0)\n", + "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cublas-cu12==12.1.3.1 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cufft-cu12==11.0.2.54 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-curand-cu12==10.3.2.106 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-nccl-cu12==2.20.5 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "Collecting nvidia-nvtx-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", + " Downloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n", + "Collecting triton==3.0.0 (from torch<=2.4.0->dgl)\n", + " Downloading triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<=2.4.0->dgl) (12.6.77)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->dgl) (1.16.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch<=2.4.0->dgl) (3.0.2)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch<=2.4.0->dgl) (1.3.0)\n", + "Downloading torch-2.4.0-cp310-cp310-manylinux1_x86_64.whl (797.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m797.2/797.2 MB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m410.6/410.6 MB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m14.1/14.1 MB\u001b[0m \u001b[31m86.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m23.7/23.7 MB\u001b[0m \u001b[31m66.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m823.6/823.6 kB\u001b[0m \u001b[31m38.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m121.6/121.6 MB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m56.5/56.5 MB\u001b[0m \u001b[31m11.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m124.2/124.2 MB\u001b[0m \u001b[31m7.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m196.0/196.0 MB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m176.2/176.2 MB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m99.1/99.1 kB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m209.4/209.4 MB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: triton, nvidia-nvtx-cu12, nvidia-nccl-cu12, nvidia-cusparse-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, nvidia-cusolver-cu12, nvidia-cudnn-cu12, torch, dgl\n", + " Attempting uninstall: nvidia-nccl-cu12\n", + " Found existing installation: nvidia-nccl-cu12 2.23.4\n", + " Uninstalling nvidia-nccl-cu12-2.23.4:\n", + " Successfully uninstalled nvidia-nccl-cu12-2.23.4\n", + " Attempting uninstall: nvidia-cusparse-cu12\n", + " Found existing installation: nvidia-cusparse-cu12 12.5.4.2\n", + " Uninstalling nvidia-cusparse-cu12-12.5.4.2:\n", + " Successfully uninstalled nvidia-cusparse-cu12-12.5.4.2\n", + " Attempting uninstall: nvidia-curand-cu12\n", + " Found existing installation: nvidia-curand-cu12 10.3.7.77\n", + " Uninstalling nvidia-curand-cu12-10.3.7.77:\n", + " Successfully uninstalled nvidia-curand-cu12-10.3.7.77\n", + " Attempting uninstall: nvidia-cufft-cu12\n", + " Found existing installation: nvidia-cufft-cu12 11.3.0.4\n", + " Uninstalling nvidia-cufft-cu12-11.3.0.4:\n", + " Successfully uninstalled nvidia-cufft-cu12-11.3.0.4\n", + " Attempting uninstall: nvidia-cuda-runtime-cu12\n", + " Found existing installation: nvidia-cuda-runtime-cu12 12.6.77\n", + " Uninstalling nvidia-cuda-runtime-cu12-12.6.77:\n", + " Successfully uninstalled nvidia-cuda-runtime-cu12-12.6.77\n", + " Attempting uninstall: nvidia-cuda-cupti-cu12\n", + " Found existing installation: nvidia-cuda-cupti-cu12 12.6.80\n", + " Uninstalling nvidia-cuda-cupti-cu12-12.6.80:\n", + " Successfully uninstalled nvidia-cuda-cupti-cu12-12.6.80\n", + " Attempting uninstall: nvidia-cublas-cu12\n", + " Found existing installation: nvidia-cublas-cu12 12.6.3.3\n", + " Uninstalling nvidia-cublas-cu12-12.6.3.3:\n", + " Successfully uninstalled nvidia-cublas-cu12-12.6.3.3\n", + " Attempting uninstall: nvidia-cusolver-cu12\n", + " Found existing installation: nvidia-cusolver-cu12 11.7.1.2\n", + " Uninstalling nvidia-cusolver-cu12-11.7.1.2:\n", + " Successfully uninstalled nvidia-cusolver-cu12-11.7.1.2\n", + " Attempting uninstall: nvidia-cudnn-cu12\n", + " Found existing installation: nvidia-cudnn-cu12 9.5.1.17\n", + " Uninstalling nvidia-cudnn-cu12-9.5.1.17:\n", + " Successfully uninstalled nvidia-cudnn-cu12-9.5.1.17\n", + " Attempting uninstall: torch\n", + " Found existing installation: torch 2.5.0+cu121\n", + " Uninstalling torch-2.5.0+cu121:\n", + " Successfully uninstalled torch-2.5.0+cu121\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "torchaudio 2.5.0+cu121 requires torch==2.5.0, but you have torch 2.4.0 which is incompatible.\n", + "torchvision 0.20.0+cu121 requires torch==2.5.0, but you have torch 2.4.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed dgl-2.4.0 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvtx-cu12-12.1.105 torch-2.4.0 triton-3.0.0\n" + ] + } + ], + "source": [ + " !pip install dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "saZDgwpVGAgq", + "outputId": "a16f7d96-a80b-4e72-ac6b-c68a9072455b" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - " !pip install dgl -f https://data.dgl.ai/wheels/torch-2.1/repo.html" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "510ELKTMF9Yu", - "outputId": "663be47b-f545-4f7b-ca73-d9cafaba2115" - }, - "execution_count": 3, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in links: https://data.dgl.ai/wheels/torch-2.1/repo.html\n", - "Collecting dgl\n", - " Downloading https://data.dgl.ai/wheels/torch-2.1/dgl-2.4.0-cp310-cp310-manylinux1_x86_64.whl (7.8 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m7.8/7.8 MB\u001b[0m \u001b[31m17.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl) (3.4.2)\n", - "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.26.4)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl) (24.1)\n", - "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl) (2.2.2)\n", - "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (5.9.5)\n", - "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.9.2)\n", - "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl) (6.0.2)\n", - "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (2.32.3)\n", - "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl) (1.13.1)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl) (4.66.6)\n", - "Collecting torch<=2.4.0 (from dgl)\n", - " Downloading torch-2.4.0-cp310-cp310-manylinux1_x86_64.whl.metadata (26 kB)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (2.23.4)\n", - "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->dgl) (4.12.2)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (3.10)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2.2.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl) (2024.8.30)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.16.1)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (1.13.1)\n", - "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (3.1.4)\n", - "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch<=2.4.0->dgl) (2024.10.0)\n", - "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cublas-cu12==12.1.3.1 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cufft-cu12==11.0.2.54 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-curand-cu12==10.3.2.106 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-nccl-cu12==2.20.5 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", - "Collecting nvidia-nvtx-cu12==12.1.105 (from torch<=2.4.0->dgl)\n", - " Downloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n", - "Collecting triton==3.0.0 (from torch<=2.4.0->dgl)\n", - " Downloading triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)\n", - "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch<=2.4.0->dgl) (12.6.77)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl) (2024.2)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->dgl) (1.16.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch<=2.4.0->dgl) (3.0.2)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch<=2.4.0->dgl) (1.3.0)\n", - "Downloading torch-2.4.0-cp310-cp310-manylinux1_x86_64.whl (797.2 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m797.2/797.2 MB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m410.6/410.6 MB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m14.1/14.1 MB\u001b[0m \u001b[31m86.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m23.7/23.7 MB\u001b[0m \u001b[31m66.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m823.6/823.6 kB\u001b[0m \u001b[31m38.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m121.6/121.6 MB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m56.5/56.5 MB\u001b[0m \u001b[31m11.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m124.2/124.2 MB\u001b[0m \u001b[31m7.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m196.0/196.0 MB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m176.2/176.2 MB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m99.1/99.1 kB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m209.4/209.4 MB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hInstalling collected packages: triton, nvidia-nvtx-cu12, nvidia-nccl-cu12, nvidia-cusparse-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, nvidia-cusolver-cu12, nvidia-cudnn-cu12, torch, dgl\n", - " Attempting uninstall: nvidia-nccl-cu12\n", - " Found existing installation: nvidia-nccl-cu12 2.23.4\n", - " Uninstalling nvidia-nccl-cu12-2.23.4:\n", - " Successfully uninstalled nvidia-nccl-cu12-2.23.4\n", - " Attempting uninstall: nvidia-cusparse-cu12\n", - " Found existing installation: nvidia-cusparse-cu12 12.5.4.2\n", - " Uninstalling nvidia-cusparse-cu12-12.5.4.2:\n", - " Successfully uninstalled nvidia-cusparse-cu12-12.5.4.2\n", - " Attempting uninstall: nvidia-curand-cu12\n", - " Found existing installation: nvidia-curand-cu12 10.3.7.77\n", - " Uninstalling nvidia-curand-cu12-10.3.7.77:\n", - " Successfully uninstalled nvidia-curand-cu12-10.3.7.77\n", - " Attempting uninstall: nvidia-cufft-cu12\n", - " Found existing installation: nvidia-cufft-cu12 11.3.0.4\n", - " Uninstalling nvidia-cufft-cu12-11.3.0.4:\n", - " Successfully uninstalled nvidia-cufft-cu12-11.3.0.4\n", - " Attempting uninstall: nvidia-cuda-runtime-cu12\n", - " Found existing installation: nvidia-cuda-runtime-cu12 12.6.77\n", - " Uninstalling nvidia-cuda-runtime-cu12-12.6.77:\n", - " Successfully uninstalled nvidia-cuda-runtime-cu12-12.6.77\n", - " Attempting uninstall: nvidia-cuda-cupti-cu12\n", - " Found existing installation: nvidia-cuda-cupti-cu12 12.6.80\n", - " Uninstalling nvidia-cuda-cupti-cu12-12.6.80:\n", - " Successfully uninstalled nvidia-cuda-cupti-cu12-12.6.80\n", - " Attempting uninstall: nvidia-cublas-cu12\n", - " Found existing installation: nvidia-cublas-cu12 12.6.3.3\n", - " Uninstalling nvidia-cublas-cu12-12.6.3.3:\n", - " Successfully uninstalled nvidia-cublas-cu12-12.6.3.3\n", - " Attempting uninstall: nvidia-cusolver-cu12\n", - " Found existing installation: nvidia-cusolver-cu12 11.7.1.2\n", - " Uninstalling nvidia-cusolver-cu12-11.7.1.2:\n", - " Successfully uninstalled nvidia-cusolver-cu12-11.7.1.2\n", - " Attempting uninstall: nvidia-cudnn-cu12\n", - " Found existing installation: nvidia-cudnn-cu12 9.5.1.17\n", - " Uninstalling nvidia-cudnn-cu12-9.5.1.17:\n", - " Successfully uninstalled nvidia-cudnn-cu12-9.5.1.17\n", - " Attempting uninstall: torch\n", - " Found existing installation: torch 2.5.0+cu121\n", - " Uninstalling torch-2.5.0+cu121:\n", - " Successfully uninstalled torch-2.5.0+cu121\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "torchaudio 2.5.0+cu121 requires torch==2.5.0, but you have torch 2.4.0 which is incompatible.\n", - "torchvision 0.20.0+cu121 requires torch==2.5.0, but you have torch 2.4.0 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed dgl-2.4.0 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvtx-cu12-12.1.105 torch-2.4.0 triton-3.0.0\n" - ] - } - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting matgl\n", + " Downloading matgl-1.1.3-py3-none-any.whl.metadata (16 kB)\n", + "Collecting ase (from matgl)\n", + " Downloading ase-3.23.0-py3-none-any.whl.metadata (3.8 kB)\n", + "Requirement already satisfied: dgl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (from matgl) (2024.10.29)\n", + "Collecting lightning (from matgl)\n", + " Downloading lightning-2.4.0-py3-none-any.whl.metadata (38 kB)\n", + "Requirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", + "Requirement already satisfied: pydantic in /usr/local/lib/python3.10/dist-packages (from matgl) (2.9.2)\n", + "Collecting torchdata<0.8.0 (from matgl)\n", + " Downloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", + "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (3.4.2)\n", + "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.26.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (24.1)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (5.9.5)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (6.0.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.32.3)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.13.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (4.66.6)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (2.23.4)\n", + "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (4.12.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.16.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (1.13.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.1.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2024.10.0)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2.20.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", + "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.0.0)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->matgl) (12.6.77)\n", + "Requirement already satisfied: urllib3>=1.25 in /usr/local/lib/python3.10/dist-packages (from torchdata<0.8.0->matgl) (2.2.3)\n", + "Requirement already satisfied: matplotlib>=3.3.4 in /usr/local/lib/python3.10/dist-packages (from ase->matgl) (3.8.0)\n", + "Collecting lightning-utilities<2.0,>=0.10.0 (from lightning->matgl)\n", + " Downloading lightning_utilities-0.11.8-py3-none-any.whl.metadata (5.2 kB)\n", + "Collecting torchmetrics<3.0,>=0.7.0 (from lightning->matgl)\n", + " Downloading torchmetrics-1.5.1-py3-none-any.whl.metadata (20 kB)\n", + "Collecting pytorch-lightning (from lightning->matgl)\n", + " Downloading pytorch_lightning-2.4.0-py3-none-any.whl.metadata (21 kB)\n", + "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (1.4.2)\n", + "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2024.10.21)\n", + "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.3.3)\n", + "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (5.24.1)\n", + "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.24.0)\n", + "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.18.6)\n", + "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2.5.0)\n", + "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.9.0)\n", + "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.2.2)\n", + "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (3.10.10)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from lightning-utilities<2.0,>=0.10.0->lightning->matgl) (75.1.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.4.7)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (10.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen->matgl) (9.0.0)\n", + "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (3.0.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.4.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (2024.8.30)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen->matgl) (0.2.12)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch->matgl) (1.3.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch->matgl) (3.0.2)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (2.4.3)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.3.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (24.2.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.5.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (6.1.0)\n", + "Requirement already satisfied: yarl<2.0,>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.17.0)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (4.0.3)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.12.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (0.2.0)\n", + "Downloading matgl-1.1.3-py3-none-any.whl (223 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m223.3/223.3 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m25.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ase-3.23.0-py3-none-any.whl (2.9 MB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m26.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning-2.4.0-py3-none-any.whl (810 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m811.0/811.0 kB\u001b[0m \u001b[31m30.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading lightning_utilities-0.11.8-py3-none-any.whl (26 kB)\n", + "Downloading torchmetrics-1.5.1-py3-none-any.whl (890 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m890.6/890.6 kB\u001b[0m \u001b[31m28.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pytorch_lightning-2.4.0-py3-none-any.whl (815 kB)\n", + "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m815.2/815.2 kB\u001b[0m \u001b[31m27.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: lightning-utilities, ase, torchmetrics, torchdata, pytorch-lightning, lightning, matgl\n", + "Successfully installed ase-3.23.0 lightning-2.4.0 lightning-utilities-0.11.8 matgl-1.1.3 pytorch-lightning-2.4.0 torchdata-0.7.1 torchmetrics-1.5.1\n" + ] + } + ], + "source": [ + " !pip3 install matgl" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "uHFBr-yJGC8G", + "outputId": "74eed14d-d004-4666-95f5-57d3411d045c" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - " !pip3 install matgl" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "saZDgwpVGAgq", - "outputId": "a16f7d96-a80b-4e72-ac6b-c68a9072455b" - }, - "execution_count": 4, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting matgl\n", - " Downloading matgl-1.1.3-py3-none-any.whl.metadata (16 kB)\n", - "Collecting ase (from matgl)\n", - " Downloading ase-3.23.0-py3-none-any.whl.metadata (3.8 kB)\n", - "Requirement already satisfied: dgl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", - "Requirement already satisfied: pymatgen in /usr/local/lib/python3.10/dist-packages (from matgl) (2024.10.29)\n", - "Collecting lightning (from matgl)\n", - " Downloading lightning-2.4.0-py3-none-any.whl.metadata (38 kB)\n", - "Requirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (from matgl) (2.4.0)\n", - "Requirement already satisfied: pydantic in /usr/local/lib/python3.10/dist-packages (from matgl) (2.9.2)\n", - "Collecting torchdata<0.8.0 (from matgl)\n", - " Downloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)\n", - "Requirement already satisfied: networkx>=2.1 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (3.4.2)\n", - "Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.26.4)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (24.1)\n", - "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.2.2)\n", - "Requirement already satisfied: psutil>=5.8.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (5.9.5)\n", - "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (6.0.2)\n", - "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (2.32.3)\n", - "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (1.13.1)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from dgl>=2.0.0->matgl) (4.66.6)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (2.23.4)\n", - "Requirement already satisfied: typing-extensions>=4.6.1 in /usr/local/lib/python3.10/dist-packages (from pydantic->matgl) (4.12.2)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.16.1)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (1.13.1)\n", - "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.1.4)\n", - "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2024.10.0)\n", - "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (9.1.0.70)\n", - "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.3.1)\n", - "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.0.2.54)\n", - "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (10.3.2.106)\n", - "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (11.4.5.107)\n", - "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.0.106)\n", - "Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (2.20.5)\n", - "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (12.1.105)\n", - "Requirement already satisfied: triton==3.0.0 in /usr/local/lib/python3.10/dist-packages (from torch->matgl) (3.0.0)\n", - "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->matgl) (12.6.77)\n", - "Requirement already satisfied: urllib3>=1.25 in /usr/local/lib/python3.10/dist-packages (from torchdata<0.8.0->matgl) (2.2.3)\n", - "Requirement already satisfied: matplotlib>=3.3.4 in /usr/local/lib/python3.10/dist-packages (from ase->matgl) (3.8.0)\n", - "Collecting lightning-utilities<2.0,>=0.10.0 (from lightning->matgl)\n", - " Downloading lightning_utilities-0.11.8-py3-none-any.whl.metadata (5.2 kB)\n", - "Collecting torchmetrics<3.0,>=0.7.0 (from lightning->matgl)\n", - " Downloading torchmetrics-1.5.1-py3-none-any.whl.metadata (20 kB)\n", - "Collecting pytorch-lightning (from lightning->matgl)\n", - " Downloading pytorch_lightning-2.4.0-py3-none-any.whl.metadata (21 kB)\n", - "Requirement already satisfied: joblib>=1 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (1.4.2)\n", - "Requirement already satisfied: monty>=2024.7.29 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2024.10.21)\n", - "Requirement already satisfied: palettable>=3.3.3 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.3.3)\n", - "Requirement already satisfied: plotly>=4.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (5.24.1)\n", - "Requirement already satisfied: pybtex>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.24.0)\n", - "Requirement already satisfied: ruamel.yaml>=0.17.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.18.6)\n", - "Requirement already satisfied: spglib>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (2.5.0)\n", - "Requirement already satisfied: tabulate>=0.9 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (0.9.0)\n", - "Requirement already satisfied: uncertainties>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from pymatgen->matgl) (3.2.2)\n", - "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (3.10.10)\n", - "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from lightning-utilities<2.0,>=0.10.0->lightning->matgl) (75.1.0)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (1.4.7)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (10.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (3.2.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.4->ase->matgl) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->dgl>=2.0.0->matgl) (2024.2)\n", - "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly>=4.5.0->pymatgen->matgl) (9.0.0)\n", - "Requirement already satisfied: latexcodec>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (3.0.0)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from pybtex>=0.24.0->pymatgen->matgl) (1.16.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.4.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (3.10)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->dgl>=2.0.0->matgl) (2024.8.30)\n", - "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml>=0.17.0->pymatgen->matgl) (0.2.12)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch->matgl) (1.3.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch->matgl) (3.0.2)\n", - "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (2.4.3)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.3.1)\n", - "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (24.2.0)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.5.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (6.1.0)\n", - "Requirement already satisfied: yarl<2.0,>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (1.17.0)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (4.0.3)\n", - "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.12.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<2026.0,>=2022.5.0->lightning->matgl) (0.2.0)\n", - "Downloading matgl-1.1.3-py3-none-any.whl (223 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m223.3/223.3 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading torchdata-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m25.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading ase-3.23.0-py3-none-any.whl (2.9 MB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m26.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading lightning-2.4.0-py3-none-any.whl (810 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m811.0/811.0 kB\u001b[0m \u001b[31m30.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading lightning_utilities-0.11.8-py3-none-any.whl (26 kB)\n", - "Downloading torchmetrics-1.5.1-py3-none-any.whl (890 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m890.6/890.6 kB\u001b[0m \u001b[31m28.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pytorch_lightning-2.4.0-py3-none-any.whl (815 kB)\n", - "\u001b[2K \u001b[90mâ”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”\u001b[0m \u001b[32m815.2/815.2 kB\u001b[0m \u001b[31m27.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hInstalling collected packages: lightning-utilities, ase, torchmetrics, torchdata, pytorch-lightning, lightning, matgl\n", - "Successfully installed ase-3.23.0 lightning-2.4.0 lightning-utilities-0.11.8 matgl-1.1.3 pytorch-lightning-2.4.0 torchdata-0.7.1 torchmetrics-1.5.1\n" - ] - } - ] + "name": "stderr", + "output_type": "stream", + "text": [ + "DGL backend not selected or invalid. Assuming PyTorch for now.\n" + ] }, { - "cell_type": "code", - "source": [ - "from __future__ import annotations\n", - "\n", - "import os\n", - "import shutil\n", - "import warnings\n", - "import zipfile\n", - "import matgl\n", - "\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import pytorch_lightning as pl\n", - "import torch\n", - "import pickle\n", - "import numpy as np\n", - "from dgl.data.utils import split_dataset\n", - "from pymatgen.core import Structure\n", - "from pytorch_lightning.loggers import CSVLogger\n", - "from lightning.pytorch import Trainer\n", - "from tqdm import tqdm\n", - "\n", - "from matgl.ext.pymatgen import Structure2Graph, get_element_list\n", - "from matgl.graph.data import MGLDataset, MGLDataLoader #collate_fn. - shivani i don't think you need this as num_workers=0\n", - "from matgl.layers import BondExpansion\n", - "from matgl.models import MEGNet\n", - "from matgl.utils.io import RemoteFile\n", - "from matgl.utils.training import ModelLightningModule\n", - "\n", - "# To suppress warnings for clearer output\n", - "warnings.simplefilter(\"ignore\")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "uHFBr-yJGC8G", - "outputId": "74eed14d-d004-4666-95f5-57d3411d045c" - }, - "execution_count": 5, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "DGL backend not selected or invalid. Assuming PyTorch for now.\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Setting the default backend to \"pytorch\". You can change it in the ~/.dgl/config.json file or export the DGLBACKEND environment variable. Valid options are: pytorch, mxnet, tensorflow (all lowercase)\n" - ] - } + "name": "stdout", + "output_type": "stream", + "text": [ + "Setting the default backend to \"pytorch\". You can change it in the ~/.dgl/config.json file or export the DGLBACKEND environment variable. Valid options are: pytorch, mxnet, tensorflow (all lowercase)\n" + ] + } + ], + "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "import shutil\n", + "import warnings\n", + "import zipfile\n", + "import matgl\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import pytorch_lightning as pl\n", + "import torch\n", + "import pickle\n", + "import numpy as np\n", + "from dgl.data.utils import split_dataset\n", + "from pymatgen.core import Structure\n", + "from pytorch_lightning.loggers import CSVLogger\n", + "from lightning.pytorch import Trainer\n", + "from tqdm import tqdm\n", + "\n", + "from matgl.ext.pymatgen import Structure2Graph, get_element_list\n", + "from matgl.graph.data import MGLDataset, MGLDataLoader #collate_fn. - shivani i don't think you need this as num_workers=0\n", + "from matgl.layers import BondExpansion\n", + "from matgl.models import MEGNet\n", + "from matgl.utils.io import RemoteFile\n", + "from matgl.utils.training import ModelLightningModule\n", + "\n", + "# To suppress warnings for clearer output\n", + "warnings.simplefilter(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WfEpSLibGHh2", + "outputId": "1e900a8f-9920-4d5c-fb25-cd459c23ead3" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Obtaining 3D dataset 76k ...\n", + "Reference:https://www.nature.com/articles/s41524-020-00440-1\n", + "Other versions:https://doi.org/10.6084/m9.figshare.6815699\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 40.8M/40.8M [00:02<00:00, 20.0MiB/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading the zipfile...\n", + "Loading completed.\n" + ] + } + ], + "source": [ + "from jarvis.db.figshare import data\n", + "\n", + "dft_3d = data('dft_3d')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2wNH5_F6GM_E", + "outputId": "9f14897d-e01c-4f12-f504-e06724d18eb2" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['jid', 'spg_number', 'spg_symbol', 'formula', 'formation_energy_peratom', 'func', 'optb88vdw_bandgap', 'atoms', 'slme', 'magmom_oszicar', 'spillage', 'elastic_tensor', 'effective_masses_300K', 'kpoint_length_unit', 'maxdiff_mesh', 'maxdiff_bz', 'encut', 'optb88vdw_total_energy', 'epsx', 'epsy', 'epsz', 'mepsx', 'mepsy', 'mepsz', 'modes', 'magmom_outcar', 'max_efg', 'avg_elec_mass', 'avg_hole_mass', 'icsd', 'dfpt_piezo_max_eij', 'dfpt_piezo_max_dij', 'dfpt_piezo_max_dielectric', 'dfpt_piezo_max_dielectric_electronic', 'dfpt_piezo_max_dielectric_ionic', 'max_ir_mode', 'min_ir_mode', 'n-Seebeck', 'p-Seebeck', 'n-powerfact', 'p-powerfact', 'ncond', 'pcond', 'nkappa', 'pkappa', 'ehull', 'Tc_supercon', 'dimensionality', 'efg', 'xml_data_link', 'typ', 'exfoliation_energy', 'spg', 'crys', 'density', 'poisson', 'raw_files', 'nat', 'bulk_modulus_kv', 'shear_modulus_gv', 'mbj_bandgap', 'hse_gap', 'reference', 'search'])" ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dft_3d[0].keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "id": "6HEIHJvTGPDs" + }, + "outputs": [], + "source": [ + " ## Let's make a dataframe from this:\n", + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 429 }, + "id": "RT5c9__tGRKC", + "outputId": "ca6651ee-1d6d-4930-ff8d-aa88babf8e08" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "from jarvis.db.figshare import data\n", - "\n", - "dft_3d = data('dft_3d')" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "WfEpSLibGHh2", - "outputId": "1e900a8f-9920-4d5c-fb25-cd459c23ead3" + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df" }, - "execution_count": 6, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Obtaining 3D dataset 76k ...\n", - "Reference:https://www.nature.com/articles/s41524-020-00440-1\n", - "Other versions:https://doi.org/10.6084/m9.figshare.6815699\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 40.8M/40.8M [00:02<00:00, 20.0MiB/s]\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Loading the zipfile...\n", - "Loading completed.\n" - ] - } + "text/html": [ + "\n", + " <div id=\"df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>jid</th>\n", + " <th>spg_number</th>\n", + " <th>spg_symbol</th>\n", + " <th>formula</th>\n", + " <th>formation_energy_peratom</th>\n", + " <th>func</th>\n", + " <th>optb88vdw_bandgap</th>\n", + " <th>atoms</th>\n", + " <th>slme</th>\n", + " <th>magmom_oszicar</th>\n", + " <th>...</th>\n", + " <th>density</th>\n", + " <th>poisson</th>\n", + " <th>raw_files</th>\n", + " <th>nat</th>\n", + " <th>bulk_modulus_kv</th>\n", + " <th>shear_modulus_gv</th>\n", + " <th>mbj_bandgap</th>\n", + " <th>hse_gap</th>\n", + " <th>reference</th>\n", + " <th>search</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>JVASP-90856</td>\n", + " <td>129</td>\n", + " <td>P4/nmm</td>\n", + " <td>TiCuSiAs</td>\n", + " <td>-0.42762</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[3.566933224304235, 0.0, -0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.956</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>8</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-1080455</td>\n", + " <td>-As-Cu-Si-Ti</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>JVASP-86097</td>\n", + " <td>221</td>\n", + " <td>Pm-3m</td>\n", + " <td>DyB6</td>\n", + " <td>-0.41596</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[4.089078911208881, 0.0, 0.0]...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.522</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-86097.zip,https://ndownload...</td>\n", + " <td>7</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-568319</td>\n", + " <td>-B-Dy</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>JVASP-64906</td>\n", + " <td>119</td>\n", + " <td>I-4m2</td>\n", + " <td>Be2OsRu</td>\n", + " <td>0.04847</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[-1.833590720595598, 1.833590...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>10.960</td>\n", + " <td>na</td>\n", + " <td>[OPT-LOPTICS,JVASP-64906.zip,https://ndownload...</td>\n", + " <td>4</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>auid-3eaf68dd483bf4f4</td>\n", + " <td>-Be-Os-Ru</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>JVASP-98225</td>\n", + " <td>14</td>\n", + " <td>P2_1/c</td>\n", + " <td>KBi</td>\n", + " <td>-0.44140</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.472</td>\n", + " <td>{'lattice_mat': [[7.2963518353359165, 0.0, 0.0...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.145</td>\n", + " <td>na</td>\n", + " <td>[]</td>\n", + " <td>32</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>na</td>\n", + " <td>mp-31104</td>\n", + " <td>-Bi-K</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>JVASP-10</td>\n", + " <td>164</td>\n", + " <td>P-3m1</td>\n", + " <td>VSe2</td>\n", + " <td>-0.71026</td>\n", + " <td>OptB88vdW</td>\n", + " <td>0.000</td>\n", + " <td>{'lattice_mat': [[1.6777483798834445, -2.90594...</td>\n", + " <td>na</td>\n", + " <td>0.0</td>\n", + " <td>...</td>\n", + " <td>5.718</td>\n", + " <td>0.23</td>\n", + " <td>[FD-ELAST,JVASP-10.zip,https://ndownloader.fig...</td>\n", + " <td>3</td>\n", + " <td>48.79</td>\n", + " <td>33.05</td>\n", + " <td>0.0</td>\n", + " <td>na</td>\n", + " <td>mp-694</td>\n", + " <td>-Se-V</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>5 rows × 64 columns</p>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-66c438ee-b30e-48e1-808e-7b2da6583b0f\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-66c438ee-b30e-48e1-808e-7b2da6583b0f')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-66c438ee-b30e-48e1-808e-7b2da6583b0f button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "text/plain": [ + " jid spg_number spg_symbol formula formation_energy_peratom \\\n", + "0 JVASP-90856 129 P4/nmm TiCuSiAs -0.42762 \n", + "1 JVASP-86097 221 Pm-3m DyB6 -0.41596 \n", + "2 JVASP-64906 119 I-4m2 Be2OsRu 0.04847 \n", + "3 JVASP-98225 14 P2_1/c KBi -0.44140 \n", + "4 JVASP-10 164 P-3m1 VSe2 -0.71026 \n", + "\n", + " func optb88vdw_bandgap \\\n", + "0 OptB88vdW 0.000 \n", + "1 OptB88vdW 0.000 \n", + "2 OptB88vdW 0.000 \n", + "3 OptB88vdW 0.472 \n", + "4 OptB88vdW 0.000 \n", + "\n", + " atoms slme magmom_oszicar ... \\\n", + "0 {'lattice_mat': [[3.566933224304235, 0.0, -0.0... na 0.0 ... \n", + "1 {'lattice_mat': [[4.089078911208881, 0.0, 0.0]... na 0.0 ... \n", + "2 {'lattice_mat': [[-1.833590720595598, 1.833590... na 0.0 ... \n", + "3 {'lattice_mat': [[7.2963518353359165, 0.0, 0.0... na 0.0 ... \n", + "4 {'lattice_mat': [[1.6777483798834445, -2.90594... na 0.0 ... \n", + "\n", + " density poisson raw_files nat \\\n", + "0 5.956 na [] 8 \n", + "1 5.522 na [OPT-LOPTICS,JVASP-86097.zip,https://ndownload... 7 \n", + "2 10.960 na [OPT-LOPTICS,JVASP-64906.zip,https://ndownload... 4 \n", + "3 5.145 na [] 32 \n", + "4 5.718 0.23 [FD-ELAST,JVASP-10.zip,https://ndownloader.fig... 3 \n", + "\n", + " bulk_modulus_kv shear_modulus_gv mbj_bandgap hse_gap \\\n", + "0 na na na na \n", + "1 na na na na \n", + "2 na na na na \n", + "3 na na na na \n", + "4 48.79 33.05 0.0 na \n", + "\n", + " reference search \n", + "0 mp-1080455 -As-Cu-Si-Ti \n", + "1 mp-568319 -B-Dy \n", + "2 auid-3eaf68dd483bf4f4 -Be-Os-Ru \n", + "3 mp-31104 -Bi-K \n", + "4 mp-694 -Se-V \n", + "\n", + "[5 rows x 64 columns]" ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df=pd.DataFrame(dft_3d)\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "FTsZSTDbGUbH", + "outputId": "3a024410-29ed-442a-c405-a90b5985da09" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "dft_3d[0].keys()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "2wNH5_F6GM_E", - "outputId": "9f14897d-e01c-4f12-f504-e06724d18eb2" + "name": "stdout", + "output_type": "stream", + "text": [ + "jid 75993\n", + "spg_number 75993\n", + "spg_symbol 75993\n", + "formula 75993\n", + "formation_energy_peratom 75993\n", + "func 75993\n", + "optb88vdw_bandgap 75993\n", + "atoms 75993\n", + "slme 9770\n", + "magmom_oszicar 71320\n", + "spillage 11377\n", + "elastic_tensor 25513\n", + "effective_masses_300K 75993\n", + "kpoint_length_unit 75671\n", + "maxdiff_mesh 5861\n", + "maxdiff_bz 5861\n", + "encut 75670\n", + "optb88vdw_total_energy 75993\n", + "epsx 52168\n", + "epsy 52168\n", + "epsz 52168\n", + "mepsx 18293\n", + "mepsy 18293\n", + "mepsz 18293\n", + "modes 13910\n", + "magmom_outcar 74261\n", + "max_efg 11871\n", + "avg_elec_mass 17645\n", + "avg_hole_mass 17645\n", + "icsd 75993\n", + "dfpt_piezo_max_eij 4799\n", + "dfpt_piezo_max_dij 3347\n", + "dfpt_piezo_max_dielectric 4706\n", + "dfpt_piezo_max_dielectric_electronic 4809\n", + "dfpt_piezo_max_dielectric_ionic 4809\n", + "max_ir_mode 4805\n", + "min_ir_mode 4809\n", + "n-Seebeck 23218\n", + "p-Seebeck 23218\n", + "n-powerfact 23218\n", + "p-powerfact 23218\n", + "ncond 23218\n", + "pcond 23218\n", + "nkappa 23218\n", + "pkappa 23218\n", + "ehull 75993\n", + "Tc_supercon 1058\n", + "dimensionality 75560\n", + "efg 75993\n", + "xml_data_link 75993\n", + "typ 75993\n", + "exfoliation_energy 813\n", + "spg 75993\n", + "crys 75993\n", + "density 75993\n", + "poisson 23597\n", + "raw_files 75993\n", + "nat 75993\n", + "bulk_modulus_kv 23824\n", + "shear_modulus_gv 23824\n", + "mbj_bandgap 19805\n", + "hse_gap 56\n", + "reference 75993\n", + "search 75993\n" + ] + } + ], + "source": [ + "## Count number of entries for each property\n", + "for i in df.columns.values:\n", + " val=df[i].replace('na',np.nan).dropna().values\n", + " print(i,len(val))" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "rW4KEnICGVxE" + }, + "outputs": [], + "source": [ + "from jarvis.core.atoms import Atoms\n", + "bm=df[df.bulk_modulus_kv != 'na']\n", + "data = [(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter(), bm.iloc[i].bulk_modulus_kv) for i in range(len(bm))]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "id": "0gQUS5rQGaK5" + }, + "outputs": [], + "source": [ + "import itertools\n", + "def get_stoichiometry(elements):\n", + " return [(g[0], len(list(g[1]))) for g in itertools.groupby(elements)]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YaMVVrguGe2s", + "outputId": "25dcd209-e980-4a20-c650-eb17046dda62" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 23824/23824 [00:36<00:00, 656.64it/s] \n" + ] + } + ], + "source": [ + " ## Use all the material dataset for training the bulk modulus\n", + "from tqdm import tqdm\n", + "\n", + "stoichs=[] #stoichiometry\n", + "bulk=[] #only include positive bulk modulus\n", + "\n", + "for i in tqdm(range(len(bm))):\n", + " if (bm.iloc[i]['bulk_modulus_kv'])>1:\n", + " stoichs.append(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter())\n", + " bulk.append(bm.iloc[i]['bulk_modulus_kv'])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "id": "0lxmfaHEHhs6" + }, + "outputs": [], + "source": [ + "data_ran=list(zip(stoichs,bulk))\n", + "#write out the dataset, to train later\n", + "import pickle\n", + "with open('data_ran.pickle', 'wb') as f:\n", + " pickle.dump(data_ran, f)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "id": "dz2y9oNGH-rO" + }, + "outputs": [], + "source": [ + " #read in the dataset\n", + "data_ran=pd.read_pickle('./data_ran.pickle')" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "IllZhvMxHh0x", + "outputId": "9d8e5d95-ff3b-4b06-d674-ac15c663fe6e" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Full Formula (Al2 O1)\n", + "Reduced Formula: Al2O\n", + "abc : 2.691974 2.821216 5.955222\n", + "angles: 90.000000 90.000000 90.000000\n", + "pbc : True True True\n", + "Sites (3)\n", + " # SP a b c\n", + "--- ---- --------- --- --------\n", + " 0 Al -0.033312 0 0.757299\n", + " 1 Al -0.033312 0 0.242701\n", + " 2 O 0.466623 0 0 1.757547853469244\n" + ] + } + ], + "source": [ + "import random\n", + "\n", + "random.shuffle(data_ran)\n", + "\n", + "structures=[d[0] for d in data_ran]\n", + "targets=np.log10([d[1] for d in data_ran])\n", + "\n", + "print(structures[0],targets[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gkBUklhmIeOb", + "outputId": "13cc0804-8a6b-4a18-9153-228fe781ab5b" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 23173/23173 [00:47<00:00, 483.02it/s]\n" + ] + } + ], + "source": [ + "# get element types in the dataset\n", + "elem_list = get_element_list(structures)\n", + "# setup a graph converter\n", + "converter = Structure2Graph(element_types=elem_list, cutoff=4.0)\n", + "# convert the raw dataset into MEGNetDataset\n", + "mp_dataset = MGLDataset(\n", + " structures=structures,\n", + " labels={\"bulk_modulus_kv\": targets},\n", + " converter=converter,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "id": "Tk7mjkwDIqOJ" + }, + "outputs": [], + "source": [ + " train_data, val_data, test_data = split_dataset(\n", + " mp_dataset,\n", + " frac_list=[0.6, 0.2, 0.2],\n", + " shuffle=True,\n", + " random_state=42,\n", + ")\n", + "train_loader, val_loader, test_loader = MGLDataLoader(\n", + " train_data=train_data,\n", + " val_data=val_data,\n", + " test_data=test_data,\n", + " batch_size=64,\n", + " num_workers=0,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "id": "jREU_HYVIvoG" + }, + "outputs": [], + "source": [ + "# setup the embedding layer for node attributes\n", + "node_embed = torch.nn.Embedding(len(elem_list), 16)\n", + "# define the bond expansion\n", + "bond_expansion = BondExpansion(rbf_type=\"Gaussian\", initial=0.0, final=5.0, num_centers=100, width=0.5)\n", + "\n", + "# setup the architecture of MEGNet model\n", + "model = MEGNet(\n", + " dim_node_embedding=16,\n", + " dim_edge_embedding=100,\n", + " dim_state_embedding=2,\n", + " nblocks=3,\n", + " hidden_layer_sizes_input=(64, 32),\n", + " hidden_layer_sizes_conv=(64, 64, 32),\n", + " nlayers_set2set=1,\n", + " niters_set2set=2,\n", + " hidden_layer_sizes_output=(32, 16),\n", + " is_classification=False,\n", + " activation_type=\"softplus2\",\n", + " bond_expansion=bond_expansion,\n", + " #collate_fn=collate_fn, shivani - not needed now?\n", + " cutoff=4.0,\n", + " gauss_width=0.5,\n", + ")\n", + "\n", + "# setup the MEGNetTrainer\n", + "lit_module = ModelLightningModule(model=model)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 656, + "referenced_widgets": [ + "f7321d7b1b9a4dbe905092f388240f23", + "79500fbf2f93417796e265786cb54a43", + "b755785fab01467cb5989d11385e716c", + "c26f6b42e3f348f2a4e161765d99042e", + "d7150457f96049c88b5a7e2604670830", + "49a1ca9a00214ab8bf626d1d16f64c75", + "ff6205ce16e447368fe2f232db393de0", + "5ecf53db53174e2c86358541bc4f1a2b", + "db1985753e164a188e96db0188528d22", + "14ad15cdf67047879b38fcb976c793a7", + "690367a2eeee4bb9bedc20effdc450b3", + "56705796817d43028c6eddfefc18336f", + "d80bf4bdb76149b68e674b2ee649626c", + "867bb34bd9534aa39c85c07fe3f92f4e", + "dffbbe151dd34200beff08eafd98a380", + "f0507d80a2c74d53b4963130af706fb8", + "79fcd95516f44348a313203b209e0dbb", + "5393fa5795634e8ba5603785421b4b7e", + "629aa27bc05e4b6890c0457d57175e57", + "39c9bef36079445199e8b9b4c310a207", + "2abee34399b5404f8aa2d13ca1f8a0a1", + "82c48b8ef01b462d9df631e9d172316b", + "73653ee65cde4122ba0268dabc34f827", + "b96935fe7dea45859703dcd49a3b1f52", + "d94c1dbd52b44ae9b9e565e44f691e05", + "a2ae7f36742049ab9980e60fc1014d86", + "bb160cdca74641a088df5ba8445517cc", + "02b5bd9111e14cc2acb3ca61bbd7878d", + "cb9e5e4447c64dcc950f0f9b6f64eacd", + "02f73d2307e0464aadeb4e728ea98f6b", + "df300bb1205d4ccf90ade86c1197a971", + "2a15f542acf8406b890f4b1d4063446a", + "c45569e490c74ca996fee25f8bd31cdf", + "d79c6b456ffb4289921288199c1a5e93", + "74559eacbf754aec8abd39be4ce5948b", + "3d9ca4d6a78b4be388d47a2c26a2d534", + "1abde559f901468aa22132e3e7ded2c6", + "589dc33928254b279a9561a9f0e1edd2", + "543ce0246d5d4f26b149f57170032644", + "68c82105b3f04b00bdbb4b7bc31d0db5", + "a2b86afdb6fd4447abd6a782ec961e7b", + "3bcbe7eb46c1470d91c137937ca29cb6", + "f7255b3f29b740339a4bfa0419d46114", + "66b0e7e3d46248c3b6fed1687ec424ac", + "3b8db07a150a4f058a540e5d584a981c", + "c51ffc590efd48988bc043157000c46d", + "0bc1b357649b490696dc0498590c2253", + "b8ed08a8827440e5944221ee4e577a22", + "9bf98247ac654ced921ccb3f59029f46", + "4abf302ed171414e9a4204d72e84af21", + "1dc96decbde849fc9750042eabc26918", + "ef2d223473fd466e83ea73541e50b114", + "9f3e170ad77d494785fb4a1827472873", + "cbd1497f4a404b649052068a93025e31", + "0b7acd53e36347b38de1e31a244bd484", + "8f22afc4e41a45f28fb1c81f37c554fc", + "629f5065fec04c039ce71a88aca28ac7", + "3671f10fdae141cb9e0a47cc1db97210", + "50f79d64fa0a4b94b24b5c7a06e0af12", + "4fd6b3e353ad4fb4af11ca5985e1bfe5", + "693131233ec241bcb7ddbe8a8e1ff2e0", + "73eed7e431de45f091117115ed11dbe5", + "7b94ecf3158748728de903d980e18c38", + "43d879e9907b43f6a800861eae99e048", + "4f99d7a4c905449db8ed0f8061a485b8", + "d54dea38ba5449de89353102e31c9214", + "21db824539da4758a8aa5c6351949cc5", + "73ae5b95afc24ba2bebdcdf077ec7c43", + "7112ceeb185f424a95b08454ee688b18", + "dd06ea396d3c4faeba71a50f77b75701", + "d5ab3316f9754baa80a985abfc27b64d", + "0d2671b5646542419e45f1311d8993c3", + "df51d44724d64c0ca5c127afdf373ac7", + "2fd82da052dd482eab2679261b5c0f3f", + "e5a739d5069f4e0db2cca257a96bf97a", + "00a869694a674b6c842722a59cb8da12", + "8dd15ab4f07246a2b263fdf29c1656f9" + ] + }, + "id": "r-fFV2ncI-zW", + "outputId": "758b858a-daf7-42fc-8622-d54f67818163" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO: GPU available: False, used: False\n", + "INFO:lightning.pytorch.utilities.rank_zero:GPU available: False, used: False\n", + "INFO: TPU available: False, using: 0 TPU cores\n", + "INFO:lightning.pytorch.utilities.rank_zero:TPU available: False, using: 0 TPU cores\n", + "INFO: HPU available: False, using: 0 HPUs\n", + "INFO:lightning.pytorch.utilities.rank_zero:HPU available: False, using: 0 HPUs\n", + "INFO: \n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n", + "INFO:lightning.pytorch.callbacks.model_summary:\n", + " | Name | Type | Params | Mode \n", + "----------------------------------------------------\n", + "0 | model | MEGNet | 189 K | train\n", + "1 | mae | MeanAbsoluteError | 0 | train\n", + "2 | rmse | MeanSquaredError | 0 | train\n", + "----------------------------------------------------\n", + "189 K Trainable params\n", + "100 Non-trainable params\n", + "189 K Total params\n", + "0.758 Total estimated model params size (MB)\n", + "109 Modules in train mode\n", + "0 Modules in eval mode\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f7321d7b1b9a4dbe905092f388240f23", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 7, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "dict_keys(['jid', 'spg_number', 'spg_symbol', 'formula', 'formation_energy_peratom', 'func', 'optb88vdw_bandgap', 'atoms', 'slme', 'magmom_oszicar', 'spillage', 'elastic_tensor', 'effective_masses_300K', 'kpoint_length_unit', 'maxdiff_mesh', 'maxdiff_bz', 'encut', 'optb88vdw_total_energy', 'epsx', 'epsy', 'epsz', 'mepsx', 'mepsy', 'mepsz', 'modes', 'magmom_outcar', 'max_efg', 'avg_elec_mass', 'avg_hole_mass', 'icsd', 'dfpt_piezo_max_eij', 'dfpt_piezo_max_dij', 'dfpt_piezo_max_dielectric', 'dfpt_piezo_max_dielectric_electronic', 'dfpt_piezo_max_dielectric_ionic', 'max_ir_mode', 'min_ir_mode', 'n-Seebeck', 'p-Seebeck', 'n-powerfact', 'p-powerfact', 'ncond', 'pcond', 'nkappa', 'pkappa', 'ehull', 'Tc_supercon', 'dimensionality', 'efg', 'xml_data_link', 'typ', 'exfoliation_energy', 'spg', 'crys', 'density', 'poisson', 'raw_files', 'nat', 'bulk_modulus_kv', 'shear_modulus_gv', 'mbj_bandgap', 'hse_gap', 'reference', 'search'])" - ] - }, - "metadata": {}, - "execution_count": 7 - } + "text/plain": [ + "Sanity Checking: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - " ## Let's make a dataframe from this:\n", - "import pandas as pd\n", - "import numpy as np" - ], - "metadata": { - "id": "6HEIHJvTGPDs" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "56705796817d43028c6eddfefc18336f", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 8, - "outputs": [] + "text/plain": [ + "Training: | | 0/? [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "df=pd.DataFrame(dft_3d)\n", - "df.head()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 429 - }, - "id": "RT5c9__tGRKC", - "outputId": "ca6651ee-1d6d-4930-ff8d-aa88babf8e08" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "73653ee65cde4122ba0268dabc34f827", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 9, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " jid spg_number spg_symbol formula formation_energy_peratom \\\n", - "0 JVASP-90856 129 P4/nmm TiCuSiAs -0.42762 \n", - "1 JVASP-86097 221 Pm-3m DyB6 -0.41596 \n", - "2 JVASP-64906 119 I-4m2 Be2OsRu 0.04847 \n", - "3 JVASP-98225 14 P2_1/c KBi -0.44140 \n", - "4 JVASP-10 164 P-3m1 VSe2 -0.71026 \n", - "\n", - " func optb88vdw_bandgap \\\n", - "0 OptB88vdW 0.000 \n", - "1 OptB88vdW 0.000 \n", - "2 OptB88vdW 0.000 \n", - "3 OptB88vdW 0.472 \n", - "4 OptB88vdW 0.000 \n", - "\n", - " atoms slme magmom_oszicar ... \\\n", - "0 {'lattice_mat': [[3.566933224304235, 0.0, -0.0... na 0.0 ... \n", - "1 {'lattice_mat': [[4.089078911208881, 0.0, 0.0]... na 0.0 ... \n", - "2 {'lattice_mat': [[-1.833590720595598, 1.833590... na 0.0 ... \n", - "3 {'lattice_mat': [[7.2963518353359165, 0.0, 0.0... na 0.0 ... \n", - "4 {'lattice_mat': [[1.6777483798834445, -2.90594... na 0.0 ... \n", - "\n", - " density poisson raw_files nat \\\n", - "0 5.956 na [] 8 \n", - "1 5.522 na [OPT-LOPTICS,JVASP-86097.zip,https://ndownload... 7 \n", - "2 10.960 na [OPT-LOPTICS,JVASP-64906.zip,https://ndownload... 4 \n", - "3 5.145 na [] 32 \n", - "4 5.718 0.23 [FD-ELAST,JVASP-10.zip,https://ndownloader.fig... 3 \n", - "\n", - " bulk_modulus_kv shear_modulus_gv mbj_bandgap hse_gap \\\n", - "0 na na na na \n", - "1 na na na na \n", - "2 na na na na \n", - "3 na na na na \n", - "4 48.79 33.05 0.0 na \n", - "\n", - " reference search \n", - "0 mp-1080455 -As-Cu-Si-Ti \n", - "1 mp-568319 -B-Dy \n", - "2 auid-3eaf68dd483bf4f4 -Be-Os-Ru \n", - "3 mp-31104 -Bi-K \n", - "4 mp-694 -Se-V \n", - "\n", - "[5 rows x 64 columns]" - ], - "text/html": [ - "\n", - " <div id=\"df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec\" class=\"colab-df-container\">\n", - " <div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>jid</th>\n", - " <th>spg_number</th>\n", - " <th>spg_symbol</th>\n", - " <th>formula</th>\n", - " <th>formation_energy_peratom</th>\n", - " <th>func</th>\n", - " <th>optb88vdw_bandgap</th>\n", - " <th>atoms</th>\n", - " <th>slme</th>\n", - " <th>magmom_oszicar</th>\n", - " <th>...</th>\n", - " <th>density</th>\n", - " <th>poisson</th>\n", - " <th>raw_files</th>\n", - " <th>nat</th>\n", - " <th>bulk_modulus_kv</th>\n", - " <th>shear_modulus_gv</th>\n", - " <th>mbj_bandgap</th>\n", - " <th>hse_gap</th>\n", - " <th>reference</th>\n", - " <th>search</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>JVASP-90856</td>\n", - " <td>129</td>\n", - " <td>P4/nmm</td>\n", - " <td>TiCuSiAs</td>\n", - " <td>-0.42762</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[3.566933224304235, 0.0, -0.0...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.956</td>\n", - " <td>na</td>\n", - " <td>[]</td>\n", - " <td>8</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>mp-1080455</td>\n", - " <td>-As-Cu-Si-Ti</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>JVASP-86097</td>\n", - " <td>221</td>\n", - " <td>Pm-3m</td>\n", - " <td>DyB6</td>\n", - " <td>-0.41596</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[4.089078911208881, 0.0, 0.0]...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.522</td>\n", - " <td>na</td>\n", - " <td>[OPT-LOPTICS,JVASP-86097.zip,https://ndownload...</td>\n", - " <td>7</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>mp-568319</td>\n", - " <td>-B-Dy</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>JVASP-64906</td>\n", - " <td>119</td>\n", - " <td>I-4m2</td>\n", - " <td>Be2OsRu</td>\n", - " <td>0.04847</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[-1.833590720595598, 1.833590...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>10.960</td>\n", - " <td>na</td>\n", - " <td>[OPT-LOPTICS,JVASP-64906.zip,https://ndownload...</td>\n", - " <td>4</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>auid-3eaf68dd483bf4f4</td>\n", - " <td>-Be-Os-Ru</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>JVASP-98225</td>\n", - " <td>14</td>\n", - " <td>P2_1/c</td>\n", - " <td>KBi</td>\n", - " <td>-0.44140</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.472</td>\n", - " <td>{'lattice_mat': [[7.2963518353359165, 0.0, 0.0...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.145</td>\n", - " <td>na</td>\n", - " <td>[]</td>\n", - " <td>32</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>na</td>\n", - " <td>mp-31104</td>\n", - " <td>-Bi-K</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>JVASP-10</td>\n", - " <td>164</td>\n", - " <td>P-3m1</td>\n", - " <td>VSe2</td>\n", - " <td>-0.71026</td>\n", - " <td>OptB88vdW</td>\n", - " <td>0.000</td>\n", - " <td>{'lattice_mat': [[1.6777483798834445, -2.90594...</td>\n", - " <td>na</td>\n", - " <td>0.0</td>\n", - " <td>...</td>\n", - " <td>5.718</td>\n", - " <td>0.23</td>\n", - " <td>[FD-ELAST,JVASP-10.zip,https://ndownloader.fig...</td>\n", - " <td>3</td>\n", - " <td>48.79</td>\n", - " <td>33.05</td>\n", - " <td>0.0</td>\n", - " <td>na</td>\n", - " <td>mp-694</td>\n", - " <td>-Se-V</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>5 rows × 64 columns</p>\n", - "</div>\n", - " <div class=\"colab-df-buttons\">\n", - "\n", - " <div class=\"colab-df-container\">\n", - " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec')\"\n", - " title=\"Convert this dataframe to an interactive table.\"\n", - " style=\"display:none;\">\n", - "\n", - " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", - " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", - " </svg>\n", - " </button>\n", - "\n", - " <style>\n", - " .colab-df-container {\n", - " display:flex;\n", - " gap: 12px;\n", - " }\n", - "\n", - " .colab-df-convert {\n", - " background-color: #E8F0FE;\n", - " border: none;\n", - " border-radius: 50%;\n", - " cursor: pointer;\n", - " display: none;\n", - " fill: #1967D2;\n", - " height: 32px;\n", - " padding: 0 0 0 0;\n", - " width: 32px;\n", - " }\n", - "\n", - " .colab-df-convert:hover {\n", - " background-color: #E2EBFA;\n", - " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", - " fill: #174EA6;\n", - " }\n", - "\n", - " .colab-df-buttons div {\n", - " margin-bottom: 4px;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-convert {\n", - " background-color: #3B4455;\n", - " fill: #D2E3FC;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-convert:hover {\n", - " background-color: #434B5C;\n", - " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", - " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", - " fill: #FFFFFF;\n", - " }\n", - " </style>\n", - "\n", - " <script>\n", - " const buttonEl =\n", - " document.querySelector('#df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec button.colab-df-convert');\n", - " buttonEl.style.display =\n", - " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", - "\n", - " async function convertToInteractive(key) {\n", - " const element = document.querySelector('#df-9e94c52f-4b6c-4f88-81b3-0d74cccf7eec');\n", - " const dataTable =\n", - " await google.colab.kernel.invokeFunction('convertToInteractive',\n", - " [key], {});\n", - " if (!dataTable) return;\n", - "\n", - " const docLinkHtml = 'Like what you see? Visit the ' +\n", - " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", - " + ' to learn more about interactive tables.';\n", - " element.innerHTML = '';\n", - " dataTable['output_type'] = 'display_data';\n", - " await google.colab.output.renderOutput(dataTable, element);\n", - " const docLink = document.createElement('div');\n", - " docLink.innerHTML = docLinkHtml;\n", - " element.appendChild(docLink);\n", - " }\n", - " </script>\n", - " </div>\n", - "\n", - "\n", - "<div id=\"df-66c438ee-b30e-48e1-808e-7b2da6583b0f\">\n", - " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-66c438ee-b30e-48e1-808e-7b2da6583b0f')\"\n", - " title=\"Suggest charts\"\n", - " style=\"display:none;\">\n", - "\n", - "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", - " width=\"24px\">\n", - " <g>\n", - " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", - " </g>\n", - "</svg>\n", - " </button>\n", - "\n", - "<style>\n", - " .colab-df-quickchart {\n", - " --bg-color: #E8F0FE;\n", - " --fill-color: #1967D2;\n", - " --hover-bg-color: #E2EBFA;\n", - " --hover-fill-color: #174EA6;\n", - " --disabled-fill-color: #AAA;\n", - " --disabled-bg-color: #DDD;\n", - " }\n", - "\n", - " [theme=dark] .colab-df-quickchart {\n", - " --bg-color: #3B4455;\n", - " --fill-color: #D2E3FC;\n", - " --hover-bg-color: #434B5C;\n", - " --hover-fill-color: #FFFFFF;\n", - " --disabled-bg-color: #3B4455;\n", - " --disabled-fill-color: #666;\n", - " }\n", - "\n", - " .colab-df-quickchart {\n", - " background-color: var(--bg-color);\n", - " border: none;\n", - " border-radius: 50%;\n", - " cursor: pointer;\n", - " display: none;\n", - " fill: var(--fill-color);\n", - " height: 32px;\n", - " padding: 0;\n", - " width: 32px;\n", - " }\n", - "\n", - " .colab-df-quickchart:hover {\n", - " background-color: var(--hover-bg-color);\n", - " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", - " fill: var(--button-hover-fill-color);\n", - " }\n", - "\n", - " .colab-df-quickchart-complete:disabled,\n", - " .colab-df-quickchart-complete:disabled:hover {\n", - " background-color: var(--disabled-bg-color);\n", - " fill: var(--disabled-fill-color);\n", - " box-shadow: none;\n", - " }\n", - "\n", - " .colab-df-spinner {\n", - " border: 2px solid var(--fill-color);\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " animation:\n", - " spin 1s steps(1) infinite;\n", - " }\n", - "\n", - " @keyframes spin {\n", - " 0% {\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " border-left-color: var(--fill-color);\n", - " }\n", - " 20% {\n", - " border-color: transparent;\n", - " border-left-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " }\n", - " 30% {\n", - " border-color: transparent;\n", - " border-left-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " border-right-color: var(--fill-color);\n", - " }\n", - " 40% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " border-top-color: var(--fill-color);\n", - " }\n", - " 60% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " }\n", - " 80% {\n", - " border-color: transparent;\n", - " border-right-color: var(--fill-color);\n", - " border-bottom-color: var(--fill-color);\n", - " }\n", - " 90% {\n", - " border-color: transparent;\n", - " border-bottom-color: var(--fill-color);\n", - " }\n", - " }\n", - "</style>\n", - "\n", - " <script>\n", - " async function quickchart(key) {\n", - " const quickchartButtonEl =\n", - " document.querySelector('#' + key + ' button');\n", - " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", - " quickchartButtonEl.classList.add('colab-df-spinner');\n", - " try {\n", - " const charts = await google.colab.kernel.invokeFunction(\n", - " 'suggestCharts', [key], {});\n", - " } catch (error) {\n", - " console.error('Error during call to suggestCharts:', error);\n", - " }\n", - " quickchartButtonEl.classList.remove('colab-df-spinner');\n", - " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", - " }\n", - " (() => {\n", - " let quickchartButtonEl =\n", - " document.querySelector('#df-66c438ee-b30e-48e1-808e-7b2da6583b0f button');\n", - " quickchartButtonEl.style.display =\n", - " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", - " })();\n", - " </script>\n", - "</div>\n", - "\n", - " </div>\n", - " </div>\n" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "dataframe", - "variable_name": "df" - } - }, - "metadata": {}, - "execution_count": 9 - } + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "## Count number of entries for each property\n", - "for i in df.columns.values:\n", - " val=df[i].replace('na',np.nan).dropna().values\n", - " print(i,len(val))" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "FTsZSTDbGUbH", - "outputId": "3a024410-29ed-442a-c405-a90b5985da09" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d79c6b456ffb4289921288199c1a5e93", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 10, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "jid 75993\n", - "spg_number 75993\n", - "spg_symbol 75993\n", - "formula 75993\n", - "formation_energy_peratom 75993\n", - "func 75993\n", - "optb88vdw_bandgap 75993\n", - "atoms 75993\n", - "slme 9770\n", - "magmom_oszicar 71320\n", - "spillage 11377\n", - "elastic_tensor 25513\n", - "effective_masses_300K 75993\n", - "kpoint_length_unit 75671\n", - "maxdiff_mesh 5861\n", - "maxdiff_bz 5861\n", - "encut 75670\n", - "optb88vdw_total_energy 75993\n", - "epsx 52168\n", - "epsy 52168\n", - "epsz 52168\n", - "mepsx 18293\n", - "mepsy 18293\n", - "mepsz 18293\n", - "modes 13910\n", - "magmom_outcar 74261\n", - "max_efg 11871\n", - "avg_elec_mass 17645\n", - "avg_hole_mass 17645\n", - "icsd 75993\n", - "dfpt_piezo_max_eij 4799\n", - "dfpt_piezo_max_dij 3347\n", - "dfpt_piezo_max_dielectric 4706\n", - "dfpt_piezo_max_dielectric_electronic 4809\n", - "dfpt_piezo_max_dielectric_ionic 4809\n", - "max_ir_mode 4805\n", - "min_ir_mode 4809\n", - "n-Seebeck 23218\n", - "p-Seebeck 23218\n", - "n-powerfact 23218\n", - "p-powerfact 23218\n", - "ncond 23218\n", - "pcond 23218\n", - "nkappa 23218\n", - "pkappa 23218\n", - "ehull 75993\n", - "Tc_supercon 1058\n", - "dimensionality 75560\n", - "efg 75993\n", - "xml_data_link 75993\n", - "typ 75993\n", - "exfoliation_energy 813\n", - "spg 75993\n", - "crys 75993\n", - "density 75993\n", - "poisson 23597\n", - "raw_files 75993\n", - "nat 75993\n", - "bulk_modulus_kv 23824\n", - "shear_modulus_gv 23824\n", - "mbj_bandgap 19805\n", - "hse_gap 56\n", - "reference 75993\n", - "search 75993\n" - ] - } + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "from jarvis.core.atoms import Atoms\n", - "bm=df[df.bulk_modulus_kv != 'na']\n", - "data = [(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter(), bm.iloc[i].bulk_modulus_kv) for i in range(len(bm))]" - ], - "metadata": { - "id": "rW4KEnICGVxE" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3b8db07a150a4f058a540e5d584a981c", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 11, - "outputs": [] + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "import itertools\n", - "def get_stoichiometry(elements):\n", - " return [(g[0], len(list(g[1]))) for g in itertools.groupby(elements)]" - ], - "metadata": { - "id": "0gQUS5rQGaK5" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8f22afc4e41a45f28fb1c81f37c554fc", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 12, - "outputs": [] + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - " ## Use all the material dataset for training the bulk modulus\n", - "from tqdm import tqdm\n", - "\n", - "stoichs=[] #stoichiometry\n", - "bulk=[] #only include positive bulk modulus\n", - "\n", - "for i in tqdm(range(len(bm))):\n", - " if (bm.iloc[i]['bulk_modulus_kv'])>1:\n", - " stoichs.append(Atoms.from_dict(bm.iloc[i]['atoms']).pymatgen_converter())\n", - " bulk.append(bm.iloc[i]['bulk_modulus_kv'])\n" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "YaMVVrguGe2s", - "outputId": "25dcd209-e980-4a20-c650-eb17046dda62" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "21db824539da4758a8aa5c6351949cc5", + "version_major": 2, + "version_minor": 0 }, - "execution_count": 13, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 23824/23824 [00:36<00:00, 656.64it/s] \n" - ] - } + "text/plain": [ + "Validation: | | 0/? [00:00<?, ?it/s]" ] + }, + "metadata": {}, + "output_type": "display_data" }, { - "cell_type": "code", - "source": [ - "data_ran=list(zip(stoichs,bulk))\n", - "#write out the dataset, to train later\n", - "import pickle\n", - "with open('data_ran.pickle', 'wb') as f:\n", - " pickle.dump(data_ran, f)" - ], - "metadata": { - "id": "0lxmfaHEHhs6" - }, - "execution_count": 18, - "outputs": [] + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO: `Trainer.fit` stopped: `max_epochs=5` reached.\n", + "INFO:lightning.pytorch.utilities.rank_zero:`Trainer.fit` stopped: `max_epochs=5` reached.\n" + ] + } + ], + "source": [ + "logger = CSVLogger(\"logged\", name=\"MEGNet_training\")\n", + "trainer = Trainer(max_epochs=5, accelerator=\"cpu\", logger=logger) #set to SMALL NUMBER FOR TESTING, PLEASE CHANGE.\n", + "trainer.fit(model=lit_module, train_dataloaders=train_loader, val_dataloaders=val_loader)\n", + "\n", + "warnings.simplefilter(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 }, + "id": "JpFwUt4_JMjZ", + "outputId": "06c0bfc7-7c4b-40fa-b4d6-35e054a407bc" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - " #read in the dataset\n", - "data_ran=pd.read_pickle('./data_ran.pickle')" + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "metrics = pd.read_csv(\"logged/MEGNet_training/version_0/metrics.csv\")\n", + "metrics[\"train_MAE\"].dropna().plot()\n", + "metrics[\"val_MAE\"].dropna().plot()\n", + "\n", + "_ = plt.legend()\n", + "#plt.savefig(\"loss.jpg\")" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "00a869694a674b6c842722a59cb8da12": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "02b5bd9111e14cc2acb3ca61bbd7878d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "02f73d2307e0464aadeb4e728ea98f6b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0b7acd53e36347b38de1e31a244bd484": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0bc1b357649b490696dc0498590c2253": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ef2d223473fd466e83ea73541e50b114", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9f3e170ad77d494785fb4a1827472873", + "value": 73 + } + }, + "0d2671b5646542419e45f1311d8993c3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "14ad15cdf67047879b38fcb976c793a7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1abde559f901468aa22132e3e7ded2c6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f7255b3f29b740339a4bfa0419d46114", + "placeholder": "​", + "style": "IPY_MODEL_66b0e7e3d46248c3b6fed1687ec424ac", + "value": " 73/73 [00:09<00:00,  7.64it/s]" + } + }, + "1dc96decbde849fc9750042eabc26918": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "21db824539da4758a8aa5c6351949cc5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_73ae5b95afc24ba2bebdcdf077ec7c43", + "IPY_MODEL_7112ceeb185f424a95b08454ee688b18", + "IPY_MODEL_dd06ea396d3c4faeba71a50f77b75701" ], - "metadata": { - "id": "dz2y9oNGH-rO" - }, - "execution_count": 19, - "outputs": [] + "layout": "IPY_MODEL_d5ab3316f9754baa80a985abfc27b64d" + } }, - { - "cell_type": "code", - "source": [ - "import random\n", - "\n", - "random.shuffle(data_ran)\n", - "\n", - "structures=[d[0] for d in data_ran]\n", - "targets=np.log10([d[1] for d in data_ran])\n", - "\n", - "print(structures[0],targets[0])" + "2a15f542acf8406b890f4b1d4063446a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2abee34399b5404f8aa2d13ca1f8a0a1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2fd82da052dd482eab2679261b5c0f3f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3671f10fdae141cb9e0a47cc1db97210": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7b94ecf3158748728de903d980e18c38", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_43d879e9907b43f6a800861eae99e048", + "value": 73 + } + }, + "39c9bef36079445199e8b9b4c310a207": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "3b8db07a150a4f058a540e5d584a981c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c51ffc590efd48988bc043157000c46d", + "IPY_MODEL_0bc1b357649b490696dc0498590c2253", + "IPY_MODEL_b8ed08a8827440e5944221ee4e577a22" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "IllZhvMxHh0x", - "outputId": "9d8e5d95-ff3b-4b06-d674-ac15c663fe6e" - }, - "execution_count": 20, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Full Formula (Al2 O1)\n", - "Reduced Formula: Al2O\n", - "abc : 2.691974 2.821216 5.955222\n", - "angles: 90.000000 90.000000 90.000000\n", - "pbc : True True True\n", - "Sites (3)\n", - " # SP a b c\n", - "--- ---- --------- --- --------\n", - " 0 Al -0.033312 0 0.757299\n", - " 1 Al -0.033312 0 0.242701\n", - " 2 O 0.466623 0 0 1.757547853469244\n" - ] - } - ] + "layout": "IPY_MODEL_9bf98247ac654ced921ccb3f59029f46" + } }, - { - "cell_type": "code", - "source": [ - "# get element types in the dataset\n", - "elem_list = get_element_list(structures)\n", - "# setup a graph converter\n", - "converter = Structure2Graph(element_types=elem_list, cutoff=4.0)\n", - "# convert the raw dataset into MEGNetDataset\n", - "mp_dataset = MGLDataset(\n", - " structures=structures,\n", - " labels={\"bulk_modulus_kv\": targets},\n", - " converter=converter,\n", - ")" + "3bcbe7eb46c1470d91c137937ca29cb6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "3d9ca4d6a78b4be388d47a2c26a2d534": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a2b86afdb6fd4447abd6a782ec961e7b", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3bcbe7eb46c1470d91c137937ca29cb6", + "value": 73 + } + }, + "43d879e9907b43f6a800861eae99e048": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "49a1ca9a00214ab8bf626d1d16f64c75": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4abf302ed171414e9a4204d72e84af21": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4f99d7a4c905449db8ed0f8061a485b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4fd6b3e353ad4fb4af11ca5985e1bfe5": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "50f79d64fa0a4b94b24b5c7a06e0af12": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4f99d7a4c905449db8ed0f8061a485b8", + "placeholder": "​", + "style": "IPY_MODEL_d54dea38ba5449de89353102e31c9214", + "value": " 73/73 [00:08<00:00,  8.39it/s]" + } + }, + "5393fa5795634e8ba5603785421b4b7e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "543ce0246d5d4f26b149f57170032644": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "56705796817d43028c6eddfefc18336f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_d80bf4bdb76149b68e674b2ee649626c", + "IPY_MODEL_867bb34bd9534aa39c85c07fe3f92f4e", + "IPY_MODEL_dffbbe151dd34200beff08eafd98a380" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "gkBUklhmIeOb", - "outputId": "13cc0804-8a6b-4a18-9153-228fe781ab5b" - }, - "execution_count": 21, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 23173/23173 [00:47<00:00, 483.02it/s]\n" - ] - } - ] + "layout": "IPY_MODEL_f0507d80a2c74d53b4963130af706fb8" + } }, - { - "cell_type": "code", - "source": [ - " train_data, val_data, test_data = split_dataset(\n", - " mp_dataset,\n", - " frac_list=[0.6, 0.2, 0.2],\n", - " shuffle=True,\n", - " random_state=42,\n", - ")\n", - "train_loader, val_loader, test_loader = MGLDataLoader(\n", - " train_data=train_data,\n", - " val_data=val_data,\n", - " test_data=test_data,\n", - " batch_size=64,\n", - " num_workers=0,\n", - ")" + "589dc33928254b279a9561a9f0e1edd2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "5ecf53db53174e2c86358541bc4f1a2b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "629aa27bc05e4b6890c0457d57175e57": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "629f5065fec04c039ce71a88aca28ac7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_693131233ec241bcb7ddbe8a8e1ff2e0", + "placeholder": "​", + "style": "IPY_MODEL_73eed7e431de45f091117115ed11dbe5", + "value": "Validation DataLoader 0: 100%" + } + }, + "66b0e7e3d46248c3b6fed1687ec424ac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "68c82105b3f04b00bdbb4b7bc31d0db5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "690367a2eeee4bb9bedc20effdc450b3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "693131233ec241bcb7ddbe8a8e1ff2e0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7112ceeb185f424a95b08454ee688b18": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2fd82da052dd482eab2679261b5c0f3f", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e5a739d5069f4e0db2cca257a96bf97a", + "value": 73 + } + }, + "73653ee65cde4122ba0268dabc34f827": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_b96935fe7dea45859703dcd49a3b1f52", + "IPY_MODEL_d94c1dbd52b44ae9b9e565e44f691e05", + "IPY_MODEL_a2ae7f36742049ab9980e60fc1014d86" ], - "metadata": { - "id": "Tk7mjkwDIqOJ" - }, - "execution_count": 22, - "outputs": [] + "layout": "IPY_MODEL_bb160cdca74641a088df5ba8445517cc" + } }, - { - "cell_type": "code", - "source": [ - "# setup the embedding layer for node attributes\n", - "node_embed = torch.nn.Embedding(len(elem_list), 16)\n", - "# define the bond expansion\n", - "bond_expansion = BondExpansion(rbf_type=\"Gaussian\", initial=0.0, final=5.0, num_centers=100, width=0.5)\n", - "\n", - "# setup the architecture of MEGNet model\n", - "model = MEGNet(\n", - " dim_node_embedding=16,\n", - " dim_edge_embedding=100,\n", - " dim_state_embedding=2,\n", - " nblocks=3,\n", - " hidden_layer_sizes_input=(64, 32),\n", - " hidden_layer_sizes_conv=(64, 64, 32),\n", - " nlayers_set2set=1,\n", - " niters_set2set=2,\n", - " hidden_layer_sizes_output=(32, 16),\n", - " is_classification=False,\n", - " activation_type=\"softplus2\",\n", - " bond_expansion=bond_expansion,\n", - " #collate_fn=collate_fn, shivani - not needed now?\n", - " cutoff=4.0,\n", - " gauss_width=0.5,\n", - ")\n", - "\n", - "# setup the MEGNetTrainer\n", - "lit_module = ModelLightningModule(model=model)" + "73ae5b95afc24ba2bebdcdf077ec7c43": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0d2671b5646542419e45f1311d8993c3", + "placeholder": "​", + "style": "IPY_MODEL_df51d44724d64c0ca5c127afdf373ac7", + "value": "Validation DataLoader 0: 100%" + } + }, + "73eed7e431de45f091117115ed11dbe5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "74559eacbf754aec8abd39be4ce5948b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_543ce0246d5d4f26b149f57170032644", + "placeholder": "​", + "style": "IPY_MODEL_68c82105b3f04b00bdbb4b7bc31d0db5", + "value": "Validation DataLoader 0: 100%" + } + }, + "79500fbf2f93417796e265786cb54a43": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_49a1ca9a00214ab8bf626d1d16f64c75", + "placeholder": "​", + "style": "IPY_MODEL_ff6205ce16e447368fe2f232db393de0", + "value": "Sanity Checking DataLoader 0: 100%" + } + }, + "79fcd95516f44348a313203b209e0dbb": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7b94ecf3158748728de903d980e18c38": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "82c48b8ef01b462d9df631e9d172316b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "867bb34bd9534aa39c85c07fe3f92f4e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_629aa27bc05e4b6890c0457d57175e57", + "max": 218, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_39c9bef36079445199e8b9b4c310a207", + "value": 218 + } + }, + "8dd15ab4f07246a2b263fdf29c1656f9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8f22afc4e41a45f28fb1c81f37c554fc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_629f5065fec04c039ce71a88aca28ac7", + "IPY_MODEL_3671f10fdae141cb9e0a47cc1db97210", + "IPY_MODEL_50f79d64fa0a4b94b24b5c7a06e0af12" ], - "metadata": { - "id": "jREU_HYVIvoG" - }, - "execution_count": 23, - "outputs": [] + "layout": "IPY_MODEL_4fd6b3e353ad4fb4af11ca5985e1bfe5" + } }, - { - "cell_type": "code", - "source": [ - "logger = CSVLogger(\"logged\", name=\"MEGNet_training\")\n", - "trainer = Trainer(max_epochs=5, accelerator=\"cpu\", logger=logger) #set to SMALL NUMBER FOR TESTING, PLEASE CHANGE.\n", - "trainer.fit(model=lit_module, train_dataloaders=train_loader, val_dataloaders=val_loader)\n", - "\n", - "warnings.simplefilter(\"ignore\")" + "9bf98247ac654ced921ccb3f59029f46": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "9f3e170ad77d494785fb4a1827472873": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a2ae7f36742049ab9980e60fc1014d86": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2a15f542acf8406b890f4b1d4063446a", + "placeholder": "​", + "style": "IPY_MODEL_c45569e490c74ca996fee25f8bd31cdf", + "value": " 73/73 [00:09<00:00,  7.85it/s]" + } + }, + "a2b86afdb6fd4447abd6a782ec961e7b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b755785fab01467cb5989d11385e716c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5ecf53db53174e2c86358541bc4f1a2b", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_db1985753e164a188e96db0188528d22", + "value": 2 + } + }, + "b8ed08a8827440e5944221ee4e577a22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cbd1497f4a404b649052068a93025e31", + "placeholder": "​", + "style": "IPY_MODEL_0b7acd53e36347b38de1e31a244bd484", + "value": " 73/73 [00:09<00:00,  7.69it/s]" + } + }, + "b96935fe7dea45859703dcd49a3b1f52": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_02b5bd9111e14cc2acb3ca61bbd7878d", + "placeholder": "​", + "style": "IPY_MODEL_cb9e5e4447c64dcc950f0f9b6f64eacd", + "value": "Validation DataLoader 0: 100%" + } + }, + "bb160cdca74641a088df5ba8445517cc": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "c26f6b42e3f348f2a4e161765d99042e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_14ad15cdf67047879b38fcb976c793a7", + "placeholder": "​", + "style": "IPY_MODEL_690367a2eeee4bb9bedc20effdc450b3", + "value": " 2/2 [00:00<00:00,  4.32it/s]" + } + }, + "c45569e490c74ca996fee25f8bd31cdf": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c51ffc590efd48988bc043157000c46d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4abf302ed171414e9a4204d72e84af21", + "placeholder": "​", + "style": "IPY_MODEL_1dc96decbde849fc9750042eabc26918", + "value": "Validation DataLoader 0: 100%" + } + }, + "cb9e5e4447c64dcc950f0f9b6f64eacd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "cbd1497f4a404b649052068a93025e31": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d54dea38ba5449de89353102e31c9214": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d5ab3316f9754baa80a985abfc27b64d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "d7150457f96049c88b5a7e2604670830": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": "100%" + } + }, + "d79c6b456ffb4289921288199c1a5e93": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_74559eacbf754aec8abd39be4ce5948b", + "IPY_MODEL_3d9ca4d6a78b4be388d47a2c26a2d534", + "IPY_MODEL_1abde559f901468aa22132e3e7ded2c6" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 656, - "referenced_widgets": [ - "f7321d7b1b9a4dbe905092f388240f23", - "79500fbf2f93417796e265786cb54a43", - "b755785fab01467cb5989d11385e716c", - "c26f6b42e3f348f2a4e161765d99042e", - "d7150457f96049c88b5a7e2604670830", - "49a1ca9a00214ab8bf626d1d16f64c75", - "ff6205ce16e447368fe2f232db393de0", - "5ecf53db53174e2c86358541bc4f1a2b", - "db1985753e164a188e96db0188528d22", - "14ad15cdf67047879b38fcb976c793a7", - "690367a2eeee4bb9bedc20effdc450b3", - "56705796817d43028c6eddfefc18336f", - "d80bf4bdb76149b68e674b2ee649626c", - "867bb34bd9534aa39c85c07fe3f92f4e", - "dffbbe151dd34200beff08eafd98a380", - "f0507d80a2c74d53b4963130af706fb8", - "79fcd95516f44348a313203b209e0dbb", - "5393fa5795634e8ba5603785421b4b7e", - "629aa27bc05e4b6890c0457d57175e57", - "39c9bef36079445199e8b9b4c310a207", - "2abee34399b5404f8aa2d13ca1f8a0a1", - "82c48b8ef01b462d9df631e9d172316b", - "73653ee65cde4122ba0268dabc34f827", - "b96935fe7dea45859703dcd49a3b1f52", - "d94c1dbd52b44ae9b9e565e44f691e05", - "a2ae7f36742049ab9980e60fc1014d86", - "bb160cdca74641a088df5ba8445517cc", - "02b5bd9111e14cc2acb3ca61bbd7878d", - "cb9e5e4447c64dcc950f0f9b6f64eacd", - "02f73d2307e0464aadeb4e728ea98f6b", - "df300bb1205d4ccf90ade86c1197a971", - "2a15f542acf8406b890f4b1d4063446a", - "c45569e490c74ca996fee25f8bd31cdf", - "d79c6b456ffb4289921288199c1a5e93", - "74559eacbf754aec8abd39be4ce5948b", - "3d9ca4d6a78b4be388d47a2c26a2d534", - "1abde559f901468aa22132e3e7ded2c6", - "589dc33928254b279a9561a9f0e1edd2", - "543ce0246d5d4f26b149f57170032644", - "68c82105b3f04b00bdbb4b7bc31d0db5", - "a2b86afdb6fd4447abd6a782ec961e7b", - "3bcbe7eb46c1470d91c137937ca29cb6", - "f7255b3f29b740339a4bfa0419d46114", - "66b0e7e3d46248c3b6fed1687ec424ac", - "3b8db07a150a4f058a540e5d584a981c", - "c51ffc590efd48988bc043157000c46d", - "0bc1b357649b490696dc0498590c2253", - "b8ed08a8827440e5944221ee4e577a22", - "9bf98247ac654ced921ccb3f59029f46", - "4abf302ed171414e9a4204d72e84af21", - "1dc96decbde849fc9750042eabc26918", - "ef2d223473fd466e83ea73541e50b114", - "9f3e170ad77d494785fb4a1827472873", - "cbd1497f4a404b649052068a93025e31", - "0b7acd53e36347b38de1e31a244bd484", - "8f22afc4e41a45f28fb1c81f37c554fc", - "629f5065fec04c039ce71a88aca28ac7", - "3671f10fdae141cb9e0a47cc1db97210", - "50f79d64fa0a4b94b24b5c7a06e0af12", - "4fd6b3e353ad4fb4af11ca5985e1bfe5", - "693131233ec241bcb7ddbe8a8e1ff2e0", - "73eed7e431de45f091117115ed11dbe5", - "7b94ecf3158748728de903d980e18c38", - "43d879e9907b43f6a800861eae99e048", - "4f99d7a4c905449db8ed0f8061a485b8", - "d54dea38ba5449de89353102e31c9214", - "21db824539da4758a8aa5c6351949cc5", - "73ae5b95afc24ba2bebdcdf077ec7c43", - "7112ceeb185f424a95b08454ee688b18", - "dd06ea396d3c4faeba71a50f77b75701", - "d5ab3316f9754baa80a985abfc27b64d", - "0d2671b5646542419e45f1311d8993c3", - "df51d44724d64c0ca5c127afdf373ac7", - "2fd82da052dd482eab2679261b5c0f3f", - "e5a739d5069f4e0db2cca257a96bf97a", - "00a869694a674b6c842722a59cb8da12", - "8dd15ab4f07246a2b263fdf29c1656f9" - ] - }, - "id": "r-fFV2ncI-zW", - "outputId": "758b858a-daf7-42fc-8622-d54f67818163" - }, - "execution_count": 24, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "INFO: GPU available: False, used: False\n", - "INFO:lightning.pytorch.utilities.rank_zero:GPU available: False, used: False\n", - "INFO: TPU available: False, using: 0 TPU cores\n", - "INFO:lightning.pytorch.utilities.rank_zero:TPU available: False, using: 0 TPU cores\n", - "INFO: HPU available: False, using: 0 HPUs\n", - "INFO:lightning.pytorch.utilities.rank_zero:HPU available: False, using: 0 HPUs\n", - "INFO: \n", - " | Name | Type | Params | Mode \n", - "----------------------------------------------------\n", - "0 | model | MEGNet | 189 K | train\n", - "1 | mae | MeanAbsoluteError | 0 | train\n", - "2 | rmse | MeanSquaredError | 0 | train\n", - "----------------------------------------------------\n", - "189 K Trainable params\n", - "100 Non-trainable params\n", - "189 K Total params\n", - "0.758 Total estimated model params size (MB)\n", - "109 Modules in train mode\n", - "0 Modules in eval mode\n", - "INFO:lightning.pytorch.callbacks.model_summary:\n", - " | Name | Type | Params | Mode \n", - "----------------------------------------------------\n", - "0 | model | MEGNet | 189 K | train\n", - "1 | mae | MeanAbsoluteError | 0 | train\n", - "2 | rmse | MeanSquaredError | 0 | train\n", - "----------------------------------------------------\n", - "189 K Trainable params\n", - "100 Non-trainable params\n", - "189 K Total params\n", - "0.758 Total estimated model params size (MB)\n", - "109 Modules in train mode\n", - "0 Modules in eval mode\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Sanity Checking: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "f7321d7b1b9a4dbe905092f388240f23" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Training: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "56705796817d43028c6eddfefc18336f" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "73653ee65cde4122ba0268dabc34f827" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "d79c6b456ffb4289921288199c1a5e93" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "3b8db07a150a4f058a540e5d584a981c" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "8f22afc4e41a45f28fb1c81f37c554fc" - } - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Validation: | | 0/? [00:00<?, ?it/s]" - ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "21db824539da4758a8aa5c6351949cc5" - } - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "INFO: `Trainer.fit` stopped: `max_epochs=5` reached.\n", - "INFO:lightning.pytorch.utilities.rank_zero:`Trainer.fit` stopped: `max_epochs=5` reached.\n" - ] - } - ] + "layout": "IPY_MODEL_589dc33928254b279a9561a9f0e1edd2" + } }, - { - "cell_type": "code", - "source": [ - "metrics = pd.read_csv(\"logged/MEGNet_training/version_0/metrics.csv\")\n", - "metrics[\"train_MAE\"].dropna().plot()\n", - "metrics[\"val_MAE\"].dropna().plot()\n", - "\n", - "_ = plt.legend()\n", - "#plt.savefig(\"loss.jpg\")" + "d80bf4bdb76149b68e674b2ee649626c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_79fcd95516f44348a313203b209e0dbb", + "placeholder": "​", + "style": "IPY_MODEL_5393fa5795634e8ba5603785421b4b7e", + "value": "Epoch 4: 100%" + } + }, + "d94c1dbd52b44ae9b9e565e44f691e05": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_02f73d2307e0464aadeb4e728ea98f6b", + "max": 73, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_df300bb1205d4ccf90ade86c1197a971", + "value": 73 + } + }, + "db1985753e164a188e96db0188528d22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "dd06ea396d3c4faeba71a50f77b75701": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_00a869694a674b6c842722a59cb8da12", + "placeholder": "​", + "style": "IPY_MODEL_8dd15ab4f07246a2b263fdf29c1656f9", + "value": " 73/73 [00:11<00:00,  6.63it/s]" + } + }, + "df300bb1205d4ccf90ade86c1197a971": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "df51d44724d64c0ca5c127afdf373ac7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "dffbbe151dd34200beff08eafd98a380": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2abee34399b5404f8aa2d13ca1f8a0a1", + "placeholder": "​", + "style": "IPY_MODEL_82c48b8ef01b462d9df631e9d172316b", + "value": " 218/218 [01:03<00:00,  3.43it/s, v_num=0, val_Total_Loss=0.0667, val_MAE=0.169, val_RMSE=0.251, train_Total_Loss=0.0663, train_MAE=0.169, train_RMSE=0.251]" + } + }, + "e5a739d5069f4e0db2cca257a96bf97a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "ef2d223473fd466e83ea73541e50b114": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": "2", + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f0507d80a2c74d53b4963130af706fb8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": "inline-flex", + "flex": null, + "flex_flow": "row wrap", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "100%" + } + }, + "f7255b3f29b740339a4bfa0419d46114": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f7321d7b1b9a4dbe905092f388240f23": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_79500fbf2f93417796e265786cb54a43", + "IPY_MODEL_b755785fab01467cb5989d11385e716c", + "IPY_MODEL_c26f6b42e3f348f2a4e161765d99042e" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 430 - }, - "id": "JpFwUt4_JMjZ", - "outputId": "06c0bfc7-7c4b-40fa-b4d6-35e054a407bc" - }, - "execution_count": 25, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ], - "image/png": "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\n" - }, - "metadata": {} - } - ] + "layout": "IPY_MODEL_d7150457f96049c88b5a7e2604670830" + } + }, + "ff6205ce16e447368fe2f232db393de0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } } - ] + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/Workshop3/molcal_workshop3.ipynb b/Workshop3/molcal_workshop3.ipynb index 4228bc38304f60847328921ff68667d019cf3850..11b350a3da132975effeb6e8f9f864af3c998251 100644 --- a/Workshop3/molcal_workshop3.ipynb +++ b/Workshop3/molcal_workshop3.ipynb @@ -684,13 +684,7 @@ "GPU available: True (mps), used: False\n", "TPU available: False, using: 0 TPU cores\n", "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ + "HPU available: False, using: 0 HPUs\n", "\n", " | Name | Type | Params\n", "--------------------------------------------\n", @@ -960,7 +954,7 @@ ], "metadata": { "kernelspec": { - "display_name": "molcal", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -974,9 +968,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.13" + "version": "3.9.7" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 }