{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"accelerator": "GPU",
"colab": {
"name": "Issues_with_image_translation.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": {
"ea072e177d1e4caa9035de65006a92c5": {
"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_f9cda45fc5994f15bcbfcacce9b6e6b4",
"IPY_MODEL_fd2f745952424affb588b07e843dd01a"
],
"layout": "IPY_MODEL_4da29921a0a34d52a8b6b92fad1ee020"
}
},
"4da29921a0a34d52a8b6b92fad1ee020": {
"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
}
},
"f9cda45fc5994f15bcbfcacce9b6e6b4": {
"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_b4dec018429c4173852fdf63e1cd4567",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_9fbab9764037441d96f79f64b14521c0",
"value": 1
}
},
"fd2f745952424affb588b07e843dd01a": {
"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_33fc9c37c5e14716a6f172a8c4c366f3",
"placeholder": "",
"style": "IPY_MODEL_c6f3057a4f284b90a4638fd9db096490",
"value": " 26427392/? [00:20<00:00, 104271159.47it/s]"
}
},
"9fbab9764037441d96f79f64b14521c0": {
"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"
}
},
"b4dec018429c4173852fdf63e1cd4567": {
"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
}
},
"c6f3057a4f284b90a4638fd9db096490": {
"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": ""
}
},
"33fc9c37c5e14716a6f172a8c4c366f3": {
"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
}
},
"d5d654907a224d93832444b7e35eb8ee": {
"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_76287a4edc454f16bcd16a23f6cc3fb1",
"IPY_MODEL_6f2ac3ddbc12451cbd3a4b97fa5e7d7d"
],
"layout": "IPY_MODEL_66800c263cdb492cab4dd5920aa5ab17"
}
},
"66800c263cdb492cab4dd5920aa5ab17": {
"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
}
},
"76287a4edc454f16bcd16a23f6cc3fb1": {
"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_4fa16cecb9684d0e966868c6676eff42",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_75b3b6fc935b4519938d343d6e116e91",
"value": 1
}
},
"6f2ac3ddbc12451cbd3a4b97fa5e7d7d": {
"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_1f3bbea53c9a477b9a2e982dc1ba65e9",
"placeholder": "",
"style": "IPY_MODEL_08551f384b0a4e84a0c93b552211a34e",
"value": " 32768/? [00:00<00:00, 109026.10it/s]"
}
},
"75b3b6fc935b4519938d343d6e116e91": {
"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"
}
},
"4fa16cecb9684d0e966868c6676eff42": {
"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
}
},
"08551f384b0a4e84a0c93b552211a34e": {
"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": ""
}
},
"1f3bbea53c9a477b9a2e982dc1ba65e9": {
"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
}
},
"9d864b0262c14565be271fbbb5b220af": {
"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_cac33fb9728d4382ace5d0ddd5150c16",
"IPY_MODEL_1d13ae30976a4798b63dd86e2a930244"
],
"layout": "IPY_MODEL_c3b3f4e0232648e3a87a15fed2a3fb8d"
}
},
"c3b3f4e0232648e3a87a15fed2a3fb8d": {
"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
}
},
"cac33fb9728d4382ace5d0ddd5150c16": {
"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_fc6186a0ce2040e1a8a21a88109c937c",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_a3ae40caee0444409b77c602e6a95e8f",
"value": 1
}
},
"1d13ae30976a4798b63dd86e2a930244": {
"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_ad46377548a94f5f8f2c8533374519a2",
"placeholder": "",
"style": "IPY_MODEL_9bfae4d0957d480f8575d5778804cda2",
"value": " 4423680/? [00:00<00:00, 19403714.53it/s]"
}
},
"a3ae40caee0444409b77c602e6a95e8f": {
"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"
}
},
"fc6186a0ce2040e1a8a21a88109c937c": {
"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
}
},
"9bfae4d0957d480f8575d5778804cda2": {
"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": ""
}
},
"ad46377548a94f5f8f2c8533374519a2": {
"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
}
},
"2e5f5ac346414ea4a885f5058969ed8e": {
"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_154c1c718d1d4f2e942089e48beba5ca",
"IPY_MODEL_4ea94dfcc551493190b83924f03a3196"
],
"layout": "IPY_MODEL_9330d89f45a3486a92ca00ec3966493b"
}
},
"9330d89f45a3486a92ca00ec3966493b": {
"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
}
},
"154c1c718d1d4f2e942089e48beba5ca": {
"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_036c61dcb0624aa8a086f85c43d7cbac",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_dc8f74e2b6e14d259fc50e1e9abbc0e9",
"value": 1
}
},
"4ea94dfcc551493190b83924f03a3196": {
"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_6fdb1dce89944976af24e0052f42f321",
"placeholder": "",
"style": "IPY_MODEL_51ca5d600977413b9c9e8e37962ba118",
"value": " 8192/? [00:00<00:00, 31536.18it/s]"
}
},
"dc8f74e2b6e14d259fc50e1e9abbc0e9": {
"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"
}
},
"036c61dcb0624aa8a086f85c43d7cbac": {
"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
}
},
"51ca5d600977413b9c9e8e37962ba118": {
"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": ""
}
},
"6fdb1dce89944976af24e0052f42f321": {
"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": [
""
]
},
{
"cell_type": "code",
"metadata": {
"id": "btTNGfAhOgCk",
"outputId": "f0126e54-1428-4d8c-e714-43d8e227c433",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437,
"referenced_widgets": [
"ea072e177d1e4caa9035de65006a92c5",
"4da29921a0a34d52a8b6b92fad1ee020",
"f9cda45fc5994f15bcbfcacce9b6e6b4",
"fd2f745952424affb588b07e843dd01a",
"9fbab9764037441d96f79f64b14521c0",
"b4dec018429c4173852fdf63e1cd4567",
"c6f3057a4f284b90a4638fd9db096490",
"33fc9c37c5e14716a6f172a8c4c366f3",
"d5d654907a224d93832444b7e35eb8ee",
"66800c263cdb492cab4dd5920aa5ab17",
"76287a4edc454f16bcd16a23f6cc3fb1",
"6f2ac3ddbc12451cbd3a4b97fa5e7d7d",
"75b3b6fc935b4519938d343d6e116e91",
"4fa16cecb9684d0e966868c6676eff42",
"08551f384b0a4e84a0c93b552211a34e",
"1f3bbea53c9a477b9a2e982dc1ba65e9",
"9d864b0262c14565be271fbbb5b220af",
"c3b3f4e0232648e3a87a15fed2a3fb8d",
"cac33fb9728d4382ace5d0ddd5150c16",
"1d13ae30976a4798b63dd86e2a930244",
"a3ae40caee0444409b77c602e6a95e8f",
"fc6186a0ce2040e1a8a21a88109c937c",
"9bfae4d0957d480f8575d5778804cda2",
"ad46377548a94f5f8f2c8533374519a2",
"2e5f5ac346414ea4a885f5058969ed8e",
"9330d89f45a3486a92ca00ec3966493b",
"154c1c718d1d4f2e942089e48beba5ca",
"4ea94dfcc551493190b83924f03a3196",
"dc8f74e2b6e14d259fc50e1e9abbc0e9",
"036c61dcb0624aa8a086f85c43d7cbac",
"51ca5d600977413b9c9e8e37962ba118",
"6fdb1dce89944976af24e0052f42f321"
]
}
},
"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": "ea072e177d1e4caa9035de65006a92c5",
"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": "d5d654907a224d93832444b7e35eb8ee",
"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": "9d864b0262c14565be271fbbb5b220af",
"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": "2e5f5ac346414ea4a885f5058969ed8e",
"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": "f1x6oYFlVfYY"
},
"source": [
"tr_images = fmnist.data\n",
"tr_targets = fmnist.targets"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8ULXRurzVgjD"
},
"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": "CUhXKInOViDg"
},
"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": "code",
"metadata": {
"id": "F5qu0HNtVjvs"
},
"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": "2uV3YsRUVqcD"
},
"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": "Y7lhpYHPVr_b"
},
"source": [
"def val_loss(x, y, model):\n",
" with torch.no_grad():\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": "2VindwEyWD-N"
},
"source": [
"trn_dl, val_dl = get_data()\n",
"model, loss_fn, optimizer = get_model()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VpDI95dnWFSG",
"outputId": "600f9003-dc4a-40e3-8c0f-66ede8783bbd",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 108
}
},
"source": [
"train_losses, train_accuracies = [], []\n",
"val_losses, val_accuracies = [], []\n",
"for epoch in range(5):\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"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "a46qfaZwbsd-",
"outputId": "42aa6305-1299-472e-8262-74cc6b59e711",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 299
}
},
"source": [
"#ix = np.random.randint(len(tr_images))\n",
"ix = 24300\n",
"plt.imshow(tr_images[ix], cmap='gray')\n",
"plt.title(fmnist.classes[tr_targets[ix]])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Trouser')"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"