Computer_Vision/Chapter04/Issues_with_image_translati...

1736 lines
177 KiB
Plaintext
Raw Permalink Normal View History

2024-02-13 03:34:51 +01:00
{
"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": [
"<a href=\"https://colab.research.google.com/github/PacktPublishing/Hands-On-Computer-Vision-with-PyTorch/blob/master/Chapter04/Issues_with_image_translation.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"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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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VKEOfcdibsgc"
},
"source": [
"img = tr_images[ix]/255.\n",
"img = img.view(28*28)\n",
"img = img.to(device)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "o9FBQQbcb1q-",
"outputId": "1fe3d97f-ef09-4a15-fab1-622f4535f18b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 72
}
},
"source": [
"np_output = model(img).cpu().detach().numpy()\n",
"np.exp(np_output)/np.sum(np.exp(np_output))"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([2.4361714e-06, 9.9999738e-01, 8.3687448e-09, 2.2200647e-08,\n",
" 5.7493144e-10, 8.5185324e-14, 1.6882856e-07, 7.0115940e-21,\n",
" 3.0295655e-12, 1.3271068e-13], dtype=float32)"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "dzxkVp_vb5nw"
},
"source": [
"Translation"
]
},
{
"cell_type": "code",
"metadata": {
"id": "o4qSbj_JhEPQ",
"outputId": "188d478c-4f9d-4e54-90ad-b1d43c133176",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"source": [
"tr_targets[ix]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"tensor(1)"
]
},
"metadata": {
"tags": []
},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "kENvOeLeb9T8",
"outputId": "718eb5e8-d854-4f71-cc25-7b703f3d9c39",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"preds = []\n",
"for px in range(-5,6):\n",
" img = tr_images[ix]/255.\n",
" img = img.view(28, 28)\n",
" #img2 = np.zeros((28,28))\n",
" img2 = np.roll(img, px, axis=1)\n",
" plt.imshow(img2)\n",
" plt.show()\n",
" img3 = torch.Tensor(img2).view(28*28).to(device)\n",
" np_output = model(img3).cpu().detach().numpy()\n",
" preds.append(np.exp(np_output)/np.sum(np.exp(np_output)))"
],
"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"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAARlklEQVR4nO3da3Bc9XkG8OeRvJKQfJWNhXAU33CaOE7qpCqhCWnJ0FKgnQKTgYEPFDK0ykzjTEjzAYZOJ3zoByYtIclMJx2nXBwmJWUaCO6UJjEOLWVCKMIx2MbEt8hYwrIMxhfJ1m337QetOzLovEfsnr3A+/xmNFrto6P9e61HZ3f/e86fZgYRef9rqPUARKQ6VHaRIFR2kSBUdpEgVHaRIOZU88aa2GwtaKvmTb4n5D7c6OaNLLj5aD75v7GB/myLgW7egLTtfQVL/vlzGvx/V77g74tsz0TKrcczihGM29iMd3pZZSd5JYBvA2gE8M9mdo/3/S1ow6d4eTk3+b50/oML3by9acTNd5+4IDE7b45fCK+MANDS6G8/WfD/UHl/iBY2n3G3PTne4ub5z73u5hE9b1sTs5IfxpNsBPCPAK4CsBbATSTXlvrzRKSyynnOfjGAfWZ2wMzGAfwQwDXZDEtEslZO2ZcBODTt6/7idecg2UOyl2TvBMbKuDkRKUfFX403s41m1m1m3Tk0V/rmRCRBOWUfANA17esPFK8TkTpUTtlfALCG5EqSTQBuBLA5m2GJSNZKnnozs0mSGwD8FFNTbw+Y2a7MRvY+0tDmv7fgweXJ0yUA8ODJLjfvajmWmK1qOupue2D8fDffM5I8rQcAF7UOufmpfPL02clJf2rt+vN73XwjVrm5nKuseXYzexLAkxmNRUQqSG+XFQlCZRcJQmUXCUJlFwlCZRcJQmUXCaKqx7NHNXzFOjd/dPhVNx8YX1TybY8Umty8tWHczS9sOe7mefP3FwdGliRmcxry7rZpY2/sWOrm+SP+ewCi0Z5dJAiVXSQIlV0kCJVdJAiVXSQIlV0kCE29VcHgJf7f1N1nLnTztFNJf/y8Q4nZ4OQC/2fD/9n7R/xDYH9v4f6U/EBitveMP3V2Iu8fGjx43Wo3P/+fNPU2nfbsIkGo7CJBqOwiQajsIkGo7CJBqOwiQajsIkFonr0KOtcPunnaSqoF81dK/dXp5YnZWMH/L17W/Jabp60g2zeafAgrAHywOfk01weG/W3PS1lB9q31/iGy/jsE4tGeXSQIlV0kCJVdJAiVXSQIlV0kCJVdJAiVXSQIzbNXwYaVP3fzfaP+sshDE/Pc3Junv3T+Hnfb/vHFbn5B00k3/3TbXjffdmZFYraiLXkOHkg/zXVDmz8PL+cqq+wk+wCcApAHMGlm3VkMSkSyl8We/XNm9kYGP0dEKkjP2UWCKLfsBuBnJF8k2TPTN5DsIdlLsncCY2XenIiUqtyH8Zea2QDJpQC2kHzVzJ6Z/g1mthHARgCYz3Yr8/ZEpERl7dnNbKD4eQjA4wAuzmJQIpK9kstOso3kvLOXAVwBYGdWAxORbJXzML4DwOMkz/6cfzGzn2QyqveZz7YMuHnaPPtl8/0lnVflkidDJlKWVJ7fMOrmo5Zz811jy9z8yMT8xCxtbEfH/fcXLG4fdnM5V8llN7MDAH47w7GISAVp6k0kCJVdJAiVXSQIlV0kCJVdJAgd4pqBhtbWsrZ/c8JfmvipsY+6+dDY3MRseat/GOlfL/kfNz9W8E9j3UL/MNMck0/3vB/+ks0favFPwf2fr65180VuGo/27CJBqOwiQajsIkGo7CJBqOwiQajsIkGo7CJBaJ49A2f+wJ8HPzjpz2UfHl3g5mlLF39kXvJ89O3tL7jb3rz/ejf/7OJ9bv7lRbvc/O9HVidmaaeK3j/qz8PjzWY/l3Nozy4ShMouEoTKLhKEyi4ShMouEoTKLhKEyi4ShObZM3Cqy78bX5tsL+vndzT7yyYPjiWfrnlRo3+sfX6DP8f/3/ZJN79ji79kc2tj8pJfQ+PJ4wb8Y+EBoGE8ealqeSft2UWCUNlFglDZRYJQ2UWCUNlFglDZRYJQ2UWC0Dx7BsYX+vO9E+bfzUfO+EsTn5xocfM/XfpyYvbQSf+Y8MJOfznoNBPmz4XPc5aEfmm0y922vWnEzXOnNM/+bqTu2Uk+QHKI5M5p17WT3EJyb/GzzscvUudm8zD+IQBXvu26OwFsNbM1ALYWvxaROpZadjN7BsDb1xC6BsCm4uVNAK7NeFwikrFSn7N3mNnh4uVBAB1J30iyB0APALSgvDXRRKR0Zb8ab2YGwJx8o5l1m1l3DjpBoEitlFr2IyQ7AaD4eSi7IYlIJZRa9s0AbilevgXAE9kMR0QqJfU5O8lHAFwGYAnJfgBfB3APgEdJ3gbgIIAbKjnIepdy+nMcHFvi5rkGf656fi55rhoAvrCgLzH7ww0b3G1b8bybp7lsh3/e+b+96D8Ss/+y33K3PZNvcnPnUHmZQWrZzeymhOjyjMciIhWkt8uKBKGyiwShsosEobKLBKGyiwShQ1wz0Hw88Q2EAIDTBX8K6fSEn3e1HX/XYzqr9fHyptbSvPFC4julAQC5NZOJ2WTB39e8NuwfTFlodGN5G+3ZRYJQ2UWCUNlFglDZRYJQ2UWCUNlFglDZRYLQPHsGWo77h6i+dsafL26gP09/Uat/bpB731zn5pXUOuifzjlvyfuTE+PnudsePOrfb0v3+ve7nEt7dpEgVHaRIFR2kSBUdpEgVHaRIFR2kSBUdpEgNM+egcZRf568OeVU0Re2nXDzlc3+PPtdm5NOAAysxi/dbTnH/xWwyeTj0QFgwW8m3PxUIXkuvf/YQv+2+9rc/MQKf47f3zoe7dlFglDZRYJQ2UWCUNlFglDZRYJQ2UWCUNlFgtA8ewbyzf5878rz3nDzoYl5br64cdjN2/rL+JvdmHLy9ZR59tZ9x9zcG/vyxf62h7b590tHr7+UtZwr9beE5AMkh0junHbd3SQHSG4vflxd2WGKSLlms0t4CMCVM1x/n5mtL348me2wRCRrqWU3s2cA+I+3RKTulfMC3QaSLxcf5ieeLIxkD8lekr0TGCvj5kSkHKWW/bsAVgNYD+AwgHuTvtHMNppZt5l159Bc4s2JSLlKKruZHTGzvJkVAHwPwMXZDktEslZS2Ul2TvvyOgA7k75XROpD6jw7yUcAXAZgCcl+AF8HcBnJ9QAMQB+AL1ZwjHVv3g7/ePMC/Hn4RhTcPEf/ePi2w/72Hpvw59HT5Pfsd/Onhz+SmH1qcZ+77fw/8efRD/Z/yM39o+XjSS27mc10ZoT7KzAWEakgvV1WJAiVXSQIlV0kCJVdJAiVXSQIHeKagckDfWVtf6bQ5OanCi1uPq+nPzn815QbL1R22eMTk8mnkh4v+L9+y1v9QzKO/vnr/o0/7MfRaM8uEoTKLhKEyi4ShMouEoTKLhKEyi4ShMouEoTm2atgz8hSN//YvAE3f+n0cjf/1upHE7Pb8Wl320qb25h8KrJ1c/3DYwcnF7j5j391iZuvwkE3j0Z7dpEgVHaRIFR2kSBUdpEgVHaRIFR2kSBUdpEgNM9eBc8981E3/6vrn3bzp4b97XeMdyZmDes+7G5b2Pmqm5fLOw32wsbT7rZrmo64+XeaZ1pvVJJozy4ShMouEoTKLhKEyi4ShMouEoTKLhKEyi4ShObZq2Dlj/355NwN/rnb8+b/TW7hRGK27+ZF7rar7nDjsn1h0f8mZj8/vcrdtrUh+Vh4AECjlTKksFL37CS7SD5N8hWSu0h+pXh9O8ktJPcWP/u/VSJSU7N5GD8J4GtmthbAJQC+RHItgDsBbDWzNQC2Fr8WkTqVWnYzO2xm24qXTwHYDWAZgGsAbCp+2yYA11ZqkCJSvnf1nJ3kCgCfAPA8gA4zO1yMBgF0JGzTA6AHAFrQWuo4RaRMs341nuRcAD8CcLuZnZyemZkBmPHVEjPbaGbdZtadQ3NZgxWR0s2q7CRzmCr6D8zsseLVR0h2FvNOAEOVGaKIZCH1YTxJArgfw
"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"
}
},
{
"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": "FXFrgJ9uf8mp",
"outputId": "2846c10e-f6ee-4b07-a477-964efe241cb3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 625
}
},
"source": [
"import seaborn as sns\n",
"fig, ax = plt.subplots(1,1, figsize=(12,10))\n",
"plt.title('Probability of each class for various translations')\n",
"sns.heatmap(np.array(preds), annot=True, ax=ax, fmt='.2f', xticklabels=fmnist.classes, yticklabels=[str(i)+str(' pixels') for i in range(-5,6)], cmap='gray')"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fe8819940f0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
},
{
"output_type": "display_data",
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x720 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ugxiRTlpgVas"
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}