Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save viraj-lakshitha/993c0d6b5bd0bfb399b33cca5e34ddc1 to your computer and use it in GitHub Desktop.
Save viraj-lakshitha/993c0d6b5bd0bfb399b33cca5e34ddc1 to your computer and use it in GitHub Desktop.
handwritten-numbers-identification.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "handwritten-numbers-identification.ipynb",
"provenance": [],
"authorship_tag": "ABX9TyPv5M1VHhFvK23D68OGoc6G",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"235cd1e3f23842749c9806de170255ec": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"state": {
"_view_name": "HBoxView",
"_dom_classes": [],
"_model_name": "HBoxModel",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.5.0",
"box_style": "",
"layout": "IPY_MODEL_4767d52af1944995b14881bb9bca55b7",
"_model_module": "@jupyter-widgets/controls",
"children": [
"IPY_MODEL_914188c1e4b640e78ab0b959e4f50f9e",
"IPY_MODEL_ce553aeb16fe4d9cb6397fa46db2742b"
]
}
},
"4767d52af1944995b14881bb9bca55b7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"914188c1e4b640e78ab0b959e4f50f9e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"state": {
"_view_name": "ProgressView",
"style": "IPY_MODEL_de5d2304d15b48668f7d90c5de14c89b",
"_dom_classes": [],
"description": "",
"_model_name": "FloatProgressModel",
"bar_style": "success",
"max": 1,
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": 1,
"_view_count": null,
"_view_module_version": "1.5.0",
"orientation": "horizontal",
"min": 0,
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_49ef2e62c0ab4bfb96d7dd170b498d83"
}
},
"ce553aeb16fe4d9cb6397fa46db2742b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"state": {
"_view_name": "HTMLView",
"style": "IPY_MODEL_ed2e7f5c7bf4457cb551d27fa69ded0f",
"_dom_classes": [],
"description": "",
"_model_name": "HTMLModel",
"placeholder": "​",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": " 9920512/? [00:04<00:00, 2113402.42it/s]",
"_view_count": null,
"_view_module_version": "1.5.0",
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_45dafae73622415cb11cb939db519e2b"
}
},
"de5d2304d15b48668f7d90c5de14c89b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "ProgressStyleModel",
"description_width": "initial",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"bar_color": null,
"_model_module": "@jupyter-widgets/controls"
}
},
"49ef2e62c0ab4bfb96d7dd170b498d83": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"ed2e7f5c7bf4457cb551d27fa69ded0f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "DescriptionStyleModel",
"description_width": "",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"_model_module": "@jupyter-widgets/controls"
}
},
"45dafae73622415cb11cb939db519e2b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"72f314dba71c443c9f15c82f0de1885c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"state": {
"_view_name": "HBoxView",
"_dom_classes": [],
"_model_name": "HBoxModel",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.5.0",
"box_style": "",
"layout": "IPY_MODEL_781c5b94534847c1889f7bf7a12e58b6",
"_model_module": "@jupyter-widgets/controls",
"children": [
"IPY_MODEL_c4aa9a567c2a4ecb88ceae5267faaddc",
"IPY_MODEL_6e4db5444e264997994b896bcb3cfa21"
]
}
},
"781c5b94534847c1889f7bf7a12e58b6": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"c4aa9a567c2a4ecb88ceae5267faaddc": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"state": {
"_view_name": "ProgressView",
"style": "IPY_MODEL_3ccdd0aa3cb24232884d97cfb75993a8",
"_dom_classes": [],
"description": "",
"_model_name": "FloatProgressModel",
"bar_style": "success",
"max": 1,
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": 1,
"_view_count": null,
"_view_module_version": "1.5.0",
"orientation": "horizontal",
"min": 0,
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_1e85c46a111f4a2487f7cca46d0bc88a"
}
},
"6e4db5444e264997994b896bcb3cfa21": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"state": {
"_view_name": "HTMLView",
"style": "IPY_MODEL_01d3558ad8974033887664ea8ff6eb99",
"_dom_classes": [],
"description": "",
"_model_name": "HTMLModel",
"placeholder": "​",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": " 32768/? [00:01<00:00, 19453.35it/s]",
"_view_count": null,
"_view_module_version": "1.5.0",
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_6f06ae0284934039ae51f79ea86c2185"
}
},
"3ccdd0aa3cb24232884d97cfb75993a8": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "ProgressStyleModel",
"description_width": "initial",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"bar_color": null,
"_model_module": "@jupyter-widgets/controls"
}
},
"1e85c46a111f4a2487f7cca46d0bc88a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"01d3558ad8974033887664ea8ff6eb99": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "DescriptionStyleModel",
"description_width": "",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"_model_module": "@jupyter-widgets/controls"
}
},
"6f06ae0284934039ae51f79ea86c2185": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"abc7087265054c7f91a9d326bc2d7e8a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"state": {
"_view_name": "HBoxView",
"_dom_classes": [],
"_model_name": "HBoxModel",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.5.0",
"box_style": "",
"layout": "IPY_MODEL_746345daf46243718d33dd65152a2eb0",
"_model_module": "@jupyter-widgets/controls",
"children": [
"IPY_MODEL_2803cdc4609846cfb532c568d2faf230",
"IPY_MODEL_cc8ad6d2cdcc4bddb7e1bbf3890631aa"
]
}
},
"746345daf46243718d33dd65152a2eb0": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"2803cdc4609846cfb532c568d2faf230": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"state": {
"_view_name": "ProgressView",
"style": "IPY_MODEL_3ed047b6d05f4100a25141571d0d8eb0",
"_dom_classes": [],
"description": "",
"_model_name": "FloatProgressModel",
"bar_style": "success",
"max": 1,
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": 1,
"_view_count": null,
"_view_module_version": "1.5.0",
"orientation": "horizontal",
"min": 0,
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_61e27af8dd0741c3936ed82ff0db69b4"
}
},
"cc8ad6d2cdcc4bddb7e1bbf3890631aa": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"state": {
"_view_name": "HTMLView",
"style": "IPY_MODEL_d40077af31374efa948ab0bcc5860dbf",
"_dom_classes": [],
"description": "",
"_model_name": "HTMLModel",
"placeholder": "​",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": " 1654784/? [00:01<00:00, 1207429.11it/s]",
"_view_count": null,
"_view_module_version": "1.5.0",
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_2eca0ba248e64b63a0ab59e645a0656a"
}
},
"3ed047b6d05f4100a25141571d0d8eb0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "ProgressStyleModel",
"description_width": "initial",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"bar_color": null,
"_model_module": "@jupyter-widgets/controls"
}
},
"61e27af8dd0741c3936ed82ff0db69b4": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"d40077af31374efa948ab0bcc5860dbf": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "DescriptionStyleModel",
"description_width": "",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"_model_module": "@jupyter-widgets/controls"
}
},
"2eca0ba248e64b63a0ab59e645a0656a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"b964d5cfdea642eeb81c2bfb59a6195b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"state": {
"_view_name": "HBoxView",
"_dom_classes": [],
"_model_name": "HBoxModel",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.5.0",
"box_style": "",
"layout": "IPY_MODEL_1c0a5c03c2ea4c3b869715eaaa86449f",
"_model_module": "@jupyter-widgets/controls",
"children": [
"IPY_MODEL_f42126c94f044ba1b1ee50eca3fcb993",
"IPY_MODEL_70c1ce2596fb4ba89aebd435c836c2d2"
]
}
},
"1c0a5c03c2ea4c3b869715eaaa86449f": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"f42126c94f044ba1b1ee50eca3fcb993": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"state": {
"_view_name": "ProgressView",
"style": "IPY_MODEL_bfb5b7ff33ca4822be32bd27b2249e24",
"_dom_classes": [],
"description": "",
"_model_name": "FloatProgressModel",
"bar_style": "success",
"max": 1,
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": 1,
"_view_count": null,
"_view_module_version": "1.5.0",
"orientation": "horizontal",
"min": 0,
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_26eabbe11ce34c6a821f7df62f956998"
}
},
"70c1ce2596fb4ba89aebd435c836c2d2": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"state": {
"_view_name": "HTMLView",
"style": "IPY_MODEL_8e4a53957e2944d19a51f6afd3d2412f",
"_dom_classes": [],
"description": "",
"_model_name": "HTMLModel",
"placeholder": "​",
"_view_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"value": " 8192/? [00:00<00:00, 16204.99it/s]",
"_view_count": null,
"_view_module_version": "1.5.0",
"description_tooltip": null,
"_model_module": "@jupyter-widgets/controls",
"layout": "IPY_MODEL_89cfa69e89974f79ab95b7071e5b1e22"
}
},
"bfb5b7ff33ca4822be32bd27b2249e24": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "ProgressStyleModel",
"description_width": "initial",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"bar_color": null,
"_model_module": "@jupyter-widgets/controls"
}
},
"26eabbe11ce34c6a821f7df62f956998": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
},
"8e4a53957e2944d19a51f6afd3d2412f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"state": {
"_view_name": "StyleView",
"_model_name": "DescriptionStyleModel",
"description_width": "",
"_view_module": "@jupyter-widgets/base",
"_model_module_version": "1.5.0",
"_view_count": null,
"_view_module_version": "1.2.0",
"_model_module": "@jupyter-widgets/controls"
}
},
"89cfa69e89974f79ab95b7071e5b1e22": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"state": {
"_view_name": "LayoutView",
"grid_template_rows": null,
"right": null,
"justify_content": null,
"_view_module": "@jupyter-widgets/base",
"overflow": null,
"_model_module_version": "1.2.0",
"_view_count": null,
"flex_flow": null,
"width": null,
"min_width": null,
"border": null,
"align_items": null,
"bottom": null,
"_model_module": "@jupyter-widgets/base",
"top": null,
"grid_column": null,
"overflow_y": null,
"overflow_x": null,
"grid_auto_flow": null,
"grid_area": null,
"grid_template_columns": null,
"flex": null,
"_model_name": "LayoutModel",
"justify_items": null,
"grid_row": null,
"max_height": null,
"align_content": null,
"visibility": null,
"align_self": null,
"height": null,
"min_height": null,
"padding": null,
"grid_auto_rows": null,
"grid_gap": null,
"max_width": null,
"order": null,
"_view_module_version": "1.2.0",
"grid_template_areas": null,
"object_position": null,
"object_fit": null,
"grid_auto_columns": null,
"margin": null,
"display": null,
"left": null
}
}
}
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/viraj-lakshitha/993c0d6b5bd0bfb399b33cca5e34ddc1/handwritten-numbers-identification.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "yms-EeMxrFMH"
},
"source": [
"# Handwritten Numbers Recognition Model using Pytorch\r\n",
"\r\n",
"### Logistic Regression Model - A Linear Regresssion Model"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Uv4rO_D3Lpbo",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 421,
"referenced_widgets": [
"235cd1e3f23842749c9806de170255ec",
"4767d52af1944995b14881bb9bca55b7",
"914188c1e4b640e78ab0b959e4f50f9e",
"ce553aeb16fe4d9cb6397fa46db2742b",
"de5d2304d15b48668f7d90c5de14c89b",
"49ef2e62c0ab4bfb96d7dd170b498d83",
"ed2e7f5c7bf4457cb551d27fa69ded0f",
"45dafae73622415cb11cb939db519e2b",
"72f314dba71c443c9f15c82f0de1885c",
"781c5b94534847c1889f7bf7a12e58b6",
"c4aa9a567c2a4ecb88ceae5267faaddc",
"6e4db5444e264997994b896bcb3cfa21",
"3ccdd0aa3cb24232884d97cfb75993a8",
"1e85c46a111f4a2487f7cca46d0bc88a",
"01d3558ad8974033887664ea8ff6eb99",
"6f06ae0284934039ae51f79ea86c2185",
"abc7087265054c7f91a9d326bc2d7e8a",
"746345daf46243718d33dd65152a2eb0",
"2803cdc4609846cfb532c568d2faf230",
"cc8ad6d2cdcc4bddb7e1bbf3890631aa",
"3ed047b6d05f4100a25141571d0d8eb0",
"61e27af8dd0741c3936ed82ff0db69b4",
"d40077af31374efa948ab0bcc5860dbf",
"2eca0ba248e64b63a0ab59e645a0656a",
"b964d5cfdea642eeb81c2bfb59a6195b",
"1c0a5c03c2ea4c3b869715eaaa86449f",
"f42126c94f044ba1b1ee50eca3fcb993",
"70c1ce2596fb4ba89aebd435c836c2d2",
"bfb5b7ff33ca4822be32bd27b2249e24",
"26eabbe11ce34c6a821f7df62f956998",
"8e4a53957e2944d19a51f6afd3d2412f",
"89cfa69e89974f79ab95b7071e5b1e22"
]
},
"outputId": "71acbaac-f02a-42b7-d0a4-cfde886b2a4b"
},
"source": [
"import torch\r\n",
"import torchvision\r\n",
"from torchvision.datasets import MNIST\r\n",
"\r\n",
"\r\n",
"# Download training dataset\r\n",
"dataset = MNIST(root='data/', download=True)"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to data/MNIST/raw/train-images-idx3-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "235cd1e3f23842749c9806de170255ec",
"version_minor": 0,
"version_major": 2
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting data/MNIST/raw/train-images-idx3-ubyte.gz to data/MNIST/raw\n",
"Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz to data/MNIST/raw/train-labels-idx1-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "72f314dba71c443c9f15c82f0de1885c",
"version_minor": 0,
"version_major": 2
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting data/MNIST/raw/train-labels-idx1-ubyte.gz to data/MNIST/raw\n",
"Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz to data/MNIST/raw/t10k-images-idx3-ubyte.gz\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "abc7087265054c7f91a9d326bc2d7e8a",
"version_minor": 0,
"version_major": 2
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting data/MNIST/raw/t10k-images-idx3-ubyte.gz to data/MNIST/raw\n",
"Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz to data/MNIST/raw/t10k-labels-idx1-ubyte.gz\n",
"\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b964d5cfdea642eeb81c2bfb59a6195b",
"version_minor": 0,
"version_major": 2
},
"text/plain": [
"HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Extracting data/MNIST/raw/t10k-labels-idx1-ubyte.gz to data/MNIST/raw\n",
"Processing...\n",
"Done!\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/torchvision/datasets/mnist.py:480: 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": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ZU8Isb9yMPKJ",
"outputId": "56e1491e-9539-478a-f4cd-e140acbedd01"
},
"source": [
"len(dataset)"
],
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"60000"
]
},
"metadata": {
"tags": []
},
"execution_count": 2
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Vb2AT0d2MZ07",
"outputId": "40805520-4f7b-490c-d76f-63774b4d76a7"
},
"source": [
"test_dataset = MNIST(root='data/', train=False)\r\n",
"len(test_dataset)"
],
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"10000"
]
},
"metadata": {
"tags": []
},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "SNEsVnpTNRfW"
},
"source": [
"import matplotlib.pyplot as plt\r\n",
"%matplotlib inline"
],
"execution_count": 4,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 281
},
"id": "lxq9cx7kftNS",
"outputId": "3641a94f-f1d3-498f-eb89-c4d6c4271fa0"
},
"source": [
"image, label = dataset[0]\r\n",
"plt.imshow(image, cmap='gray')\r\n",
"print('Label',label)"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"Label 5\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 281
},
"id": "J4J8jf9HgS5r",
"outputId": "a5193409-be2f-4ae1-8a85-35f823e81b68"
},
"source": [
"image, label = dataset[10] \r\n",
"plt.imshow(image, cmap='gray')\r\n",
"print('Label',label)"
],
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": [
"Label 3\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y0ij8RS5nQ60"
},
"source": [
"import torchvision.transforms as transforms"
],
"execution_count": 7,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "l-JiiNPRnZr-"
},
"source": [
"dataset = MNIST(root='data/', train=True, transform=transforms.ToTensor())"
],
"execution_count": 8,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "t47BA0ncnb9L",
"outputId": "1208f4f6-0523-4da6-ca24-384c8de1683f"
},
"source": [
"img_tensor, label = dataset[0]\r\n",
"print(img_tensor.shape, label)\r\n",
"\r\n",
"# output--> color channel, image width, image height"
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": [
"torch.Size([1, 28, 28]) 5\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "c2Zlb3K1p3Nl",
"outputId": "9c9f613a-4410-4ff7-e4cb-e16927fee3d5"
},
"source": [
"print(img_tensor[:,10:15,10:15])\r\n",
"print(torch.max(img_tensor), torch.min(img_tensor))"
],
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"text": [
"tensor([[[0.0039, 0.6039, 0.9922, 0.3529, 0.0000],\n",
" [0.0000, 0.5451, 0.9922, 0.7451, 0.0078],\n",
" [0.0000, 0.0431, 0.7451, 0.9922, 0.2745],\n",
" [0.0000, 0.0000, 0.1373, 0.9451, 0.8824],\n",
" [0.0000, 0.0000, 0.0000, 0.3176, 0.9412]]])\n",
"tensor(1.) tensor(0.)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 281
},
"id": "klM6zWI6qJY3",
"outputId": "e4a7cc1c-5cff-4bad-9b74-8bde19cb2fe6"
},
"source": [
"#Plot image by passing in the 28*28 matrix\r\n",
"plt.imshow(img_tensor[0,10:15,10:15], cmap='gray')"
],
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7ffad5ee6400>"
]
},
"metadata": {
"tags": []
},
"execution_count": 11
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "NgxxDbMtq-rr"
},
"source": [
"# Training and Validation Dataset"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "hsnEgvkorb50",
"outputId": "1024ef47-c829-442b-9d6c-e086b5e0db50"
},
"source": [
"from torch.utils.data import random_split\r\n",
"\r\n",
"train_ds, val_ds = random_split(dataset, [50000,10000])\r\n",
"len(train_ds), len(val_ds)"
],
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(50000, 10000)"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Gn1_slkLrwQJ"
},
"source": [
"from torch.utils.data import DataLoader\r\n",
"\r\n",
"batch_size = 128\r\n",
"\r\n",
"train_loader = DataLoader(train_ds,batch_size, shuffle=True)\r\n",
"val_loader = DataLoader(val_ds,batch_size)"
],
"execution_count": 13,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "65f3RZgksPqO"
},
"source": [
"# Model Training"
]
},
{
"cell_type": "code",
"metadata": {
"id": "aJ8FnZjasR73"
},
"source": [
"import torch.nn as nn\r\n",
"\r\n",
"input_size = 28*28\r\n",
"# Number of Types or Catergories\r\n",
"num_classes = 10\r\n",
"\r\n",
"#Logistic Regression Model\r\n",
"model = nn.Linear(input_size, num_classes)"
],
"execution_count": 14,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "13aMmycMtKcd",
"outputId": "36b770fa-c302-41a9-afb2-8f361c311ff9"
},
"source": [
"print(model.weight.shape)\r\n",
"model.weight"
],
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"text": [
"torch.Size([10, 784])\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Parameter containing:\n",
"tensor([[ 0.0040, 0.0349, -0.0188, ..., 0.0168, 0.0115, 0.0156],\n",
" [-0.0115, 0.0309, 0.0046, ..., 0.0230, -0.0159, 0.0142],\n",
" [ 0.0119, 0.0227, 0.0136, ..., -0.0234, -0.0063, -0.0176],\n",
" ...,\n",
" [-0.0223, -0.0211, 0.0257, ..., 0.0205, 0.0133, -0.0182],\n",
" [ 0.0068, 0.0169, 0.0299, ..., -0.0046, 0.0006, -0.0088],\n",
" [ 0.0149, -0.0137, 0.0216, ..., -0.0054, -0.0104, -0.0073]],\n",
" requires_grad=True)"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7WmZX_rktZT0",
"outputId": "bdee19d4-51cc-473f-bd8d-8a4e2fc728b3"
},
"source": [
"print(model.bias.shape)\r\n",
"model.bias"
],
"execution_count": 16,
"outputs": [
{
"output_type": "stream",
"text": [
"torch.Size([10])\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Parameter containing:\n",
"tensor([-0.0285, 0.0089, -0.0170, -0.0153, 0.0310, 0.0207, -0.0167, -0.0086,\n",
" -0.0044, -0.0045], requires_grad=True)"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "wDTVINVPt6pF",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "d31176ed-b050-453b-bb1a-6bbdd5eee3c3"
},
"source": [
"for images, labels in train_loader :\r\n",
" print(labels)\r\n",
" print(images.shape)\r\n",
" # outputs = model(images)\r\n",
" break"
],
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"text": [
"tensor([1, 8, 6, 9, 5, 1, 6, 4, 2, 5, 1, 3, 4, 5, 5, 6, 2, 8, 6, 6, 8, 0, 9, 3,\n",
" 1, 2, 2, 8, 1, 4, 4, 9, 0, 1, 3, 2, 1, 9, 8, 3, 6, 9, 9, 2, 6, 9, 0, 7,\n",
" 8, 2, 9, 7, 4, 4, 6, 9, 4, 2, 4, 0, 8, 9, 2, 0, 7, 4, 0, 3, 0, 0, 7, 9,\n",
" 9, 2, 7, 4, 3, 2, 8, 1, 8, 6, 2, 1, 5, 3, 6, 9, 8, 5, 2, 0, 9, 4, 0, 9,\n",
" 5, 2, 1, 9, 9, 4, 1, 2, 0, 4, 9, 4, 2, 6, 5, 3, 2, 5, 3, 4, 8, 8, 7, 2,\n",
" 7, 9, 9, 1, 6, 9, 7, 1])\n",
"torch.Size([128, 1, 28, 28])\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "75nPuuNYvKd-",
"outputId": "b26229e3-0fc1-464d-e64e-3768e05e409c"
},
"source": [
"images.shape"
],
"execution_count": 20,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"torch.Size([128, 1, 28, 28])"
]
},
"metadata": {
"tags": []
},
"execution_count": 20
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "nrZEBjS4vM_m",
"outputId": "b5bdb843-4622-4a0f-9e33-5f4fa8c78cde"
},
"source": [
"images.reshape(128,784).shape"
],
"execution_count": 21,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"torch.Size([128, 784])"
]
},
"metadata": {
"tags": []
},
"execution_count": 21
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "GeSM-7KRvUGq"
},
"source": [
"# Create class to reshape the tensor\r\n",
"\r\n",
"class MnistModel(nn.Module) :\r\n",
" def __init__(self) :\r\n",
" super().__init__()\r\n",
" self.linear = nn.Linear(input_size, num_classes)\r\n",
"\r\n",
" def forward(self, xb) :\r\n",
" xb = xb.reshape(-1,784)\r\n",
" out = self.linear(xb)\r\n",
" return out\r\n",
"\r\n",
"model = MnistModel()"
],
"execution_count": 22,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "I3EWNSjGyKCG",
"outputId": "0b6e9395-2124-4377-edf6-da35368ab866"
},
"source": [
"model.linear"
],
"execution_count": 23,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Linear(in_features=784, out_features=10, bias=True)"
]
},
"metadata": {
"tags": []
},
"execution_count": 23
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Ffe_DBjMyLpW",
"outputId": "556f66a4-d613-4c06-855c-19a63d49a42b"
},
"source": [
"print(model.linear.weight.shape, model.linear.bias.shape)\r\n",
"list(model.parameters())"
],
"execution_count": 24,
"outputs": [
{
"output_type": "stream",
"text": [
"torch.Size([10, 784]) torch.Size([10])\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[Parameter containing:\n",
" tensor([[-0.0209, -0.0136, 0.0001, ..., 0.0346, -0.0010, -0.0099],\n",
" [-0.0320, 0.0094, -0.0122, ..., 0.0217, 0.0256, -0.0257],\n",
" [-0.0023, -0.0308, -0.0165, ..., 0.0182, -0.0346, -0.0111],\n",
" ...,\n",
" [-0.0227, 0.0026, -0.0094, ..., -0.0354, -0.0329, 0.0265],\n",
" [-0.0220, 0.0179, 0.0194, ..., -0.0113, 0.0025, 0.0154],\n",
" [ 0.0235, -0.0089, -0.0241, ..., -0.0257, -0.0081, -0.0347]],\n",
" requires_grad=True), Parameter containing:\n",
" tensor([-0.0066, 0.0085, 0.0114, -0.0258, 0.0173, -0.0153, 0.0173, -0.0335,\n",
" 0.0151, 0.0125], requires_grad=True)]"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qHudxMULyYPQ",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "69e70aa6-66ca-439a-e876-ca7394a278f9"
},
"source": [
"for images, labels in train_loader :\r\n",
" outputs = model(images)\r\n",
" break\r\n",
"\r\n",
"print('output shape : ',outputs.shape)\r\n",
"print('Sample Outputs : ', outputs[:2].data)"
],
"execution_count": 26,
"outputs": [
{
"output_type": "stream",
"text": [
"output shape : torch.Size([128, 10])\n",
"Sample Outputs : tensor([[-0.0012, -0.0121, -0.0519, 0.0145, 0.3085, -0.0411, -0.2862, -0.3085,\n",
" -0.0006, -0.0872],\n",
" [-0.0718, 0.2713, -0.1827, 0.0412, -0.0369, 0.1375, 0.0429, -0.2538,\n",
" 0.0105, -0.0428]])\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Uqlh4WVMwPA9"
},
"source": [
"import torch.nn.functional as F"
],
"execution_count": 27,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "P1qnuxl0wZ5s",
"outputId": "a58a4367-d031-4605-e5c8-9059696bb136"
},
"source": [
"# Apply softmax for each output row\r\n",
"probs = F.softmax(outputs, dim=1)\r\n",
"\r\n",
"# Look at same probabilities\r\n",
"print(\"Sample Probabilities: \",probs[:2].data)\r\n",
"\r\n",
"# Add up the probabilities of an output row\r\n",
"print('Sum: ', torch.sum(probs[0]).item())"
],
"execution_count": 28,
"outputs": [
{
"output_type": "stream",
"text": [
"Sample Probabilities: tensor([[0.1032, 0.1021, 0.0981, 0.1049, 0.1407, 0.0992, 0.0777, 0.0759, 0.1033,\n",
" 0.0947],\n",
" [0.0929, 0.1309, 0.0832, 0.1040, 0.0962, 0.1145, 0.1042, 0.0775, 0.1009,\n",
" 0.0956]])\n",
"Sum: 1.0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "FWhvf6nQw9Oo",
"outputId": "b3ee82ce-2265-43f3-be65-3e0a3c3977ea"
},
"source": [
"max_probs, preds = torch.max(probs, dim=1)\r\n",
"print(preds)\r\n",
"print(max_probs)"
],
"execution_count": 29,
"outputs": [
{
"output_type": "stream",
"text": [
"tensor([4, 1, 4, 3, 3, 8, 3, 3, 4, 3, 3, 3, 3, 3, 1, 8, 3, 3, 1, 4, 4, 3, 3, 1,\n",
" 3, 3, 4, 3, 7, 3, 3, 3, 3, 3, 3, 8, 1, 3, 3, 3, 3, 3, 3, 5, 4, 5, 3, 3,\n",
" 4, 1, 4, 3, 3, 0, 4, 1, 8, 4, 7, 1, 4, 9, 4, 5, 5, 8, 3, 3, 3, 8, 3, 1,\n",
" 3, 7, 3, 5, 5, 5, 1, 3, 3, 1, 3, 4, 4, 1, 5, 3, 3, 5, 7, 9, 1, 8, 3, 8,\n",
" 4, 3, 3, 3, 8, 3, 3, 4, 1, 8, 5, 4, 5, 1, 1, 3, 8, 1, 3, 5, 3, 3, 4, 3,\n",
" 1, 3, 3, 0, 1, 3, 3, 1])\n",
"tensor([0.1407, 0.1309, 0.1193, 0.1299, 0.1215, 0.1147, 0.1283, 0.1511, 0.1221,\n",
" 0.1420, 0.1336, 0.1409, 0.1221, 0.1347, 0.1253, 0.1226, 0.1392, 0.1130,\n",
" 0.1409, 0.1490, 0.1430, 0.1291, 0.1146, 0.1532, 0.1431, 0.1214, 0.1183,\n",
" 0.1507, 0.1099, 0.1389, 0.1341, 0.1338, 0.1309, 0.1359, 0.1309, 0.1180,\n",
" 0.1308, 0.1477, 0.1358, 0.1411, 0.1268, 0.1239, 0.1336, 0.1255, 0.1323,\n",
" 0.1285, 0.1583, 0.1350, 0.1336, 0.1165, 0.1484, 0.1329, 0.1227, 0.1193,\n",
" 0.1243, 0.1480, 0.1195, 0.1259, 0.1347, 0.1256, 0.1473, 0.1325, 0.1171,\n",
" 0.1263, 0.1380, 0.1305, 0.1374, 0.1246, 0.1320, 0.1178, 0.1210, 0.1187,\n",
" 0.1279, 0.1237, 0.1224, 0.1428, 0.1410, 0.1300, 0.1366, 0.1222, 0.1253,\n",
" 0.1165, 0.1264, 0.1305, 0.1654, 0.1238, 0.1168, 0.1318, 0.1669, 0.1183,\n",
" 0.1151, 0.1348, 0.1195, 0.1466, 0.1241, 0.1212, 0.1470, 0.1574, 0.1292,\n",
" 0.1296, 0.1357, 0.1207, 0.1336, 0.1328, 0.1263, 0.1187, 0.1113, 0.1265,\n",
" 0.1195, 0.1285, 0.1315, 0.1269, 0.1279, 0.1276, 0.1391, 0.1366, 0.1239,\n",
" 0.1391, 0.1261, 0.1221, 0.1335, 0.1371, 0.1267, 0.1435, 0.1243, 0.1441,\n",
" 0.1213, 0.1322], grad_fn=<MaxBackward0>)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "w6R94tkWx8Q2",
"outputId": "bf291fd3-39c9-4444-83fa-1c6eea2c1775"
},
"source": [
"labels"
],
"execution_count": 30,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tensor([8, 2, 7, 7, 2, 6, 4, 5, 4, 3, 7, 0, 2, 2, 7, 9, 8, 5, 8, 0, 5, 1, 1, 2,\n",
" 9, 2, 0, 2, 3, 4, 7, 0, 7, 1, 2, 3, 6, 9, 7, 1, 7, 1, 8, 9, 5, 2, 2, 5,\n",
" 0, 2, 7, 1, 1, 4, 2, 2, 4, 2, 4, 2, 3, 7, 6, 0, 0, 3, 3, 0, 3, 4, 7, 9,\n",
" 5, 6, 9, 5, 2, 0, 6, 7, 7, 8, 8, 7, 5, 4, 0, 1, 7, 8, 9, 9, 8, 3, 1, 8,\n",
" 7, 3, 8, 7, 5, 9, 8, 7, 2, 8, 9, 2, 6, 1, 6, 7, 3, 7, 5, 8, 7, 7, 4, 7,\n",
" 8, 0, 9, 2, 7, 1, 1, 4])"
]
},
"metadata": {
"tags": []
},
"execution_count": 30
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3oM-IVuxyAG9"
},
"source": [
"# Evaluation and Loss Function"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "yJhGpGGZzkmm",
"outputId": "766b56d2-76d4-4d54-e540-a544f47ff3a2"
},
"source": [
"torch.sum(preds == labels)"
],
"execution_count": 34,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tensor(11)"
]
},
"metadata": {
"tags": []
},
"execution_count": 34
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "5ncD-dSMx9Lm"
},
"source": [
"def accuracy(outputs, labels):\r\n",
" _, preds = torch.max(outputs, dim=1)\r\n",
" return torch.tensor(torch.sum(preds== labels).item() / len(preds))"
],
"execution_count": 32,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "x2kSBKjNz1kN",
"outputId": "79c8b13e-eee2-4e50-eede-dd01f416d493"
},
"source": [
"accuracy(outputs, labels)"
],
"execution_count": 35,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tensor(0.0859)"
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "70u3Xz2Uz6j0"
},
"source": [
"loss_fn = F.cross_entropy"
],
"execution_count": 36,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7ZIOz-5h1WxP",
"outputId": "c99e85e6-58f6-4739-92b4-e39e58a2d6a7"
},
"source": [
"loss = loss_fn(outputs, labels)\r\n",
"print(loss)"
],
"execution_count": 37,
"outputs": [
{
"output_type": "stream",
"text": [
"tensor(2.3087, grad_fn=<NllLossBackward>)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6zKqcqU71nvm"
},
"source": [
"# Training Model and Evaluate\r\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "NBWPUTyC1eSP"
},
"source": [
"def fit(epoch, lr, model, train_loader, val_loader, opt_function=torch.optim.SGD) :\r\n",
" optimizer = opt_function(model.parameters(), lr)\r\n",
" history = []\r\n",
"\r\n",
" for epoch in range(epoch):\r\n",
"\r\n",
" for batch in train_loader :\r\n",
" loss = model.training_step(batch)\r\n",
" loss.backward()\r\n",
" optimizer.step()\r\n",
" optimizer.zero_grad()\r\n",
" \r\n",
" result = evaluate(model, val_loader)\r\n",
" model.epoch_end(epoch, result)\r\n",
" history.append(result)\r\n",
"\r\n",
" return history"
],
"execution_count": 50,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "SuIXseM74Zaw"
},
"source": [
"def evaluate(model, val_loader):\r\n",
" outputs = [model.validation_step(batch) for batch in val_loader]\r\n",
" return model.validation_epoch_end(outputs)"
],
"execution_count": 45,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "9y2PtZYZ4wid"
},
"source": [
"class MnistModel(nn.Module) :\r\n",
" def __init__(self) :\r\n",
" super().__init__()\r\n",
" self.linear = nn.Linear(input_size, num_classes)\r\n",
"\r\n",
" def forward(self, xb) :\r\n",
" xb = xb.reshape(-1,784)\r\n",
" out = self.linear(xb)\r\n",
" return out\r\n",
"\r\n",
" def training_step(self, batch):\r\n",
" images, labels = batch\r\n",
" out = self(images)\r\n",
" loss = F.cross_entropy(out, labels)\r\n",
" return loss\r\n",
" \r\n",
" def validation_step(self, batch):\r\n",
" images, labels = batch\r\n",
" out = self(images)\r\n",
" loss = F.cross_entropy(out, labels)\r\n",
" acc = accuracy(out, labels)\r\n",
" return {'val_loss' : loss, 'val_acc' : acc}\r\n",
"\r\n",
" def validation_epoch_end(self, outputs):\r\n",
" batch_losses = [x['val_loss'] for x in outputs]\r\n",
" epoch_loss = torch.stack(batch_losses).mean()\r\n",
" batch_accs = [x['val_acc'] for x in outputs]\r\n",
" epoch_accs = torch.stack(batch_accs).mean()\r\n",
" return {'val_loss': epoch_loss.item(), 'val_acc': epoch_accs.item() }\r\n",
"\r\n",
" def epoch_end(self, epoch, result):\r\n",
" print(\"Epoch [{}], val_loss: {:.4f}, val_acc: {:.4f}\".format(epoch, result['val_loss'], result['val_acc']))\r\n",
"\r\n",
"\r\n",
"model = MnistModel()\r\n"
],
"execution_count": 61,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Pda6fx2k5pqb",
"outputId": "efac3d8a-48b7-46e1-eab9-36d2616d4078"
},
"source": [
"train_1 = fit(1000, 0.001, model, train_loader, val_loader)"
],
"execution_count": 63,
"outputs": [
{
"output_type": "stream",
"text": [
"Epoch [0], val_loss: 1.1225, val_acc: 0.8058\n",
"Epoch [1], val_loss: 1.0478, val_acc: 0.8141\n",
"Epoch [2], val_loss: 0.9867, val_acc: 0.8203\n",
"Epoch [3], val_loss: 0.9358, val_acc: 0.8274\n",
"Epoch [4], val_loss: 0.8929, val_acc: 0.8313\n",
"Epoch [5], val_loss: 0.8560, val_acc: 0.8363\n",
"Epoch [6], val_loss: 0.8241, val_acc: 0.8389\n",
"Epoch [7], val_loss: 0.7962, val_acc: 0.8413\n",
"Epoch [8], val_loss: 0.7716, val_acc: 0.8446\n",
"Epoch [9], val_loss: 0.7496, val_acc: 0.8473\n",
"Epoch [10], val_loss: 0.7299, val_acc: 0.8495\n",
"Epoch [11], val_loss: 0.7122, val_acc: 0.8518\n",
"Epoch [12], val_loss: 0.6960, val_acc: 0.8548\n",
"Epoch [13], val_loss: 0.6813, val_acc: 0.8575\n",
"Epoch [14], val_loss: 0.6679, val_acc: 0.8581\n",
"Epoch [15], val_loss: 0.6555, val_acc: 0.8594\n",
"Epoch [16], val_loss: 0.6441, val_acc: 0.8607\n",
"Epoch [17], val_loss: 0.6334, val_acc: 0.8612\n",
"Epoch [18], val_loss: 0.6236, val_acc: 0.8620\n",
"Epoch [19], val_loss: 0.6144, val_acc: 0.8629\n",
"Epoch [20], val_loss: 0.6058, val_acc: 0.8636\n",
"Epoch [21], val_loss: 0.5977, val_acc: 0.8647\n",
"Epoch [22], val_loss: 0.5901, val_acc: 0.8651\n",
"Epoch [23], val_loss: 0.5829, val_acc: 0.8657\n",
"Epoch [24], val_loss: 0.5762, val_acc: 0.8666\n",
"Epoch [25], val_loss: 0.5698, val_acc: 0.8679\n",
"Epoch [26], val_loss: 0.5638, val_acc: 0.8689\n",
"Epoch [27], val_loss: 0.5580, val_acc: 0.8691\n",
"Epoch [28], val_loss: 0.5526, val_acc: 0.8698\n",
"Epoch [29], val_loss: 0.5474, val_acc: 0.8706\n",
"Epoch [30], val_loss: 0.5424, val_acc: 0.8710\n",
"Epoch [31], val_loss: 0.5377, val_acc: 0.8714\n",
"Epoch [32], val_loss: 0.5332, val_acc: 0.8727\n",
"Epoch [33], val_loss: 0.5289, val_acc: 0.8734\n",
"Epoch [34], val_loss: 0.5247, val_acc: 0.8739\n",
"Epoch [35], val_loss: 0.5207, val_acc: 0.8743\n",
"Epoch [36], val_loss: 0.5169, val_acc: 0.8747\n",
"Epoch [37], val_loss: 0.5133, val_acc: 0.8751\n",
"Epoch [38], val_loss: 0.5097, val_acc: 0.8761\n",
"Epoch [39], val_loss: 0.5063, val_acc: 0.8760\n",
"Epoch [40], val_loss: 0.5031, val_acc: 0.8761\n",
"Epoch [41], val_loss: 0.4999, val_acc: 0.8769\n",
"Epoch [42], val_loss: 0.4969, val_acc: 0.8772\n",
"Epoch [43], val_loss: 0.4939, val_acc: 0.8767\n",
"Epoch [44], val_loss: 0.4910, val_acc: 0.8770\n",
"Epoch [45], val_loss: 0.4883, val_acc: 0.8778\n",
"Epoch [46], val_loss: 0.4856, val_acc: 0.8781\n",
"Epoch [47], val_loss: 0.4830, val_acc: 0.8787\n",
"Epoch [48], val_loss: 0.4805, val_acc: 0.8790\n",
"Epoch [49], val_loss: 0.4781, val_acc: 0.8794\n",
"Epoch [50], val_loss: 0.4757, val_acc: 0.8796\n",
"Epoch [51], val_loss: 0.4734, val_acc: 0.8800\n",
"Epoch [52], val_loss: 0.4712, val_acc: 0.8803\n",
"Epoch [53], val_loss: 0.4691, val_acc: 0.8804\n",
"Epoch [54], val_loss: 0.4669, val_acc: 0.8810\n",
"Epoch [55], val_loss: 0.4649, val_acc: 0.8815\n",
"Epoch [56], val_loss: 0.4629, val_acc: 0.8816\n",
"Epoch [57], val_loss: 0.4610, val_acc: 0.8821\n",
"Epoch [58], val_loss: 0.4591, val_acc: 0.8821\n",
"Epoch [59], val_loss: 0.4572, val_acc: 0.8828\n",
"Epoch [60], val_loss: 0.4554, val_acc: 0.8835\n",
"Epoch [61], val_loss: 0.4537, val_acc: 0.8840\n",
"Epoch [62], val_loss: 0.4520, val_acc: 0.8844\n",
"Epoch [63], val_loss: 0.4503, val_acc: 0.8850\n",
"Epoch [64], val_loss: 0.4487, val_acc: 0.8852\n",
"Epoch [65], val_loss: 0.4471, val_acc: 0.8853\n",
"Epoch [66], val_loss: 0.4455, val_acc: 0.8857\n",
"Epoch [67], val_loss: 0.4440, val_acc: 0.8863\n",
"Epoch [68], val_loss: 0.4425, val_acc: 0.8865\n",
"Epoch [69], val_loss: 0.4410, val_acc: 0.8867\n",
"Epoch [70], val_loss: 0.4396, val_acc: 0.8869\n",
"Epoch [71], val_loss: 0.4382, val_acc: 0.8871\n",
"Epoch [72], val_loss: 0.4368, val_acc: 0.8872\n",
"Epoch [73], val_loss: 0.4355, val_acc: 0.8873\n",
"Epoch [74], val_loss: 0.4342, val_acc: 0.8875\n",
"Epoch [75], val_loss: 0.4329, val_acc: 0.8877\n",
"Epoch [76], val_loss: 0.4316, val_acc: 0.8879\n",
"Epoch [77], val_loss: 0.4304, val_acc: 0.8882\n",
"Epoch [78], val_loss: 0.4292, val_acc: 0.8886\n",
"Epoch [79], val_loss: 0.4280, val_acc: 0.8892\n",
"Epoch [80], val_loss: 0.4268, val_acc: 0.8893\n",
"Epoch [81], val_loss: 0.4257, val_acc: 0.8893\n",
"Epoch [82], val_loss: 0.4246, val_acc: 0.8894\n",
"Epoch [83], val_loss: 0.4234, val_acc: 0.8897\n",
"Epoch [84], val_loss: 0.4224, val_acc: 0.8900\n",
"Epoch [85], val_loss: 0.4213, val_acc: 0.8905\n",
"Epoch [86], val_loss: 0.4203, val_acc: 0.8907\n",
"Epoch [87], val_loss: 0.4192, val_acc: 0.8909\n",
"Epoch [88], val_loss: 0.4182, val_acc: 0.8908\n",
"Epoch [89], val_loss: 0.4172, val_acc: 0.8910\n",
"Epoch [90], val_loss: 0.4163, val_acc: 0.8917\n",
"Epoch [91], val_loss: 0.4153, val_acc: 0.8921\n",
"Epoch [92], val_loss: 0.4143, val_acc: 0.8922\n",
"Epoch [93], val_loss: 0.4134, val_acc: 0.8924\n",
"Epoch [94], val_loss: 0.4125, val_acc: 0.8925\n",
"Epoch [95], val_loss: 0.4116, val_acc: 0.8926\n",
"Epoch [96], val_loss: 0.4107, val_acc: 0.8927\n",
"Epoch [97], val_loss: 0.4098, val_acc: 0.8928\n",
"Epoch [98], val_loss: 0.4090, val_acc: 0.8929\n",
"Epoch [99], val_loss: 0.4081, val_acc: 0.8930\n"
],
"name": "stdout"
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment