Computer_Vision/Chapter03/Impact_of_dropout.ipynb

2078 lines
259 KiB
Plaintext
Raw Normal View History

2024-02-13 03:34:51 +01:00
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"accelerator": "GPU",
"colab": {
"name": "Impact_of_dropout.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"hide_input": false,
"kernelspec": {
"display_name": "Python 3",
"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.7.4"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"2f3d7b0ce8764f598c395fbac737c48c": {
"model_module": "@jupyter-widgets/controls",
"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_ba986e5e4c9b48f88c8346ef03b4b000",
"IPY_MODEL_aec05ee9a5d1413d831c1f7077d28101"
],
"layout": "IPY_MODEL_59bd05eda8644307aa2971b042ca5df9"
}
},
"59bd05eda8644307aa2971b042ca5df9": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"ba986e5e4c9b48f88c8346ef03b4b000": {
"model_module": "@jupyter-widgets/controls",
"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": "info",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_3eae9a8647dd429a80527cce71c67b05",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_8ca81342939449f0b29abdb07496d439",
"value": 1
}
},
"aec05ee9a5d1413d831c1f7077d28101": {
"model_module": "@jupyter-widgets/controls",
"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_3ea8f8bcf14e4aa2bd4e499cff3f9c18",
"placeholder": "",
"style": "IPY_MODEL_dfce7275cc244893a2d968bd69e20d93",
"value": " 26427392/? [00:20<00:00, 70164856.40it/s]"
}
},
"8ca81342939449f0b29abdb07496d439": {
"model_module": "@jupyter-widgets/controls",
"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": "initial"
}
},
"3eae9a8647dd429a80527cce71c67b05": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"dfce7275cc244893a2d968bd69e20d93": {
"model_module": "@jupyter-widgets/controls",
"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": ""
}
},
"3ea8f8bcf14e4aa2bd4e499cff3f9c18": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"768b85b4e742448b817828cc2248995f": {
"model_module": "@jupyter-widgets/controls",
"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_a0d845dfe2ad4ee991f8bca5180ecbcb",
"IPY_MODEL_20830224ff094525b44b404461c6a511"
],
"layout": "IPY_MODEL_36143c2721c74fcdaa0b4625c5991a06"
}
},
"36143c2721c74fcdaa0b4625c5991a06": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"a0d845dfe2ad4ee991f8bca5180ecbcb": {
"model_module": "@jupyter-widgets/controls",
"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_847d2b3124fa46848d94eb729649c98e",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_e573242ca86f411ba0296215e5c4b039",
"value": 1
}
},
"20830224ff094525b44b404461c6a511": {
"model_module": "@jupyter-widgets/controls",
"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_a37db114e34e402391c0556e59e6ae1b",
"placeholder": "",
"style": "IPY_MODEL_2909afa9e1f7476c8b4c6a49e0453530",
"value": " 32768/? [00:00<00:00, 81523.42it/s]"
}
},
"e573242ca86f411ba0296215e5c4b039": {
"model_module": "@jupyter-widgets/controls",
"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": "initial"
}
},
"847d2b3124fa46848d94eb729649c98e": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"2909afa9e1f7476c8b4c6a49e0453530": {
"model_module": "@jupyter-widgets/controls",
"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": ""
}
},
"a37db114e34e402391c0556e59e6ae1b": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"ad4e9182b08541ce967cfa5e31398cce": {
"model_module": "@jupyter-widgets/controls",
"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_b9fccc870b8c4ad69f26b05ebb667df4",
"IPY_MODEL_d23eac4f2b514d9c9121cf06ec5c52b9"
],
"layout": "IPY_MODEL_f4f5262126664c12ac5377ff39f8e840"
}
},
"f4f5262126664c12ac5377ff39f8e840": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"b9fccc870b8c4ad69f26b05ebb667df4": {
"model_module": "@jupyter-widgets/controls",
"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_4ffea4eb6779408bbf90077e3777bc1f",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_8b3b1433cb3545fb9f600613eaf1958a",
"value": 1
}
},
"d23eac4f2b514d9c9121cf06ec5c52b9": {
"model_module": "@jupyter-widgets/controls",
"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_682b223eca4448ed8bdbefde7250fbbd",
"placeholder": "",
"style": "IPY_MODEL_4ca74d8b14474d7fbc46e072d4afb941",
"value": " 4423680/? [00:00<00:00, 15282831.16it/s]"
}
},
"8b3b1433cb3545fb9f600613eaf1958a": {
"model_module": "@jupyter-widgets/controls",
"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": "initial"
}
},
"4ffea4eb6779408bbf90077e3777bc1f": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"4ca74d8b14474d7fbc46e072d4afb941": {
"model_module": "@jupyter-widgets/controls",
"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": ""
}
},
"682b223eca4448ed8bdbefde7250fbbd": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"ffccb79b5be044369bfeb0a6663c38f2": {
"model_module": "@jupyter-widgets/controls",
"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_fb91d02c5f3e4c7f8bb46231b1154693",
"IPY_MODEL_c9f23e17d34544e28d89dd90bec62463"
],
"layout": "IPY_MODEL_79d6f94d757f4fddb9b9d14ea2a3f874"
}
},
"79d6f94d757f4fddb9b9d14ea2a3f874": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"fb91d02c5f3e4c7f8bb46231b1154693": {
"model_module": "@jupyter-widgets/controls",
"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_fa170bda69c342cdb6d4a8b4eba1b017",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_3385870131e8419ebeec40513f1142ab",
"value": 1
}
},
"c9f23e17d34544e28d89dd90bec62463": {
"model_module": "@jupyter-widgets/controls",
"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_c3fa6c5debff46b6a5353c885a0625c2",
"placeholder": "",
"style": "IPY_MODEL_a2b63a0bfc8449e1a655d7a3f7181ebf",
"value": " 8192/? [00:00<00:00, 26820.81it/s]"
}
},
"3385870131e8419ebeec40513f1142ab": {
"model_module": "@jupyter-widgets/controls",
"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": "initial"
}
},
"fa170bda69c342cdb6d4a8b4eba1b017": {
"model_module": "@jupyter-widgets/base",
"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
}
},
"a2b63a0bfc8449e1a655d7a3f7181ebf": {
"model_module": "@jupyter-widgets/controls",
"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": ""
}
},
"c3fa6c5debff46b6a5353c885a0625c2": {
"model_module": "@jupyter-widgets/base",
"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
}
}
}
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/github/PacktPublishing/Hands-On-Computer-Vision-with-PyTorch/blob/master/Chapter03/Impact_of_dropout.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "tQF3S8aqKTvD",
"outputId": "e38bba6d-679e-42b6-ee02-633c357bfcb6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437,
"referenced_widgets": [
"2f3d7b0ce8764f598c395fbac737c48c",
"59bd05eda8644307aa2971b042ca5df9",
"ba986e5e4c9b48f88c8346ef03b4b000",
"aec05ee9a5d1413d831c1f7077d28101",
"8ca81342939449f0b29abdb07496d439",
"3eae9a8647dd429a80527cce71c67b05",
"dfce7275cc244893a2d968bd69e20d93",
"3ea8f8bcf14e4aa2bd4e499cff3f9c18",
"768b85b4e742448b817828cc2248995f",
"36143c2721c74fcdaa0b4625c5991a06",
"a0d845dfe2ad4ee991f8bca5180ecbcb",
"20830224ff094525b44b404461c6a511",
"e573242ca86f411ba0296215e5c4b039",
"847d2b3124fa46848d94eb729649c98e",
"2909afa9e1f7476c8b4c6a49e0453530",
"a37db114e34e402391c0556e59e6ae1b",
"ad4e9182b08541ce967cfa5e31398cce",
"f4f5262126664c12ac5377ff39f8e840",
"b9fccc870b8c4ad69f26b05ebb667df4",
"d23eac4f2b514d9c9121cf06ec5c52b9",
"8b3b1433cb3545fb9f600613eaf1958a",
"4ffea4eb6779408bbf90077e3777bc1f",
"4ca74d8b14474d7fbc46e072d4afb941",
"682b223eca4448ed8bdbefde7250fbbd",
"ffccb79b5be044369bfeb0a6663c38f2",
"79d6f94d757f4fddb9b9d14ea2a3f874",
"fb91d02c5f3e4c7f8bb46231b1154693",
"c9f23e17d34544e28d89dd90bec62463",
"3385870131e8419ebeec40513f1142ab",
"fa170bda69c342cdb6d4a8b4eba1b017",
"a2b63a0bfc8449e1a655d7a3f7181ebf",
"c3fa6c5debff46b6a5353c885a0625c2"
]
}
},
"source": [
"from torchvision import datasets\n",
"import torch\n",
"data_folder = '/content/' # This can be any directory you want to download FMNIST to\n",
"fmnist = datasets.FashionMNIST(data_folder, download=True, train=True)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-images-idx3-ubyte.gz to /content/FashionMNIST/raw/train-images-idx3-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2f3d7b0ce8764f598c395fbac737c48c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting /content/FashionMNIST/raw/train-images-idx3-ubyte.gz to /content/FashionMNIST/raw\n",
"Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-labels-idx1-ubyte.gz to /content/FashionMNIST/raw/train-labels-idx1-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "768b85b4e742448b817828cc2248995f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting /content/FashionMNIST/raw/train-labels-idx1-ubyte.gz to /content/FashionMNIST/raw\n",
"Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-images-idx3-ubyte.gz to /content/FashionMNIST/raw/t10k-images-idx3-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ad4e9182b08541ce967cfa5e31398cce",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting /content/FashionMNIST/raw/t10k-images-idx3-ubyte.gz to /content/FashionMNIST/raw\n",
"Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-labels-idx1-ubyte.gz to /content/FashionMNIST/raw/t10k-labels-idx1-ubyte.gz\n",
"\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ffccb79b5be044369bfeb0a6663c38f2",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting /content/FashionMNIST/raw/t10k-labels-idx1-ubyte.gz to /content/FashionMNIST/raw\n",
"Processing...\n",
"Done!\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/torchvision/datasets/mnist.py:469: UserWarning: The given NumPy array is not writeable, and PyTorch does not support non-writeable tensors. This means you can write to the underlying (supposedly non-writeable) NumPy array using the tensor. You may want to copy the array to protect its data or make it writeable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /pytorch/torch/csrc/utils/tensor_numpy.cpp:141.)\n",
" return torch.from_numpy(parsed.astype(m[2], copy=False)).view(*s)\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Upbh6zarK2d5"
},
"source": [
"tr_images = fmnist.data\n",
"tr_targets = fmnist.targets"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "YZBVdvanK34A"
},
"source": [
"val_fmnist = datasets.FashionMNIST(data_folder, download=True, train=False)\n",
"val_images = val_fmnist.data\n",
"val_targets = val_fmnist.targets"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "nkis84DbK5YH"
},
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import numpy as np\n",
"from torch.utils.data import Dataset, DataLoader\n",
"import torch\n",
"import torch.nn as nn\n",
"device = 'cuda' if torch.cuda.is_available() else 'cpu'"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "jP9feXa2zDUn"
},
"source": [
"### Dropout 0.25"
]
},
{
"cell_type": "code",
"metadata": {
"id": "I2dYPVTxK7zf"
},
"source": [
"class FMNISTDataset(Dataset):\n",
" def __init__(self, x, y):\n",
" x = x.float()/255\n",
" x = x.view(-1,28*28)\n",
" self.x, self.y = x, y \n",
" def __getitem__(self, ix):\n",
" x, y = self.x[ix], self.y[ix] \n",
" return x.to(device), y.to(device)\n",
" def __len__(self): \n",
" return len(self.x)\n",
"\n",
"from torch.optim import SGD, Adam\n",
"def get_model():\n",
" model = nn.Sequential(\n",
" nn.Dropout(0.25),\n",
" nn.Linear(28 * 28, 1000),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.25),\n",
" nn.Linear(1000, 10)\n",
" ).to(device)\n",
"\n",
" loss_fn = nn.CrossEntropyLoss()\n",
" optimizer = Adam(model.parameters(), lr=1e-3)\n",
" return model, loss_fn, optimizer\n",
"\n",
"def train_batch(x, y, model, opt, loss_fn):\n",
" model.train()\n",
" prediction = model(x)\n",
" batch_loss = loss_fn(prediction, y)\n",
" batch_loss.backward()\n",
" optimizer.step()\n",
" optimizer.zero_grad()\n",
" return batch_loss.item()\n",
"\n",
"def accuracy(x, y, model):\n",
" with torch.no_grad():\n",
" prediction = model(x)\n",
" max_values, argmaxes = prediction.max(-1)\n",
" is_correct = argmaxes == y\n",
" return is_correct.cpu().numpy().tolist()\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VvEH2ZnKLCUf"
},
"source": [
"def get_data(): \n",
" train = FMNISTDataset(tr_images, tr_targets) \n",
" trn_dl = DataLoader(train, batch_size=32, shuffle=True)\n",
" val = FMNISTDataset(val_images, val_targets) \n",
" val_dl = DataLoader(val, batch_size=len(val_images), shuffle=True)\n",
" return trn_dl, val_dl"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "XOV367XiLD8c"
},
"source": [
"@torch.no_grad()\n",
"def val_loss(x, y, model):\n",
" model.eval()\n",
" prediction = model(x)\n",
" val_loss = loss_fn(prediction, y)\n",
" return val_loss.item()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "WPs8i2C5LFNT"
},
"source": [
"trn_dl, val_dl = get_data()\n",
"model, loss_fn, optimizer = get_model()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "wm0SC1giLGYk",
"outputId": "9ab707e7-e5ec-4914-bb9a-b76d20cb413b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 563
}
},
"source": [
"train_losses, train_accuracies = [], []\n",
"val_losses, val_accuracies = [], []\n",
"for epoch in range(30):\n",
" print(epoch)\n",
" train_epoch_losses, train_epoch_accuracies = [], []\n",
" for ix, batch in enumerate(iter(trn_dl)):\n",
" x, y = batch\n",
" batch_loss = train_batch(x, y, model, optimizer, loss_fn)\n",
" train_epoch_losses.append(batch_loss) \n",
" train_epoch_loss = np.array(train_epoch_losses).mean()\n",
"\n",
" for ix, batch in enumerate(iter(trn_dl)):\n",
" x, y = batch\n",
" is_correct = accuracy(x, y, model)\n",
" train_epoch_accuracies.extend(is_correct)\n",
" train_epoch_accuracy = np.mean(train_epoch_accuracies)\n",
"\n",
" for ix, batch in enumerate(iter(val_dl)):\n",
" x, y = batch\n",
" val_is_correct = accuracy(x, y, model)\n",
" validation_loss = val_loss(x, y, model)\n",
" val_epoch_accuracy = np.mean(val_is_correct)\n",
"\n",
" train_losses.append(train_epoch_loss)\n",
" train_accuracies.append(train_epoch_accuracy)\n",
" val_losses.append(validation_loss)\n",
" val_accuracies.append(val_epoch_accuracy)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"0\n",
"1\n",
"2\n",
"3\n",
"4\n",
"5\n",
"6\n",
"7\n",
"8\n",
"9\n",
"10\n",
"11\n",
"12\n",
"13\n",
"14\n",
"15\n",
"16\n",
"17\n",
"18\n",
"19\n",
"20\n",
"21\n",
"22\n",
"23\n",
"24\n",
"25\n",
"26\n",
"27\n",
"28\n",
"29\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BXFV4oPSLI76",
"outputId": "e370cea2-4bc7-469c-8459-e0a4c92c3d0c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"for ix, par in enumerate(model.parameters()):\n",
" if(ix==0):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of weights conencting input to hidden layer')\n",
" plt.show()\n",
" elif(ix ==1):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of biases of hidden layer')\n",
" plt.show()\n",
" elif(ix==2):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of weights conencting hidden to output layer')\n",
" plt.show()\n",
" elif(ix ==3):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of biases of output layer')\n",
" plt.show() "
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "G-XKZdlYDITb",
"outputId": "53d3618b-5700-4540-b360-6b222b6eeed8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 337
}
},
"source": [
"epochs = np.arange(30)+1\n",
"import matplotlib.ticker as mtick\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.ticker as mticker\n",
"%matplotlib inline\n",
"plt.subplot(211)\n",
"plt.plot(epochs, train_losses, 'bo', label='Training loss')\n",
"plt.plot(epochs, val_losses, 'r', label='Validation loss')\n",
"#plt.gca().xaxis.set_major_locator(mticker.MultipleLocator(1))\n",
"plt.title('Training and validation loss with dropout')\n",
"plt.xlabel('Epochs')\n",
"plt.ylabel('Loss')\n",
"plt.legend()\n",
"plt.grid('off')\n",
"plt.show()\n",
"plt.subplot(212)\n",
"plt.plot(epochs, train_accuracies, 'bo', label='Training accuracy')\n",
"plt.plot(epochs, val_accuracies, 'r', label='Validation accuracy')\n",
"#plt.gca().xaxis.set_major_locator(mticker.MultipleLocator(1))\n",
"plt.title('Training and validation accuracy with dropout')\n",
"plt.xlabel('Epochs')\n",
"plt.ylabel('Accuracy')\n",
"#plt.ylim(0.8,1)\n",
"plt.gca().set_yticklabels(['{:.0f}%'.format(x*100) for x in plt.gca().get_yticks()]) \n",
"plt.legend()\n",
"plt.grid('off')\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y0pre4AfDIWE"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "lPyLGbaYMH0T"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "ywRhABUqMTXZ"
},
"source": [
"### No Dropout"
]
},
{
"cell_type": "code",
"metadata": {
"id": "VfThcoVJMTZ-"
},
"source": [
"class FMNISTDataset(Dataset):\n",
" def __init__(self, x, y):\n",
" x = x.float()/255\n",
" x = x.view(-1,28*28)\n",
" self.x, self.y = x, y \n",
" def __getitem__(self, ix):\n",
" x, y = self.x[ix], self.y[ix] \n",
" return x.to(device), y.to(device)\n",
" def __len__(self): \n",
" return len(self.x)\n",
"\n",
"from torch.optim import SGD, Adam\n",
"def get_model():\n",
" model = nn.Sequential(\n",
" nn.Linear(28 * 28, 1000),\n",
" nn.ReLU(),\n",
" nn.Linear(1000, 10)\n",
" ).to(device)\n",
"\n",
" loss_fn = nn.CrossEntropyLoss()\n",
" optimizer = Adam(model.parameters(), lr=1e-3)\n",
" return model, loss_fn, optimizer\n",
"\n",
"def train_batch(x, y, model, opt, loss_fn):\n",
" prediction = model(x)\n",
" batch_loss = loss_fn(prediction, y)\n",
" batch_loss.backward()\n",
" optimizer.step()\n",
" optimizer.zero_grad()\n",
" return batch_loss.item()\n",
"\n",
"def accuracy(x, y, model):\n",
" with torch.no_grad():\n",
" prediction = model(x)\n",
" max_values, argmaxes = prediction.max(-1)\n",
" is_correct = argmaxes == y\n",
" return is_correct.cpu().numpy().tolist()\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "srZdvgL8MUWP"
},
"source": [
"trn_dl, val_dl = get_data()\n",
"model2, loss_fn, optimizer = get_model()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "44QWT2kgMWN7",
"outputId": "0fc4cc98-5aec-4ec9-e4ae-0dc35d0cdab8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 563
}
},
"source": [
"train_losses, train_accuracies = [], []\n",
"val_losses, val_accuracies = [], []\n",
"for epoch in range(30):\n",
" print(epoch)\n",
" train_epoch_losses, train_epoch_accuracies = [], []\n",
" for ix, batch in enumerate(iter(trn_dl)):\n",
" x, y = batch\n",
" batch_loss = train_batch(x, y, model2, optimizer, loss_fn)\n",
" train_epoch_losses.append(batch_loss) \n",
" train_epoch_loss = np.array(train_epoch_losses).mean()\n",
"\n",
" for ix, batch in enumerate(iter(trn_dl)):\n",
" x, y = batch\n",
" is_correct = accuracy(x, y, model2)\n",
" train_epoch_accuracies.extend(is_correct)\n",
" train_epoch_accuracy = np.mean(train_epoch_accuracies)\n",
"\n",
" for ix, batch in enumerate(iter(val_dl)):\n",
" x, y = batch\n",
" val_is_correct = accuracy(x, y, model2)\n",
" validation_loss = val_loss(x, y, model2)\n",
" val_epoch_accuracy = np.mean(val_is_correct)\n",
"\n",
" train_losses.append(train_epoch_loss)\n",
" train_accuracies.append(train_epoch_accuracy)\n",
" val_losses.append(validation_loss)\n",
" val_accuracies.append(val_epoch_accuracy)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"0\n",
"1\n",
"2\n",
"3\n",
"4\n",
"5\n",
"6\n",
"7\n",
"8\n",
"9\n",
"10\n",
"11\n",
"12\n",
"13\n",
"14\n",
"15\n",
"16\n",
"17\n",
"18\n",
"19\n",
"20\n",
"21\n",
"22\n",
"23\n",
"24\n",
"25\n",
"26\n",
"27\n",
"28\n",
"29\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "0Yg4eyCQMYJO",
"outputId": "e625b1c5-84dd-486b-91c9-4bb720c1df48",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"for ix, par in enumerate(model2.parameters()):\n",
" if(ix==0):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of weights conencting input to hidden layer')\n",
" plt.show()\n",
" elif(ix ==1):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of biases of hidden layer')\n",
" plt.show()\n",
" elif(ix==2):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of weights conencting hidden to output layer')\n",
" plt.show()\n",
" elif(ix ==3):\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" #plt.xlim(-2,2)\n",
" plt.title('Distribution of biases of output layer')\n",
" plt.show() "
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEICAYAAABS0fM3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAbu0lEQVR4nO3debRcZZ3u8e9jAqiAJJh0gCQShFwh0IoYAZe2ItEQBg332rBwoQSI5uIFr1712iC2QQaF9iqiq8WmJRIQgTSIpIFuiIxN2wxBEBnliIlJIMkhE0FkCPzuH+97YKdSdU7VmeqE9/msddbZ+93v3vvdUz21h6pSRGBmZuV6Q7sbYGZm7eUgMDMrnIPAzKxwDgIzs8I5CMzMCucgMDMr3GYXBJJ+LOnv+2lab5P0rKRhuf9WSZ/pj2nn6f2bpBn9Nb0W5numpKclLR/AeTwr6e1N1g1Juw1UWzZXA7V/SDpA0tJuhnd7DHW3vSQdK+mO/mhnyfr7taavhlQQSFok6S+S1ktaK+nXkk6Q9Go7I+KEiDijyWl9pLs6EfGniNgmIl7uh7afJulnNdM/OCLm9nXaLbbjbcCXgUkRscNAzSevtyf6Op1SXliGyv6R59vUMTSYJE3IATS8DfPu131wc9ynh1QQZB+LiG2BnYGzgb8DLuzvmbRjhxskbwNWRcTKdjfEzIaObl/zImLI/AGLgI/UlO0LvALslfsvAs7M3aOAa4G1wGrgP0jhdkke5y/As8BXgQlAADOBPwG3V8qG5+ndCnwbuBt4BrgG2D4POwBYWq+9wDTgReClPL/fVqb3mdz9BuDrwGJgJXAxsF0e1tWOGbltTwOndrOetsvjd+bpfT1P/yN5mV/J7biozri3AZ/I3e/P8z00908B7q/UPR54BFgD3ADsXBkWwG65+63Av+Z1dg9wJnBHTd0TgMfztvpHQMAewPPAy7m9a3P9Q4CHgfXAMuAr3ayLz+Y2rs/j7JPL98jrfy3wEPDxyjgX5TZcl8e7C9i1Mnx3YAFpn3oMOLKFcfesjLsC+FqT+8exwB3A/8vr+4/AwZXp7kLaZ9cDv8pt+FmDdXIAsJR0ZrgSeAo4rmYZzqz0/99c58m8zWu37fy8be8GzqjZtr1eVzVt/lOe77P57310c8x0sy905LbMB3aqOb6GV+reCnyGxvvgRcCP87KtJx03O/d2enXaWt32uwI3A6tIx/6lwIjKtrmqZtwfAOdVXgsuzNtvGenYG1bZp/4TODdP+8yG626gX9xb+aNOEFR2ks/V7sSkF+0fA1vkv78BVG9alY13MbA18KbaDZo3zjJgr1znKvLBRjdBkLtPo+bArNnYx5N20rcD2wC/AC6pads/53a9C3gB2KPBerqYFFLb5nF/D8xs1M6acU8Hfpi7vwb8ATinMqxrB5ue27sHMJx0QP66Mp3qi8Xl+e/NwCRgCZsGwbXACNIZSycwrbKz3lHTxqeAv8ndI8kv7nWW5Yi8vd5LCpbdSGeSW+S2fw3YEjiQdDC/o7IPrSK9yRhOOvAuz8O2zu0/Lg97N+ngnNTEuNvmtn8ZeGPu36/J/eNYUlB8FhgGfI70wty1P/8XKSS2BD5AemHuLgg25O25BSlYnwNG1jmGppECq2uf/3mdbTsvD9srr+87+rqu6rR5Apu+uDY8ZuqMf2Ce9z7AVsAPgdu7mXbtuq/dBy8i7TMfzNM7r7LcLU+vTnur9XcDPprnM5oU+N/Pw3YE/sxrwTCcFIrvyf1XA/+Ut8VfkcL6f1basQH4fB7vTY3aMxQvDdXzJLB9nfKXSCtq54h4KSL+I/Ia6MZpEfHniPhLg+GXRMSDEfFn4O+BI7tuJvfR0cD3IuKJiHgWOAU4quZ07ZsR8ZeI+C3wW1IgbCS35SjglIhYHxGLgO8Cn26yHbcBH8rdHySFaVf/h/JwSO/gvx0Rj0TEBuBbwN6Sdq7Tnk8AsyPiuYh4GKh33fvsiFgbEX8CbgH27qaNLwGTJL0lItZExG8a1PsM8A8RcU8kHRGxGNif9MJxdkS8GBE3k4Lok5Vxr46Iu/OyXVppz2HAooj4aURsiIj7SG8Ijmhy3OUR8d2IeD5vn7u6Wc5aiyPinyPds5pL2rfH5Ps+7wW+kZfnDtI73u68BJyej4vrSe9O31Gn3pHATyv7/GldAyrb9hv5mHmQjbdtX9ZVM5o5Zqp150TEbyLihVz3fZImtDC/WtdFxO15eqfm6Y3vw/Tqyvvtgoh4ISI6ge+Rj8mIeIoUDF3rdBrwdETcK2kMKeS/mLfPStK7/6Mqk38yIn6Yt0+j17zNJgjGkk73an2H9I7hRklPSDq5iWktaWH4YtI7qlFNtbJ7O+XpVac9HBhTKas+5fMc6cWs1qjcptppjW2yHf8F/Le8E+1NOrsYL2kU6Z3b7bnezsB5+aZ916U31ZnP6Lwc1fVWbx03s2xdPkHawRdLuk3S+xrUG086o6m1E7AkIl6plNWuo0bt2RnYr2u587IfDezQxLiN2tOsV6cbEc/lzm1Iy7O6UgY978er8otvvXZW7cSm+3yXetu2Orwv66oZzRwzdevm4FhF88dFPa8ud57e6jyffiVpjKTLJS2T9AzwMzZ+zZkLfCp3f4p06RteO/t9qrL+/4l0ZrDJMnRnyAeBpPeSNuYmd+HzO64vR8TbgY8DX5I0pWtwg0n2dMZQTfy3kd5ZPU06PXtzpV3DSAdKs9N9krThqtPeQDotb8XTuU2101rWzMj5xeRe4AvAgxHxIvBr4EvAHyLi6Vx1CekUc0Tl700R8euaSXbm5RhXKWvlXdMm6y2/w59O2qF/Sbo0Uc8S0vXVWk+Swq26fze7jpYAt9Us9zYR8bkmx230SG1P+0d3ngK2l/TmSll/vTN9ik33+S5d27bR8L6sq1r11k8rx8xGdSVtTbq/sYx07ELl+GXjsGq0bV5dbknbkK5KPNmH6TXyrTzOX0fEW0gv9qoM/yXwTkl7kc7CLs3lS0iXkEdV1v9bImLPVtsyZINA0lskHUa6RvmziPhdnTqHSdpNkoB1pBs0Xe8CV9D4oOzOpyRNygfd6cCV+VT998AbJR0qaQvSNfOtKuOtACbUvPhUXQb8H0m75J3qW8AVNe/aepTbMg84S9K2+VLNl0jvIpp1G3ASr10GurWmH9K9l1Mk7QkgaTtJ1VP+ant+AZwm6c2SdgeOaaEtK4BxkrbM89lS0tGStouIl0jXwl9pMO5PgK9Ieo+S3fL6uIv07vOrkraQdADwMdK+1JNrSWdMn87jbiHpvZL2aHLcHSV9UdJWefvsV1nO7vaPhvLlroWkdbxlPkP6WKvTaWAecGxln59dmW/ttp1EeqChS1/WVa1O0nauHrOtHDOXAcdJ2lvSVrnuXRGxKF9uWUY6todJOp6N30BstA9WHCLpA7n8DODOiFjSh+k1si3p0t06SWNJN4hfFRHPA1eS7t/cnS+vdl02uhH4bn69fIOkXSV9iBYNxSD4V0nrSWl3Kul62XEN6k4kPUHxLOmSx48i4pY87NvA1/Mp01damP8lpBtFy0k3/P43QESsA/4X6cWn611G9UM7/5L/r5JU75r2nDzt20lPhDxPuonTG5/P83+CdKb08zz9Zt1G2vlub9BPRFwNnANcnk9XHwQObjC9k0hPLywnLeNlpHcqzbiZ9FTPckldZyOfBhbl+Z5AutywiYj4F+As0vKvJ71z2j6f5Xwst/dp4EfAMRHxaE+NiYj1wFTSddYn8zKdw8ah3924H83zXk56SurDeXBP+0dPjiY9SbOK9GTIFTS/jhuKiH8Dvk/aDh35f9VJpMs5y0nHxU8r4/Z6XdVpx3Okbfmf+ZjdnxaOmYj4Feme3lWks5xd2fha+WdJL7CrSE92Vc9s6+2DkPar2aRLQu/htcszvZ1eI98k3eReR3rC6hd16swF/prXLgt1OYb0AMHDpKfNriTdW2pJ1xMJZv1G0jnADhExo8fK1iuSrgAejYjZPVa2lkm6iPT03dfb3RZ49YOij5KOq2f6e/pD8YzANjOSdpf0znx5Z
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "SkRVIA97M0iN",
"outputId": "6573270f-0923-4a38-eb1f-7b03225dddc1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 337
}
},
"source": [
"epochs = np.arange(30)+1\n",
"import matplotlib.ticker as mtick\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.ticker as mticker\n",
"%matplotlib inline\n",
"plt.subplot(211)\n",
"plt.plot(epochs, train_losses, 'bo', label='Training loss')\n",
"plt.plot(epochs, val_losses, 'r', label='Validation loss')\n",
"#plt.gca().xaxis.set_major_locator(mticker.MultipleLocator(1))\n",
"plt.title('Training and validation loss without dropout')\n",
"plt.xlabel('Epochs')\n",
"plt.ylabel('Loss')\n",
"plt.legend()\n",
"plt.grid('off')\n",
"plt.show()\n",
"plt.subplot(212)\n",
"plt.plot(epochs, train_accuracies, 'bo', label='Training accuracy')\n",
"plt.plot(epochs, val_accuracies, 'r', label='Validation accuracy')\n",
"#plt.gca().xaxis.set_major_locator(mticker.MultipleLocator(1))\n",
"plt.title('Training and validation accuracy without dropout')\n",
"plt.xlabel('Epochs')\n",
"plt.ylabel('Accuracy')\n",
"#plt.ylim(0.8,1)\n",
"plt.gca().set_yticklabels(['{:.0f}%'.format(x*100) for x in plt.gca().get_yticks()]) \n",
"plt.legend()\n",
"plt.grid('off')\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "HwSHnFH7zDVP"
},
"source": [
"### Weight distribution per layer - Model with no dropout"
]
},
{
"cell_type": "code",
"metadata": {
"id": "7pntsEc5Gxbd",
"outputId": "0eb3e5b4-ce68-4c4e-ffe7-a13fb6d5ad7d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"for par in model2.parameters():\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" plt.xlim(-2,2)\n",
" plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAD4CAYAAAAtrdtxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAU4klEQVR4nO3df6zddZ3n8edrqChxRH51OiwlW8w046KJig3U0Uxc2YGCE8tm1WA2S3VZuxNw42Q2GeuaLFlcs7CbjDtklE0jHcvGFVlmXLparB3ATPaPIhflh4AOVwZCG6AdijAuGVyc9/5xPtXD9dx7Tz+9vecUn4/k5H6/7+/nez7v+71tX/f7Pd9zmqpCkqQevzLpBiRJxy5DRJLUzRCRJHUzRCRJ3QwRSVK3FZNuYKmddtpptWbNmkm3IUnHlHvuuedvqmrl4e73iguRNWvWMDMzM+k2JOmYkuTxnv28nCVJ6maISJK6GSKSpG6GiCSpmyEiSepmiEiSuhkikqRuhogkqZshIknq9op7x7o0rjVbvj7pFkZ67Jr3TroFaWyeiUiSuhkikqRuhogkqZshIknqZohIkroZIpKkboaIJKmbISJJ6jZWiCQ5KcktSb6f5OEk70hySpLdSR5pX09uY5PkuiSzSe5Pcs7Q82xq4x9Jsmmo/vYkD7R9rkuSVh85hyRpOox7JvLHwDeq6o3AW4CHgS3A7VW1Fri9rQNcBKxtj83A9TAIBOAq4DzgXOCqoVC4Hvjo0H4bWn2+OSRJU2DREEnyeuC3gRsAquonVfUjYCOwvQ3bDlzSljcCN9bAHuCkJKcDFwK7q+pgVT0L7AY2tG0nVtWeqirgxjnPNWoOSdIUGOdM5CzgAPCnSb6b5AtJXgusqqon25ingFVt+QzgiaH997baQvW9I+osMMfLJNmcZCbJzIEDB8b4liRJS2GcEFkBnANcX1VvA/4vcy4rtTOIWvr2xpujqrZW1bqqWrdy5cqj2YYkacg4IbIX2FtVd7X1WxiEytPtUhTt6/62fR9w5tD+q1ttofrqEXUWmEOSNAUWDZGqegp4IslvttL5wEPADuDQHVabgFvb8g7gsnaX1nrguXZJahdwQZKT2wvqFwC72rbnk6xvd2VdNue5Rs0hSZoC4/5/Iv8G+FKS44FHgY8wCKCbk1wOPA58sI3dCVwMzAIvtLFU1cEknwbubuOurqqDbfkK4IvACcBt7QFwzTxzSJKmwFghUlX3AutGbDp/xNgCrpznebYB20bUZ4A3j6g/M2oOSdJ08B3rkqRuhogkqZshIknqZohIkroZIpKkboaIJKmbISJJ6maISJK6GSKSpG6GiCSpmyEiSepmiEiSuhkikqRuhogkqZshIknqZohIkroZIpKkboaIJKmbISJJ6maISJK6GSKSpG6GiCSpmyEiSeo2VogkeSzJA0nuTTLTaqck2Z3kkfb15FZPkuuSzCa5P8k5Q8+zqY1/JMmmofrb2/PPtn2z0BySpOlwOGci/7iq3lpV69r6FuD2qloL3N7WAS4C1rbHZuB6GAQCcBVwHnAucNVQKFwPfHRovw2LzCFJmgJHcjlrI7C9LW8HLhmq31gDe4CTkpwOXAjsrqqDVfUssBvY0LadWFV7qqqAG+c816g5JElTYNwQKeCbSe5JsrnVVlXVk235KWBVWz4DeGJo372ttlB974j6QnO8TJLNSWaSzBw4cGDMb0mSdKRWjDnuXVW1L8mvAbuTfH94Y1VVklr69sabo6q2AlsB1q1bd1T7kCT93FhnIlW1r33dD3yVwWsaT7dLUbSv+9vwfcCZQ7uvbrWF6qtH1FlgDknSFFg0RJK8NsnrDi0DFwDfA3YAh+6w2gTc2pZ3AJe1u7TWA8+1S1K7gAuSnNxeUL8A2NW2PZ9kfbsr67I5zzVqDknSFBjnctYq4KvtrtsVwP+oqm8kuRu4OcnlwOPAB9v4ncDFwCzwAvARgKo6mOTTwN1t3NVVdbAtXwF8ETgBuK09AK6ZZw5J0hRYNESq6lHgLSPqzwDnj6gXcOU8z7UN2DaiPgO8edw5JEnTwXesS5K6GSKSpG6GiCSpmyEiSepmiEiSuhkikqRuhogkqZshIknqZohIkroZIpKkboaIJKmbISJJ6maISJK6GSKSpG6GiCSpmyEiSepmiEiSuhkikqRuhogkqZshIknqZohIkroZIpKkboaIJKmbISJJ6jZ2iCQ5Lsl3k3ytrZ+V5K4ks0m+kuT4Vn91W59t29cMPccnW/0HSS4cqm9otdkkW4bqI+eQJE2HwzkT+Tjw8ND6tcBnq+o3gGeBy1v9cuDZVv9sG0eSs4FLgTcBG4DPt2A6DvgccBFwNvChNnahOSRJU2CsEEmyGngv8IW2HuA9wC1tyHbgkra8sa3Ttp/fxm8EbqqqF6vqr4FZ4Nz2mK2qR6vqJ8BNwMZF5pAkTYFxz0T+K/CHwN+39VOBH1XVS219L3BGWz4DeAKgbX+ujf9Zfc4+89UXmuNlkmxOMpNk5sCBA2N+S5KkI7VoiCT5XWB/Vd2zDP10qaqtVbWuqtatXLly0u1I0i+NFWOMeSfwviQXA68BTgT+GDgpyYp2prAa2NfG7wPOBPYmWQG8HnhmqH7I8D6j6s8sMIckaQoseiZSVZ+sqtVVtYbBC+N3VNU/B+4E3t+GbQJubcs72jpt+x1VVa1+abt76yxgLfBt4G5gbbsT6/g2x462z3xzSJKmwJG8T+QTwB8kmWXw+sUNrX4DcGqr/wGwBaCqHgRuBh4CvgFcWVU/bWcZHwN2Mbj76+Y2dqE5JElTYJzLWT9TVd8CvtWWH2VwZ9XcMX8HfGCe/T8DfGZEfSewc0R95BySpOngO9YlSd0MEUlSN0NEktTNEJEkdTNEJEndDBFJUjdDRJLUzRCRJHUzRCRJ3QwRSVI3Q0SS1M0QkSR1M0QkSd0MEUlSN0NEktTNEJEkdTNEJEndDBFJUjdDRJLUzRCRJHUzRCRJ3QwRSVI3Q0SS1G3REEnymiTfTnJfkgeT/IdWPyvJXUlmk3wlyfGt/uq2Ptu2rxl6rk+2+g+SXDhU39Bqs0m2DNVHziFJmg7jnIm8CLynqt4CvBXYkGQ9cC3w2ar6DeBZ4PI2/nLg2Vb/bBtHkrOBS4E3ARuAzyc5LslxwOeAi4CzgQ+1sSwwhyRpCiwaIjXw47b6qvYo4D3ALa2+HbikLW9s67Tt5ydJq99UVS9W1V8Ds8C57TFbVY9W1U+Am4CNbZ/55pAkTYGxXhNpZwz3AvuB3cAPgR9V1UttyF7gjLZ8BvAEQNv+HHDqcH3OPvPVT11gjrn9bU4yk2TmwIED43xLkqQlMFaIVNVPq+qtwGoGZw5vPKpdHaaq2lpV66pq3cqVKyfdjiT90jisu7Oq6kfAncA7gJOSrGibVgP72vI+4EyAtv31wDPD9Tn7zFd/ZoE5JElTYJy7s1YmOaktnwD8DvAwgzB5fxu2Cbi1Le9o67Ttd1RVtfql7e6ts4C1wLeBu4G17U6s4xm8+L6j7TPfHJKkKbBi8SGcDmxvd1H9CnBzVX0tyUPATUn+I/Bd4IY2/gbgvyeZBQ4yCAWq6sEkNwMPAS8BV1bVTwGSfAzYBRwHbKuqB9tzfWKeOSRJU2DREKmq+4G3jag/yuD1kbn1vwM+MM9zfQb4zIj6TmDnuHNIkqaD71iXJHUzRCRJ3QwRSVI3Q0SS1M0QkSR1M0QkSd0MEUlSN0NEktTNEJEkdTNEJEndDBFJUjdDRJLUzRCRJHUzRCRJ3QwRSVI3Q0SS1M0QkSR1M0QkSd0MEUlSN0NEktTNEJEkdTNEJEndDBFJUjdDRJLUbdEQSXJmkjuTPJTkwSQfb/VTkuxO8kj7enKrJ8l1SWaT3J/knKHn2tTGP5Jk01D97UkeaPtclyQLzSFJmg7jnIm8BPzbqjobWA9cmeRsYAtwe1WtBW5v6wAXAWvbYzNwPQwCAbgKOA84F7hqKBSuBz46tN+GVp9vDknSFFg0RKrqyar6Tlv+W+Bh4AxgI7C9DdsOXNKWNwI31sAe4KQkp
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XjoiV2tizDVS"
},
"source": [
"### Weight distribution per layer - Model with dropout"
]
},
{
"cell_type": "code",
"metadata": {
"id": "-lgB3eu2HAKI",
"outputId": "5085602e-7e76-4840-ca71-8736c87216a3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"for par in model.parameters():\n",
" plt.hist(par.cpu().detach().numpy().flatten())\n",
" plt.xlim(-2,2)\n",
" plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "fBxoI77_S-Tj"
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}