{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 0. lib datasets Install (Lightning AI)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: datasets in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (4.4.1)\n", "Requirement already satisfied: filelock in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (3.20.0)\n", "Requirement already satisfied: numpy>=1.17 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (2.3.5)\n", "Requirement already satisfied: pyarrow>=21.0.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (22.0.0)\n", "Requirement already satisfied: dill<0.4.1,>=0.3.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (0.4.0)\n", "Requirement already satisfied: pandas in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (2.3.3)\n", "Requirement already satisfied: requests>=2.32.2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (2.32.5)\n", "Requirement already satisfied: httpx<1.0.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (0.28.1)\n", "Requirement already satisfied: tqdm>=4.66.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (4.67.1)\n", "Requirement already satisfied: xxhash in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (3.6.0)\n", "Requirement already satisfied: multiprocess<0.70.19 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (0.70.18)\n", "Requirement already satisfied: fsspec<=2025.10.0,>=2023.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (2025.10.0)\n", "Requirement already satisfied: huggingface-hub<2.0,>=0.25.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (1.1.5)\n", "Requirement already satisfied: packaging in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (25.0)\n", "Requirement already satisfied: pyyaml>=5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from datasets) (6.0.3)\n", "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (3.13.2)\n", "Requirement already satisfied: anyio in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1.0.0->datasets) (4.11.0)\n", "Requirement already satisfied: certifi in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1.0.0->datasets) (2025.11.12)\n", "Requirement already satisfied: httpcore==1.* in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1.0.0->datasets) (1.0.9)\n", "Requirement already satisfied: idna in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1.0.0->datasets) (3.11)\n", "Requirement already satisfied: h11>=0.16 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpcore==1.*->httpx<1.0.0->datasets) (0.16.0)\n", "Requirement already satisfied: hf-xet<2.0.0,>=1.2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.25.0->datasets) (1.2.0)\n", "Requirement already satisfied: shellingham in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.25.0->datasets) (1.5.4)\n", "Requirement already satisfied: typer-slim in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.25.0->datasets) (0.20.0)\n", "Requirement already satisfied: typing-extensions>=3.7.4.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface-hub<2.0,>=0.25.0->datasets) (4.15.0)\n", "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (2.6.1)\n", "Requirement already satisfied: aiosignal>=1.4.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (1.4.0)\n", "Requirement already satisfied: attrs>=17.3.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (25.4.0)\n", "Requirement already satisfied: frozenlist>=1.1.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (1.8.0)\n", "Requirement already satisfied: multidict<7.0,>=4.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (6.7.0)\n", "Requirement already satisfied: propcache>=0.2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (0.4.1)\n", "Requirement already satisfied: yarl<2.0,>=1.17.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.10.0,>=2023.1.0->datasets) (1.22.0)\n", "Requirement already satisfied: charset_normalizer<4,>=2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from requests>=2.32.2->datasets) (3.4.4)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from requests>=2.32.2->datasets) (2.5.0)\n", "Requirement already satisfied: sniffio>=1.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from anyio->httpx<1.0.0->datasets) (1.3.1)\n", "Requirement already satisfied: python-dateutil>=2.8.2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from pandas->datasets) (2.9.0.post0)\n", "Requirement already satisfied: pytz>=2020.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from pandas->datasets) (2025.2)\n", "Requirement already satisfied: tzdata>=2022.7 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from pandas->datasets) (2025.2)\n", "Requirement already satisfied: six>=1.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.17.0)\n", "Requirement already satisfied: click>=8.0.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from typer-slim->huggingface-hub<2.0,>=0.25.0->datasets) (8.3.1)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install datasets\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: ipywidgets in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (8.1.8)\n", "Requirement already satisfied: comm>=0.1.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipywidgets) (0.2.3)\n", "Requirement already satisfied: ipython>=6.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipywidgets) (9.7.0)\n", "Requirement already satisfied: traitlets>=4.3.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipywidgets) (5.14.3)\n", "Requirement already satisfied: widgetsnbextension~=4.0.14 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipywidgets) (4.0.15)\n", "Requirement already satisfied: jupyterlab_widgets~=3.0.15 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipywidgets) (3.0.16)\n", "Requirement already satisfied: decorator>=4.3.2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (5.2.1)\n", "Requirement already satisfied: ipython-pygments-lexers>=1.0.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (1.1.1)\n", "Requirement already satisfied: jedi>=0.18.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (0.19.2)\n", "Requirement already satisfied: matplotlib-inline>=0.1.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (0.2.1)\n", "Requirement already satisfied: pexpect>4.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (4.9.0)\n", "Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (3.0.52)\n", "Requirement already satisfied: pygments>=2.11.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (2.19.2)\n", "Requirement already satisfied: stack_data>=0.6.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\n", "Requirement already satisfied: typing_extensions>=4.6 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (4.15.0)\n", "Requirement already satisfied: wcwidth in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.14)\n", "Requirement already satisfied: parso<0.9.0,>=0.8.4 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from jedi>=0.18.1->ipython>=6.1.0->ipywidgets) (0.8.5)\n", "Requirement already satisfied: ptyprocess>=0.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets) (0.7.0)\n", "Requirement already satisfied: executing>=1.2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from stack_data>=0.6.0->ipython>=6.1.0->ipywidgets) (2.2.1)\n", "Requirement already satisfied: asttokens>=2.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from stack_data>=0.6.0->ipython>=6.1.0->ipywidgets) (3.0.1)\n", "Requirement already satisfied: pure_eval in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from stack_data>=0.6.0->ipython>=6.1.0->ipywidgets) (0.2.3)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "pip install ipywidgets" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: torch in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (2.9.1)\n", "Requirement already satisfied: filelock in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.20.0)\n", "Requirement already satisfied: typing-extensions>=4.10.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (4.15.0)\n", "Requirement already satisfied: sympy>=1.13.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (1.14.0)\n", "Requirement already satisfied: networkx>=2.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.5)\n", "Requirement already satisfied: jinja2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.1.6)\n", "Requirement already satisfied: fsspec>=0.8.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (2025.10.0)\n", "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.93)\n", "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-cudnn-cu12==9.10.2.21 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (9.10.2.21)\n", "Requirement already satisfied: nvidia-cublas-cu12==12.8.4.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.4.1)\n", "Requirement already satisfied: nvidia-cufft-cu12==11.3.3.83 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (11.3.3.83)\n", "Requirement already satisfied: nvidia-curand-cu12==10.3.9.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (10.3.9.90)\n", "Requirement already satisfied: nvidia-cusolver-cu12==11.7.3.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (11.7.3.90)\n", "Requirement already satisfied: nvidia-cusparse-cu12==12.5.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.5.8.93)\n", "Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (0.7.1)\n", "Requirement already satisfied: nvidia-nccl-cu12==2.27.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (2.27.5)\n", "Requirement already satisfied: nvidia-nvshmem-cu12==3.3.20 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.3.20)\n", "Requirement already satisfied: nvidia-nvtx-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-nvjitlink-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.93)\n", "Requirement already satisfied: nvidia-cufile-cu12==1.13.1.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (1.13.1.3)\n", "Requirement already satisfied: triton==3.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.5.1)\n", "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from sympy>=1.13.3->torch) (1.3.0)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from jinja2->torch) (3.0.3)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "pip install torch" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: torch in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (2.9.1)\n", "Requirement already satisfied: filelock in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.20.0)\n", "Requirement already satisfied: typing-extensions>=4.10.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (4.15.0)\n", "Requirement already satisfied: sympy>=1.13.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (1.14.0)\n", "Requirement already satisfied: networkx>=2.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.5)\n", "Requirement already satisfied: jinja2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.1.6)\n", "Requirement already satisfied: fsspec>=0.8.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (2025.10.0)\n", "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.93)\n", "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-cudnn-cu12==9.10.2.21 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (9.10.2.21)\n", "Requirement already satisfied: nvidia-cublas-cu12==12.8.4.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.4.1)\n", "Requirement already satisfied: nvidia-cufft-cu12==11.3.3.83 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (11.3.3.83)\n", "Requirement already satisfied: nvidia-curand-cu12==10.3.9.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (10.3.9.90)\n", "Requirement already satisfied: nvidia-cusolver-cu12==11.7.3.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (11.7.3.90)\n", "Requirement already satisfied: nvidia-cusparse-cu12==12.5.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.5.8.93)\n", "Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (0.7.1)\n", "Requirement already satisfied: nvidia-nccl-cu12==2.27.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (2.27.5)\n", "Requirement already satisfied: nvidia-nvshmem-cu12==3.3.20 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.3.20)\n", "Requirement already satisfied: nvidia-nvtx-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-nvjitlink-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.93)\n", "Requirement already satisfied: nvidia-cufile-cu12==1.13.1.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (1.13.1.3)\n", "Requirement already satisfied: triton==3.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.5.1)\n", "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from sympy>=1.13.3->torch) (1.3.0)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from jinja2->torch) (3.0.3)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install torch" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Nina_Fire_detection_Project_Baseline.ipynb', '__pycache__', 'Nina_Fire_detection_Project_v2.ipynb', 'app.py', 'efficientnet_fire.pt', 'inference.py', 'Second_Dataset', 'Autres']\n" ] } ], "source": [ "import os\n", "print(os.listdir(\".\"))" ] }, { "cell_type": "markdown", "metadata": { "id": "KQaA6Onj_yBX" }, "source": [ "## 1. charger le dataset Huggingface" ] }, { "cell_type": "markdown", "metadata": { "id": "URzTGYqSqQFe" }, "source": [ "pyronear/pyro-sdis dataset \n", "https://huggingface.co/datasets/pyronear/pyro-sdis/viewer/default/train?p=2&views%5B%5D=val" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0, "referenced_widgets": [ "5f8e97b8337248eabdff99293c57e540", "6fbba52c95c7418d880c2064b2e412a3", "8dc95f07f074463794353f91799f932a", "32a3f811f6314bf2bce102c09c5b24b1", "f0648bc9b6e4447e959901741f9c4f3b", "a09d30a0ca9f4a7484374a7931757330", "a7f799eee3504064b5f14fb534af0e4c", "afa930b62c9340b4b68404a4d634d5db", "385c19dc2ed14de89a5040b8d00b245a", "1b06e21554464be2b43aaa6097b5978a", "aa94028e495a4f9794675dd8a3c52743", "b61a302ba9f247cc8b446a5cf46d341b", "390758764d414663a370d9289701ed79", "0b8ceec04573495e97034284df7436a9", "81c5c7e742cd4f7c89ae7ef9adf17e9e", "b4105d3f41944408a3a958b634a701b6", "509ceb3d8ed94bf9acde149149372a21", "a6ae6ce38bb048209025dacc6d3d26d2", "5e377375f0f8451e8551c294bdfb436a", "d6782238a7b546f480a7669b44b2e62c", "236c87878e4a443aa460e47c48951689", "57d2d317f9254400ad385db25a465590", "5d99bbca57874d1295f9afa3defe1c96", "e656b25e80674924b4d7a008bb23ded7", "94c72ae9936f485aba7e97404e4cd317", "610482cbeae14aba995da08c6d93b4f9", "3210be2579d6479ba5b5553153e9dcf4", "456bd21616334467b2aba4e8fcbc303b", "3d68373832bc45f5982cf75eda51e349", "fcbcfff276b4489fa10132436f7344b9", "445b9556353e449bb8bd96769e2bc644", "bbe8f811baf444e4b25f2d8dd8d8cb47", "3d2db729758e438093dde27f56333280", "e90d5a63687e4883b2bdaaa27fb5d70b", "acca78a63d314b38a3b16b8a68efb95c", "19178f0e98784436bac393b6e89ef13a", "f58beac271be4e1d8f17bcde3fb07439", "6610f0a33210438fa6ce91515a7986a6", "2752f8ac31bf45a086bb2edfbc22b134", "e9b883b69d194b10ac1e5486523d3b45", "ba5c7170e84a4ca399f0635da7a6a64a", "1b0f8759c3ad40308c19ffce8fd824f5", "ce20d91ea162451cba5eec4acafe169f", "529d26e0c69343b3ba08d4fbd00f6126", "aba382bd8f494347b7c82e5c2e828e82", "34524bc506a849f98088b69ddd43c680", "3fc83a03729b41e5a7831ddd42f3b3c1", "ee66c89216b242c9908d11e4f4dedfc4", "77e77595474f4605b6b5bc5badfc8449", "4158efb2405d4ee1af980da9cb69329e", "42399cc072df450d958b7153f87580ab", "3c5b1f070d1d40818ea2b939b766b1e4", "165a408737884567a22d639f23bf46c8", "58eacfeefc504790be3dad1f83b49a2a", "1616716dcb284651a96ddf51cea3edea", "62f7abbc46544945a0bee23b4bf34617", "5d04b99264ed48bead1831bc926958ec", "f2dbda06615d4b178f9b0a6eb391be08", "f032fa15824a42b7ae3a8e100d577abd", "2ef7f8be1b3e428c8376faca713e64b6", "258c8afacee6490783d004503bf97e15", "2a93bdfdc77d4968aab3b7e1f47d4af8", "f48a4251c2de4a97b6b5d839225736f2", "d5ce2363ee0a474b82e23ae307560074", "d89d5f94aa5d40409ad1ccbcd3af050e", "3d444fb8ae1749079cc5b1fbbbf9ecd7", "541cb75209384d789c4e39d074f89f1c", "c6d11036685342cf909fab02262c336b", "4210511966aa427da7806a352fe2eb45", "487d1363a87b4a8db5e0ddc33154e9c2", "9a0c6b149a204ff389c5271c39385772", "a062d3a9eed94eec98d0bb41d9e330d4", "bed698c9f23743eaad00e9a3f03327e2", "1148884deba6411d85447b58a797e8fa", "cae6b994c5b34a3bb9c56ddcfbb3647c", "a96ee20bfa8d47e0942ccade6b61fbcb", "c4d7846fb86d44b58a595da665dd7b08", "0c76d19ddef248e3814539f16b943ca7", "a6f5cf818c6543e687b0982415358592", "028856ad5e814891989d848e56f18786", "baffcf2fad0f40d18332a4ca5eb34a9a", "5964d89a5815483fb9060f2e11cfb8a6", "6b06f80e902e4e539c9656d35c8ab64c", "c9cde596625446799641b8164a3c45db", "4e9c1cc5abfa4eb9a94aad8bc5c7fe8d", "8709a1d0041b45d5a13f009f06bf9e9b", "b04be4a5ff604ab58dc9ad29353d5bdf", "e86e0c7f442c4bb6805d6c2514e213ac", "a980529f6fd34e4895f4b418fd0942c1", "e4b336cf37e34a57a7659f2634da8c51", "f97706d13c2546318c772067974368d6", "4234f98bd38c40deb38c607bcc26fa4a", "065a8e3faf3b432382bdb9235ed1b84d", "bbd3845d02bf458d97afd6436f1e280a", "1065370f723242f8984e05cf26530cf1", "9cf01e946c54405bb74e07bf430041b5", "3c64431d66404104bf2f303273a5841e", "e1462ab40baf4f8ea689cab53cc84cc1", "1648524f76824a668f27c61a9af2c45f", "07d0d77fd65040eea64951c4e09df711", "248fe2bcbb444023a445a887bf688b27", "2c8b82db845344cc94e150e40d424351", "c69c8e2290ef455b86200857c3482106", "7981ffa7b98143c292112a3d7c351add", "6da849fc98cd4924ae31b73888ad5c57", "1611597d62fc4d2b84089537386415a0", "f10ebb2690704f88948b9d2a61e58eca", "f6cefc0ca9074c6c8325e5e632a008c3", "41b3991d65db41379015a97944dba52e", "40d934f8c6eb400188290e033b6365d7" ] }, "executionInfo": { "elapsed": 87195, "status": "ok", "timestamp": 1763670586369, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "XUQxOaFUp0cm", "outputId": "d7640a8f-67cd-430e-e845-bf0a83da4db6" }, "outputs": [], "source": [ "from datasets import load_dataset\n", "raw_data = load_dataset(\"pyronear/pyro-sdis\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0, "referenced_widgets": [ "9eac6c07af764c27beabc3d203483386", "0de8095dc4304baea4f84788a54f4d7e", "39d31f47fff340c0856f3b288f720d9a", "b22e3db1900d4255b8ea8d48387b8bf7", "4c86fa1664b4476293a4b1dadbc5ebd3", "c98f1f0aac584814bbfaea37e58f34da", "7ff4ba47703846759c87aefb73fb512c", "cfa15c8637e642169eca830474038029", "93644279f33d417a98d3d114562b89d5", "e3eb0e4681cd4e708560cccd5636d7ef", "0c5d84eb22c247f6a000189b36505bd0", "33b80482fa904bde88b0f25ffceab2fb", "b70ec72471b24e8fa8276527acce8219", "d5ae23277cd049e58f4c18f8474919d8", "1d928394369044a6ad6961f489313873", "038611466d4f46d89e9673c0595bab6c", "c610b4e2cf9d4f678b84975f91976da3", "a205ac65a9074bd484a8340778f2a68d", "9083aaeb524e4b7f89cf2b2f8d475236", "af17a4f4c8a34c9a83f55b7084aa7ec7", "af61668e80554744b12cbe9860637dd6", "d61d8d4963404e53aa89a59de0c1e759", "ae5f6bbcfcbb4b2b9c940acdb71d1508", "4e12eb559d1a4248b41df45de39a8984", "d870c6ac9f574993bd39a47c5e452a92", "73c2322487864186b5342fa27b22d015", "32f01addc4de42718413e1603f522c4e", "9b4503330fe74a0ea468087a4ed8ee8e", "c3e46f0f68aa4c4facf46d3908160b69", "daa19ff25c164a018c399e1f5599750e", "a698ced7582643d19a91db9294698aff", "77c17184a6b54f4eb88a9c2f7e045d00", "f1c9f61b9a484d0ca71395dd30130c17", "cd6b867f78b74b1eb1ee30c2e8a8a58a", "fd953b12712f467097d97d856784ff02", "92f8af95ee2b4b49a4b6ae3b2420a92a", "691b986ebfc146549cb1006ffb274e81", "25de4555d95d4f3a9c396a2f76f4ad79", "5212b9677a8d4766b6d6f6587b76722b", "97836b7dd2634825b3e11086c86921d3", "b508fde0b3194cec845114ee75efe674", "297a437ca9b24bdeacd4a183788a33cd", "508ff1e78fcb4912a68bc68a63582b6f", "1635f452f3e54cf886963843fd3ad05c" ] }, "executionInfo": { "elapsed": 52648, "status": "ok", "timestamp": 1763670639021, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "eFBasGmlo--j", "outputId": "5e7fa7fd-47d0-4af6-80d5-b5d6e11a6cff" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 29537\n", " })\n", " val: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 4099\n", " })\n", "})" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def add_target(example):\n", " if example[\"annotations\"] != \"\":\n", " example[\"target\"] = 1\n", " else:\n", " example[\"target\"] = 0\n", " return example\n", "\n", "hf_raw_data_target = raw_data.map(add_target)\n", "\n", "def add_source(example):\n", " example[\"source\"] = \"huggingface\"\n", " return example\n", "\n", "hf_raw_data_target = hf_raw_data_target.map(add_source)\n", "\n", "hf_raw_data_target\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 110, "status": "ok", "timestamp": 1763670639134, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "uBjyJwk76lRc", "outputId": "fb86aba2-06cd-4df7-9854-95357dfcf1c9" }, "outputs": [ { "data": { "text/plain": [ "{'image': ,\n", " 'annotations': '1 0.0670989 0.708931 0.134198 0.108047',\n", " 'image_name': 'sdis-07_brison-200_2024-01-15T14-32-36.jpg',\n", " 'partner': 'sdis-07',\n", " 'camera': 'brison-200',\n", " 'date': '2024-01-15T14-32-36',\n", " 'target': 1,\n", " 'source': 'huggingface'}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hf_raw_data_target['train'][0]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0 }, "executionInfo": { "elapsed": 730, "status": "ok", "timestamp": 1763670639866, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "6mh7aeC4bwTK", "outputId": "7fefd20f-e069-4f72-9715-3bd6c6de1324" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
splitfire (1)no_fire (0)total% fire% no_fire
0train2479247452953783.9416.06
1val3345754409981.6118.39
\n", "
" ], "text/plain": [ " split fire (1) no_fire (0) total % fire % no_fire\n", "0 train 24792 4745 29537 83.94 16.06\n", "1 val 3345 754 4099 81.61 18.39" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "from collections import Counter\n", "\n", "hf_train_targets = Counter(hf_raw_data_target[\"train\"][\"target\"])\n", "hf_val_targets = Counter(hf_raw_data_target[\"val\"][\"target\"])\n", "\n", "hf_train_total = hf_train_targets[0] + hf_train_targets[1]\n", "hf_val_total = hf_val_targets[0] + hf_val_targets[1]\n", "\n", "pd.DataFrame({\n", " \"split\": [\"train\", \"val\"],\n", " \"fire (1)\": [hf_train_targets[1], hf_val_targets[1]],\n", " \"no_fire (0)\": [hf_train_targets[0], hf_val_targets[0]],\n", " \"total\": [hf_train_total, hf_val_total],\n", " \"% fire\": [\n", " round(hf_train_targets[1] / hf_train_total * 100, 2),\n", " round(hf_val_targets[1] / hf_val_total * 100, 2),\n", " ],\n", " \"% no_fire\": [\n", " round(hf_train_targets[0] / hf_train_total * 100, 2),\n", " round(hf_val_targets[0] / hf_val_total * 100, 2),\n", " ]\n", "})\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "25SFHB8Ubu9E" }, "source": [ "## 2. charger le dataset Kaggle" ] }, { "cell_type": "markdown", "metadata": { "id": "jlwtex6G2k6G" }, "source": [ "**problèmes rencontrés :** \n", "la vérification de la distribution de ce dataset a montré que toutes images étaient étiquetées 'no_fire' après import.\n", "\n", "**solutions :** \n", "1/ identifier le nom l'index du label \n", "2/ utiliser l'index pour assigner les valeurs de la colonne target" ] }, { "cell_type": "markdown", "metadata": { "id": "jUzPs7XBb3lb" }, "source": [ "elmadafri/the-wildfire-dataset \n", "https://www.kaggle.com/datasets/elmadafri/the-wildfire-dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Google Colab" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# import os\n", "\n", "# base_path = \"/content/Fire_Detection_Project/Second_Dataset\"\n", "\n", "# train_path = os.path.join(base_path, \"train\")\n", "# test_path = os.path.join(base_path, \"test\")\n", "# val_path = os.path.join(base_path, \"val\")\n", "\n", "# print(train_path)\n", "# print(test_path)\n", "# print(val_path)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# from datasets import load_dataset\n", "\n", "# kaggle_raw_data_target = load_dataset(\n", "# \"imagefolder\",\n", "# data_dir=\"/content/drive/MyDrive/Colab_Notebooks/Fire_Detection_Project/Second_Dataset\",\n", "# )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Lightning AI" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Libs Install" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: pillow in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (12.0.0)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install pillow" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dataset Import" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/Fire_detection\n", "['Nina_Fire_detection_Project_Baseline.ipynb', '__pycache__', 'Nina_Fire_detection_Project_v2.ipynb', 'app.py', 'efficientnet_fire.pt', 'inference.py', 'Second_Dataset', 'Autres']\n" ] } ], "source": [ "import os\n", "\n", "print(os.getcwd())\n", "print(os.listdir(\".\"))\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "executionInfo": { "elapsed": 13, "status": "ok", "timestamp": 1763670639881, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "MOnCm4H0lnY0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Nina_Fire_detection_Project_Baseline.ipynb', '__pycache__', 'Nina_Fire_detection_Project_v2.ipynb', 'app.py', 'efficientnet_fire.pt', 'inference.py', 'Second_Dataset', 'Autres']\n", "['test', 'val', 'train']\n", "/teamspace/studios/this_studio/Fire_detection/Second_Dataset/train\n", "/teamspace/studios/this_studio/Fire_detection/Second_Dataset/test\n", "/teamspace/studios/this_studio/Fire_detection/Second_Dataset/val\n" ] } ], "source": [ "base_path = \"/teamspace/studios/this_studio/Fire_detection/Second_Dataset\"\n", "\n", "print(os.listdir(\"/teamspace/studios/this_studio/Fire_detection\"))\n", "print(os.listdir(\"/teamspace/studios/this_studio/Fire_detection/Second_Dataset\"))\n", "\n", "train_path = os.path.join(base_path, \"train\")\n", "test_path = os.path.join(base_path, \"test\")\n", "val_path = os.path.join(base_path, \"val\")\n", "\n", "print(train_path)\n", "print(test_path)\n", "print(val_path)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0, "referenced_widgets": [ "856c69c2b5fa4addb62700ba09975405", "ef49b9456f1041a8ad5d74701378c3ea", "33c09de7793047c7a3e29e4e9e714610", "43720b089e1e4625a37a3ba0e3d8cd97", "d86b1abfb4644e35be5244a053822860", "db746f267e294039b44e1a11b7db19b7", "39a229ece0bd42cfbed4a8fd397ee08f", "027a588b9e7a479995120c5095833f05", "9e07016a56ab4faeb4f59b94b547de4a", "e8fc86af42fe4bdf91441d7f994f7bd9", "d78ea1ea22c8444295a7b388505a9846", "51f99e28bc7e4df689af9233eec41c7f", "05e9c78e7f284794be50ceb25153f443", "8fd32e222cdc430a9c1131e922f6eaad", "6354b206898a4b039b534e28b69d1464", "5d36d17eb924479ebf680385857d8fc1", "1000ba9b3224476aac8389897f1a2ad7", "1c9f6c904d344aabbe3567d2fcd9b8fb", "322cdbb3af664f82a82f85ede840bcaa", "28140bf1bb9b40ff93098856da5beeba", "d65c35da7dbf4a13ab233c7b786e96c2", "ef21e988c54b4cc7944a5a6922d1f049", "649d08e896b941778168d283e05a3729", "7c491a3b5b564a839e8b3a993fc2a1d4", "2995394d0e53421ca746fd4e0b788f5f", "d297a999f6f54077b930afa1ce26e676", "8ef72ccb34bf4bcf9cef93ace54a085e", "26ce9144aa264394a3622d1c76eb5dbe", "d2029da3ffe44619bab3056abc8e3964", "52affcc64ccd4064950103cb639063bd", "f2c8cfae2c0f420f9955ad8abd96915b", "e42c2a7e714b4ee387892a21049e55d0", "7c82bc9e779748dd90342f5a62f0f9a7", "32d31eb8238f4c42b09bc57b7da2e9a8", "8b715c248b9d4508b27e9bd75e07280e", "d27265f1667b41cb850aaf7be0729fd5", "aab2e8f673f9478988a45885e8addcba", "650a2502b8e14885b67ffa3a8342449a", "12517746223248329e57a51f9255697f", "902df8eb9c07440eba03946ba0dfb5a5", "46fa56bcb25f448ba328df36d302490a", "2b5931d786e547ffab49ffe39432cdc4", "029dd99529504121b70328b5a7cd0b59", "12bca3cd16ac48368ace037f72efa2c7", "2db14f1ccc1e4433b0126106cb047423", "3aa3d424726349bea5ac4f713e618cc2", "220ebd39ffb54a5fa7117e9660371692", "54141319eb0c44eeb933a57ccac51cfe", "1a5f04da107042059386270c787276bf", "06eff1030a364d05a96e4941340eec99", "e6132baed48449f1b352b9952c13e75e", "2b3eca64843040969aeace7a342b344c", "317456f1105b4faf8854ba57aac48c5b", "07f2ef73c0d54687902b26f1fbf8841f", "8134972724414f9c9923c02036813ead", "bb0ba9fd2cdd4f63a9c6285c89254baa", "bf782aae97db4576912c142c5fd979d8", "9498faa9e0c94045b5f51a3cdde01e10", "623add02aa8a4c6aa28444163f2bcbe6", "87b1bc0ecff8489d8f80f879084681f7", "a14f3347620848b2ac88c3d1e4fac37d", "e7e42d486c954eb5a27bc0b86da7753e", "8a2a71816f4642c0bf366c4adb35f963", "b85b0fb0fb61498da8774254e9cdab58", "7a2b5d74cfb94644ad5070897dc37323", "538e6b227ce249b1894ab72f20d6e9ff", "8492e90bfe9242eaa4cb0a37e9b649d8", "7eb6633d9e5143bd855397970061873b", "6bbe3b99c4e14cb6b099e9aaec78123a", "cc1ae3d6752e4f4a8c064aae30baf120", "dfbdb4cf9bc44d61a4369722c6fc30b3", "251cd4dabfcd4c91b6ffc6ce5ad9050c", "5f66bb4879024f6890d60bba21e72b7f", "86d0583a2b924ca7bceae2a4f12f3982", "22c9464c083c4bad803a4cf1a4171064", "e8eca330f4df44c288837c3cc8c49955", "9fb9a40554ff4e6cbad2e05666835827", "e7b65cbc36054404bc8bf33bba924477", "467d9bf1568f4164bde63b4f3037b4f4", "1c12f680b75747c89dd70dd1b8bb1809", "c3460885a39a452c85bda819661b7b59", "e95b7dcef6c7445ca751923d50e81a59", "2383e6b3a55a4b4cbe694a564f51ca4f", "28530dce656d4eb9ae9c068305aeae05", "055c447ffd554c729e6b0529df791e5f", "5e8ce8c0b3504522b5a0cee11d3e5e33", "2ffa2492dc5842fa802c6afef9ffc97b", "8f6ccf98a08c4fa29a0be38b4f5f972d", "531f0cbeb8eb4cd3b46012613bc6f842", "0d95308389304777810db83dbc2ce20b", "9dec1036c3da48f78379edfc7ad7e880", "ad9cf81713124af18dbe2ead730cafa7", "a9dd2cfa26e0429eb4cb0c346fb1616d", "7a48e555648d460c9610fa5fed9e6b44", "c1a2a9ad14b544eabe341855bce1973e", "f76fee2586af4a2e9664c7781b5c883c", "8bbd8e58417b4bafb05b37f0f4f69025", "276ca767ec374eafbb30eef90b8dddaa", "a9b8b5ed732f46e78c68fe7ab34cbfa4" ] }, "executionInfo": { "elapsed": 15841, "status": "ok", "timestamp": 1763670655736, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "hg9z-_kg3dbL", "outputId": "f5d29aa4-ddd9-4308-decc-9613fa3bece6" }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "cc11a64ad5af465193f6f4f2b52a82a4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Resolving data files: 0%| | 0/1868 [00:00, 'label': 0}" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kaggle_raw_data_target['train'][0]" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 15, "status": "ok", "timestamp": 1763670656736, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "OXc0kNMZnh8I", "outputId": "4cdc7f92-46bd-4b79-eef2-694b7c37cbda" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['fire', 'nofire']\n" ] } ], "source": [ "print(kaggle_raw_data_target[\"train\"].features[\"label\"].names)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 6, "status": "ok", "timestamp": 1763670656743, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "zxVhgQvwqVft", "outputId": "b89438a4-db69-449a-bfa7-a200f1e900a0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "train -> fire: 721, no_fire: 1147, total: 1868\n", "validation -> fire: 155, no_fire: 245, total: 400\n", "test -> fire: 159, no_fire: 248, total: 407\n" ] } ], "source": [ "for split in [\"train\", \"validation\", \"test\"]: # boucle sur chaque split\n", " counts = Counter(kaggle_raw_data_target[split][\"label\"]) # compte les 0 et 1\n", " total = counts[0] + counts[1] # calcule le total d’images\n", " print(f\"{split} -> fire: {counts[0]}, no_fire: {counts[1]}, total: {total}\") # affiche le résumé" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 4, "status": "ok", "timestamp": 1763670656760, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "YXgnkUaro8q9", "outputId": "0bdad47b-f7e8-4ddc-c5ce-142ee883b102" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ID de la classe 'fire' : 0\n" ] } ], "source": [ "label_names = kaggle_raw_data_target[\"train\"].features[\"label\"].names # récupère la liste des noms de classes\n", "fire_id = label_names.index(\"fire\") # trouve l’indice correspondant à 'fire'\n", "\n", "print(\"ID de la classe 'fire' :\", fire_id)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0, "referenced_widgets": [ "7a6e5c6084304c2d8248e43b0425e697", "22385e9c909443e1ac83b52f4a9ba5e3", "85441f292d21430d9778c612b2f08e66", "d384a8364cb4442284f25dd50c297ec3", "f8781ed0341347659182abf6cc3d9b98", "fa21c96b946c4ce6bbbec3e0235ac678", "76ca0734e39b43eb9f9bcadc204ca040", "a61f5652878f40a9b2f09e969267bfa1", "a814ace4d9d84a319bd3d6bb3ddbae4f", "f0c1ac4e45884a2bb571272803d8d1e7", "2d26c4640ed5434fbe51dfd73a98d9e9", "f4ba2701de594b918dd6b616211f8cc2", "455f6b92fc5645e3b727632325bacf56", "c3e549d91ecc46e18c3ab53695035a4f", "feda3e6929ec4caa993bd29e641c3d30", "14601c70ac0b4386a0e5155fef935bad", "cd039f9394e84955b69ec8b3d7c4d683", "e7efdd59f10d4f02b6c449c39d11e90f", "629a1a72d1324a63a35293a7cf5d84e2", "faddfb678f14488f92f6419551d469f3", "4f2bd171940346368c652ea04bb2b7da", "85fb8efe99194fff8edfc87e25bb1d35", "5f54f8c87a2149dca50bde3c196ec8d4", "222ee258baa24bdabdb63d989e2461c0", "fd24f9abc9e642fdb1ae117471a3c9c9", "235a6b91beb14f5aba800d0429d89276", "c3239db42a6a4fb8acb01b634ef6357e", "062febff8426411ba96d6eb72bbbf3c6", "28acb5c6aa0d44649d0bbffbf23e70f2", "3868b2895dc84606bf4b49ed7eb0587b", "a7ea3a0931d241d28e4ff1a97c705a6d", "e134c1d2ee63496aad019e492da89330", "e88b8887fbfa4db98b240184334dd524" ] }, "executionInfo": { "elapsed": 123, "status": "ok", "timestamp": 1763670656884, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "OpJrs8la3s5K", "outputId": "de008dcd-c229-42e2-9c01-f0891c1717af" }, "outputs": [], "source": [ "def preprocess(example):\n", " example[\"target\"] = 1 if example[\"label\"] == fire_id else 0\n", " example[\"source\"] = \"kaggle\"\n", " return example\n", "\n", "kaggle_raw_data_target = kaggle_raw_data_target.map(preprocess)\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 1037, "status": "ok", "timestamp": 1763670657922, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "AgD_TfxX6UWl", "outputId": "dfc6491f-50f5-4c29-9fe6-3a039b7b5844" }, "outputs": [ { "data": { "text/plain": [ "{'image': ,\n", " 'label': 0,\n", " 'target': 1,\n", " 'source': 'kaggle'}" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kaggle_raw_data_target['validation'][0]" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 914, "status": "ok", "timestamp": 1763670658838, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "8YmNz-QY6Ue9", "outputId": "67e6324d-6337-4127-e6ca-4854c566720b" }, "outputs": [ { "data": { "text/plain": [ "{'image': ,\n", " 'label': 0,\n", " 'target': 1,\n", " 'source': 'kaggle'}" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kaggle_raw_data_target['test'][0]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 14, "status": "ok", "timestamp": 1763670658854, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "bzTLL_ih5XAI", "outputId": "fad11801-26b5-4c3a-c23b-d80a54be8531" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'label', 'target', 'source'],\n", " num_rows: 1868\n", " })\n", " validation: Dataset({\n", " features: ['image', 'label', 'target', 'source'],\n", " num_rows: 400\n", " })\n", " test: Dataset({\n", " features: ['image', 'label', 'target', 'source'],\n", " num_rows: 407\n", " })\n", "})" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kaggle_raw_data_target" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "executionInfo": { "elapsed": 11, "status": "ok", "timestamp": 1763670658937, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "IuLCTyla3tiH" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 1868\n", " })\n", " validation: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 400\n", " })\n", " test: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 407\n", " })\n", "})" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kaggle_raw_data_target = kaggle_raw_data_target.remove_columns(\n", " [c for c in kaggle_raw_data_target[\"train\"].column_names if c not in [\"image\", \"target\", \"source\"]]\n", ")\n", "\n", "kaggle_raw_data_target" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0 }, "executionInfo": { "elapsed": 28, "status": "ok", "timestamp": 1763670658974, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "qw6hloi4cPid", "outputId": "e7498036-f4c2-41d8-b19d-a4ec615aefeb" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
splitfire (1)no_fire (0)total% fire% no_fire
0train7211147186838.6061.40
1val15524540038.7561.25
2test15924840739.0762.00
\n", "
" ], "text/plain": [ " split fire (1) no_fire (0) total % fire % no_fire\n", "0 train 721 1147 1868 38.60 61.40\n", "1 val 155 245 400 38.75 61.25\n", "2 test 159 248 407 39.07 62.00" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "from collections import Counter\n", "\n", "kg_train_targets = Counter(kaggle_raw_data_target[\"train\"][\"target\"])\n", "kg_val_targets = Counter(kaggle_raw_data_target[\"validation\"][\"target\"])\n", "kg_test_targets = Counter(kaggle_raw_data_target[\"test\"][\"target\"])\n", "\n", "kg_train_total = kg_train_targets[0] + kg_train_targets[1]\n", "kg_val_total = kg_val_targets[0] + kg_val_targets[1]\n", "kg_test_total = kg_test_targets[0] + kg_test_targets[1]\n", "\n", "pd.DataFrame({\n", " \"split\": [\"train\", \"val\", \"test\"],\n", " \"fire (1)\": [kg_train_targets[1], kg_val_targets[1], kg_test_targets[1]],\n", " \"no_fire (0)\": [kg_train_targets[0], kg_val_targets[0], kg_test_targets[0]],\n", " \"total\": [kg_train_total, kg_val_total, kg_test_total],\n", " \"% fire\": [\n", " round(kg_train_targets[1] / kg_train_total * 100, 2),\n", " round(kg_val_targets[1] / kg_val_total * 100, 2),\n", " round(kg_test_targets[1] / kg_test_total * 100, 2),\n", " ],\n", " \"% no_fire\": [\n", " round(kg_train_targets[0] / kg_train_total * 100, 2),\n", " round(kg_val_targets[0] / kg_val_total * 100, 2),\n", " round(kg_test_targets[0] / kg_val_total * 100, 2),\n", " ]\n", "})" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0, "output_embedded_package_id": "1sgipzLmN4Iq5olbh9fnPmX7eZEeW6mEw", "referenced_widgets": [ "4e063f01b7c64fd29a2fd0a336525cf8", "c17f835c7f814dcc86a3c891267258f0", "0f6293184ca64734b574973e0a9be97d", "91776c26cfc44698bed53378d32cd4df", "37bd568af2da43bbb37e1e8a906e51fc", "5bc1c2fd08784b0d822d2127c31a22ad", "585dfa7f044445a8a96be79a921bc205", "26560443529f43ef97472416f050f8ba", "563d0d1c6c24495cae77048f0ed3f5ab", "d1e54f193a7d41caa2ea58a9e4959b59", "69725bfa7ac04fcda80ca678c84fe186" ] }, "collapsed": true, "executionInfo": { "elapsed": 80470, "status": "ok", "timestamp": 1763670739446, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "1l4y1O23sFjO", "outputId": "e21cea95-c672-4080-ccf1-515c6c12f53e" }, "outputs": [], "source": [ "# example = kaggle_raw_data_target[\"test\"].filter(lambda x: x[\"target\"] == 0)[0]\n", "# display(example[\"image\"])\n" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# example = kaggle_raw_data_target[\"test\"][0] # récupère le premier exemple du test\n", "# print(example[\"target\"], example[\"source\"]) # affiche la cible et la source\n", "# display(example[\"image\"]) # affiche l’image (dans un notebook)" ] }, { "cell_type": "markdown", "metadata": { "id": "KOeFgTLO9lTE" }, "source": [ "## 3. fusion des deux datasets" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 19, "status": "ok", "timestamp": 1763670741422, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "ODjyj9w79tWQ", "outputId": "a0196946-f5e8-4bc8-df2f-30f4b9f2529d" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 29537\n", " })\n", " val: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 4099\n", " })\n", "})" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hf_raw_data_target" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 4, "status": "ok", "timestamp": 1763670741428, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "J2bDCRkL9s13", "outputId": "d37953cf-d9c2-4f59-f9a6-14658a01b3ed" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 1868\n", " })\n", " validation: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 400\n", " })\n", " test: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 407\n", " })\n", "})" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kaggle_raw_data_target" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "executionInfo": { "elapsed": 1, "status": "ok", "timestamp": 1763670741431, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "7UiD-ryv36Qs" }, "outputs": [], "source": [ "from datasets import DatasetDict, concatenate_datasets\n", "\n", "merged_data_target = DatasetDict({\n", " \"train\": concatenate_datasets([hf_raw_data_target[\"train\"], kaggle_raw_data_target[\"train\"]]),\n", " \"val\": concatenate_datasets([hf_raw_data_target[\"val\"], kaggle_raw_data_target[\"validation\"], kaggle_raw_data_target[\"test\"]]),\n", "})\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 4, "status": "ok", "timestamp": 1763670741435, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "zECYR-S59WlC", "outputId": "ed0bb424-0a72-4806-964b-dccafe12eddc" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 31405\n", " })\n", " val: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 4906\n", " })\n", "})" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged_data_target" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 4, "status": "ok", "timestamp": 1763670741440, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "C6KYG-Q65799", "outputId": "99f33700-9050-4910-838b-ae3a66c6e0ae" }, "outputs": [ { "data": { "text/plain": [ "{'image': ,\n", " 'annotations': '1 0.0670989 0.708931 0.134198 0.108047',\n", " 'image_name': 'sdis-07_brison-200_2024-01-15T14-32-36.jpg',\n", " 'partner': 'sdis-07',\n", " 'camera': 'brison-200',\n", " 'date': '2024-01-15T14-32-36',\n", " 'target': 1,\n", " 'source': 'huggingface'}" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged_data_target['train'][0]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 3, "status": "ok", "timestamp": 1763670741443, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "yEABTovCBDow", "outputId": "c2cc7f68-f734-46ec-fc63-0fdc317b6d14" }, "outputs": [ { "data": { "text/plain": [ "{'image': ,\n", " 'annotations': None,\n", " 'image_name': None,\n", " 'partner': None,\n", " 'camera': None,\n", " 'date': None,\n", " 'target': 0,\n", " 'source': 'kaggle'}" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged_data_target['val'][4285]" ] }, { "cell_type": "markdown", "metadata": { "id": "7SvQAhRZBoha" }, "source": [ "## 4. afficher quelques images pour vérifier et compter les classes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### libs install" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: matplotlib in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (3.10.7)\n", "Requirement already satisfied: contourpy>=1.0.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (1.3.3)\n", "Requirement already satisfied: cycler>=0.10 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (0.12.1)\n", "Requirement already satisfied: fonttools>=4.22.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (4.60.1)\n", "Requirement already satisfied: kiwisolver>=1.3.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (1.4.9)\n", "Requirement already satisfied: numpy>=1.23 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (2.3.5)\n", "Requirement already satisfied: packaging>=20.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (25.0)\n", "Requirement already satisfied: pillow>=8 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (12.0.0)\n", "Requirement already satisfied: pyparsing>=3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (3.2.5)\n", "Requirement already satisfied: python-dateutil>=2.7 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from matplotlib) (2.9.0.post0)\n", "Requirement already satisfied: six>=1.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### checks" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "executionInfo": { "elapsed": 1, "status": "ok", "timestamp": 1763670741447, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "J-IhONzcB0cV" }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import random\n", "\n", "merged_data_train_target = merged_data_target[\"train\"]\n", "merged_data_val_target = merged_data_target[\"val\"]" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0 }, "executionInfo": { "elapsed": 29, "status": "ok", "timestamp": 1763670741477, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "KsHrGWzICk9R", "outputId": "7b46b752-6573-425c-bf48-6e79ab3d372f" }, "outputs": [], "source": [ "# plt.figure(figsize=(15, 8)) # taille du \"canvas\" des images\n", "\n", "# for i in range(5): # on veut afficher 5 images\n", "# index = random.randint(0, len(merged_data_train_target) - 1) # choisir une image aléatoire\n", "# sample = merged_data_train_target[index] # récupérer l'exemple\n", "# img = sample[\"image\"] # c'est une image PIL directement utilisable\n", "# target = sample[\"target\"] # target\n", "\n", "# # Sous-plot\n", "# plt.subplot(1, 5, i + 1) # 1 ligne, 5 colonnes, image n°i+1\n", "# plt.imshow(img) # afficher l'image\n", "# plt.axis(\"off\") # enlever les axes\n", "# plt.title(\"FIRE\" if target == 1 else \"NO FIRE\") # afficher le label\n", "\n", "# plt.show() # afficher toutes les images" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0 }, "executionInfo": { "elapsed": 512, "status": "ok", "timestamp": 1763670741991, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "2Ugy33bODO_j", "outputId": "8bdb5423-2556-485b-cad7-aac5889ec011" }, "outputs": [], "source": [ "# plt.figure(figsize=(15, 8)) # taille du \"canvas\" des images\n", "\n", "# for i in range(5): # on veut afficher 5 images\n", "# index = random.randint(0, len(merged_data_val_target) - 1) # choisir une image aléatoire\n", "# sample = merged_data_val_target[index] # récupérer l'exemple\n", "# img = sample[\"image\"] # c'est une image PIL directement utilisable\n", "# target = sample[\"target\"] # target\n", "\n", "# # Sous-plot\n", "# plt.subplot(1, 5, i + 1) # 1 ligne, 5 colonnes, image n°i+1\n", "# plt.imshow(img) # afficher l'image\n", "# plt.axis(\"off\") # enlever les axes\n", "# plt.title(\"FIRE\" if target == 1 else \"NO FIRE\") # afficher le label\n", "\n", "# plt.show() # afficher toutes les images" ] }, { "cell_type": "markdown", "metadata": { "id": "0vCXjzNdB1Bb" }, "source": [ "## 5. distribution de la cible fire/no_fire (0/1)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 8, "status": "ok", "timestamp": 1763670742001, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "KbJ_6ufRIxIa", "outputId": "28c2cdac-2daa-4494-99df-220d6d89fa55" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 31405\n", " })\n", " val: Dataset({\n", " features: ['image', 'annotations', 'image_name', 'partner', 'camera', 'date', 'target', 'source'],\n", " num_rows: 4906\n", " })\n", "})" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged_data_target" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 203 }, "executionInfo": { "elapsed": 348, "status": "ok", "timestamp": 1763670742352, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "bIQ43GuxB4Q_", "outputId": "0428fb6a-ff04-460c-9127-07277bf6c696" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
splitfire (1)no_fire (0)total% fire% no_fire
0train2551358923140581.2418.76
1val36591247490674.5825.42
2train+val2917271393631180.3419.66
\n", "
" ], "text/plain": [ " split fire (1) no_fire (0) total % fire % no_fire\n", "0 train 25513 5892 31405 81.24 18.76\n", "1 val 3659 1247 4906 74.58 25.42\n", "2 train+val 29172 7139 36311 80.34 19.66" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "from collections import Counter\n", "\n", "# Compte les labels dans train et val\n", "train_targets = Counter(merged_data_target[\"train\"][\"target\"]) # compte 0 et 1 dans train\n", "val_targets = Counter(merged_data_target[\"val\"][\"target\"]) # compte 0 et 1 dans val\n", "\n", "# Totaux par split\n", "train_total = train_targets[0] + train_targets[1] # total train\n", "val_total = val_targets[0] + val_targets[1] # total val\n", "\n", "# Totaux globaux (train + val)\n", "total_fire = train_targets[1] + val_targets[1] # total de fire (1) sur train+val\n", "total_no_fire = train_targets[0] + val_targets[0] # total de no_fire (0) sur train+val\n", "total_labels = total_fire + total_no_fire # total global d'images\n", "\n", "# Tableau récapitulatif\n", "df = pd.DataFrame({\n", " \"split\": [\"train\", \"val\", \"train+val\"],\n", " \"fire (1)\": [train_targets[1], val_targets[1], total_fire],\n", " \"no_fire (0)\": [train_targets[0], val_targets[0], total_no_fire],\n", " \"total\": [train_total, val_total, total_labels],\n", " \"% fire\": [\n", " round(train_targets[1] / train_total * 100, 2),\n", " round(val_targets[1] / val_total * 100, 2),\n", " round(total_fire / total_labels * 100, 2),\n", " ],\n", " \"% no_fire\": [\n", " round(train_targets[0] / train_total * 100, 2),\n", " round(val_targets[0] / val_total * 100, 2),\n", " round(total_no_fire / total_labels * 100, 2),\n", " ]\n", "})\n", "\n", "df\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 507 }, "executionInfo": { "elapsed": 225, "status": "ok", "timestamp": 1763670743034, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "ibkGJc5MOAes", "outputId": "314e7ab9-9a3a-4600-9029-a3374e7abc06" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAftpJREFUeJzs3Xt8z/X///H7Njaz2Rh2ysxQmOMnhVFMlmE5RIrEnOMz+gw5lbO0EqGcPn3IVPYRfaJQmMMIU4zlrAirGDltjjPb6/dHv72+3jZsbO+x3a6Xy/vy8X6+Hu/n6/F69972+Dzer9fraWMYhiEAAAAAAADAimzzOwEAAAAAAAAUPjSlAAAAAAAAYHU0pQAAAAAAAGB1NKUAAAAAAABgdTSlAAAAAAAAYHU0pQAAAAAAAGB1NKUAAAAAAABgdTSlAAAAAAAAYHU0pQAAAAAAAGB1NKWAfDRu3DjZ2NhYZV+BgYEKDAw0n8fExMjGxkZfffWVVfbfvXt3VahQwSr7yo6M44+JicnvVCw8rHnltvT0dNWoUUOTJk2y6n4f5HM4YsQI1a9fP3cTAoAChtom/zysNcTDmldus0Ztc/z4cdnY2CgyMtIcy8nPnI2NjcaNG5erOd3+c5gXqMEKNppSQC6JjIyUjY2N+ShWrJi8vb0VHBysjz76SJcuXcqV/Zw8eVLjxo1TfHx8rsyXmx7m3PBw+e9//6vff/9dAwYMkCSLn527PfKzoA0PD9fPP/+sb7/9Nt9yAABrorZ5uHPDw+X22qZNmzYqXrz4XX9OunTpInt7e507d85aad6XAwcOaNy4cTp+/Hi+7J8arGArkt8JAAXNhAkT5Ofnp9TUVCUmJiomJkbh4eH68MMP9e2336pWrVpm7KhRozRixIgczX/y5EmNHz9eFSpUUJ06dbL9urVr1+ZoP/fjbrn95z//UXp6ep7ngEfDBx98oE6dOsnV1VWS9Pnnn1ts/+yzzxQdHZ1pvFq1ag+03wf5HHp6eqpt27aaMmWK2rRp80B5AMCjhNqG2gb3dntt06VLF61YsULLli1Tt27dMsVfvXpV33zzjVq0aKHSpUvf937v52cupw4cOKDx48crMDAw09mB1vg5pAYr2GhKAbmsZcuWeuqpp8znI0eO1IYNG/TCCy+oTZs2OnjwoBwdHSVJRYoUUZEieftjePXqVRUvXlz29vZ5up97KVq0aL7uHw+P3bt36+eff9bUqVPNsddee80iZvv27YqOjs40fruMz3d2Pejn8OWXX1bHjh3122+/qWLFig80FwA8KqhtskZtgwxZ1TZt2rRRiRIlFBUVlWVT6ptvvtGVK1fUpUuXB9q3NX7m7sZaP4fUYAUXl+8BVvDcc89p9OjROnHihL744gtzPKtrwKOjo/XMM8+oZMmScnZ2VpUqVfTWW29J+vua/KefflqS1KNHD/N0+ozrygMDA1WjRg3FxcWpcePGKl68uPnaO13vnZaWprfeekuenp5ycnJSmzZt9Pvvv1vEVKhQQd27d8/02lvnvFduWd134cqVKxoyZIh8fHzk4OCgKlWqaMqUKTIMwyLOxsZGAwYM0PLly1WjRg05ODioevXqWr16ddZv+G3++OMPtWvXTk5OTnJ3d9egQYOUkpKSZeyPP/6oFi1ayNXVVcWLF1eTJk20detWi5hLly4pPDxcFSpUkIODg9zd3fX8889r165d98zlzz//VK9eveTt7S0HBwf5+fmpf//+unHjxh1f88MPP6hjx44qX768HBwc5OPjo0GDBunatWsWcYmJierRo4fKlSsnBwcHeXl5qW3bthanWu/cuVPBwcEqU6aMHB0d5efnp549e1rMk56erunTp6t69eoqVqyYPDw89Prrr+vChQsWcdmZKyvLly+Xvb29GjdufM/YW93t8/3NN98oJCTEfF8rVaqkiRMnKi0tzWKO2z+HGfdmmDJlij755BNVqlRJDg4Oevrpp7Vjx45MOQQFBZn7A4DCjNqG2iYDtU3WtY2jo6Pat2+v9evX68yZM5leExUVpRIlSqhNmzY6f/683nzzTdWsWVPOzs5ycXFRy5Yt9fPPP99z31n9zKWkpGjQoEEqW7asuY8//vgj02tPnDihf/7zn6pSpYocHR1VunRpdezY0eL9jYyMVMeOHSVJTZs2zXRLhax+Ds+cOaNevXrJw8NDxYoVU+3atbVw4UKLGGowZOBMKcBKunbtqrfeektr165Vnz59sozZv3+/XnjhBdWqVUsTJkyQg4ODjhw5YhYO1apV04QJEzRmzBj17dtXzz77rCSpYcOG5hznzp1Ty5Yt1alTJ7322mvy8PC4a16TJk2SjY2Nhg8frjNnzmj69OkKCgpSfHy8+a1ndmQnt1sZhqE2bdpo48aN6tWr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6ZnltrNnz+rXX3/V/PnzVatWLXO/s2fP1r59++Tp6amDBw+qU6dOeuKJJ9S3b1998sknkqTU1FT169dP8+bNk52d3f0cMh4inCkFACiwtm3bprZt2yokJEQVKlTQSy+9pObNm1uc1dS1a1eNGTNGQUFB2Z530aJF+uc//6k6deqoatWqmjdvntLT07V+/XqLuD///FMDBw7UokWLVLRoUYttBw8eVJs2bVS9enWFhYXpr7/+0tmzZyVJ/fv31/vvv8/qZAAAwKpu3LihL774Qj179jTPirp69apeffVVzZo1645NpqzExMTI3d1dVapUUf/+/XXu3DlzW+nSpVWlShV99tlnunLlim7evKl///vfcnd3V926dSVJtWvX1oYNG3Tz5k2tWbPGbF5NnjxZgYGBeuqpp3LxyJFfaEoBAAqshg0bav369frll18kST///LO2bNmili1b5up+rl69qtTUVLm5uZlj6enp6tq1q4YOHarq1atnek3t2rW1ZcsWXbt2TWvWrJGXl5fKlCmjRYsWqVixYnrxxRdzNUcAAIB7Wb58uS5evKju3bubY4MGDVLDhg3Vtm3bbM/TokULffbZZ1q/fr3ef/99bdq0SS1btlRaWpokycbGRuvWrdPu3btVokQJFStWTB9++KFWr16tUqVKSZJGjBihIkWKqFKlSlq2bJnmz5+vX3/9VQsXLtTo0aPVr18/VaxYUS+//LKSkpJy9X2A9XD5HgCgwBoxYoSSk5NVtWpV2dnZKS0tTZMmTVKXLl1ydT/Dhw+Xt7e3xdlW77//vooUKWJeJni7nj17as+ePfL391eZMmW0ZMkSXbhwQWPGjFFMTIxGjRqlxYsXq1KlSvr0008zXRYIAACQ2+bPn6+WLVuatx349ttvtWHDhkw3Gb+XTp06mf+uWbOmatWqpUqVKikmJkbNmjWTYRgKCwuTu7u7fvjhBzk6OmrevHlq3bq1duzYIS8vL7m6uioqKspi3ueee04ffPCBFi1apN9++02HDx9Wnz59NGHCBG56/ojiTCkAQIG1ZMkSLVq0SFFRUdq1a5cWLlyoKVOmaOHChbm2j/fee0+LFy/WsmXLVKxYMUlSXFycZsyYocjIyDveELRo0aKaNWuWjh07ph07duiZZ57RkCFD9MYbb2j37t1avny5fv75ZzVo0OCOjS0AAIDccuLECa1b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BSsdDQAAKEg4UwoAAKAAS0xMlCR5eHhYjHt4eJjbEhMT5e7ubrG9SJEicnNzs4jx8/PLNEfGtlKlSmXad0pKilJSUsznycnJD3g0AACgIOFMKQAAAOSJiIgIubq6mg8fH5/8TgkAADxEaEoBAAAUYJ6enpKk06dPW4yfPn3a3Obp6akzZ85YbL9586bOnz9vEZPVHLfu43YjR45UUlKS+fj9998f/IAAAECBQVMKBdq9lsi+fPmyBgwYoHLlysnR0VH+/v6aO3fuXecMDAyUjY1NpkdISIhF3MGDB9WmTRu5urrKyclJTz/9tBISEsztgwcPlpubm3x8fLRo0SKL1y5dulStW7d+sIMHAECSn5+fPD09tX79enMsOTlZP/74owICAiRJAQEBunjxouLi4syYDRs2KD09XfXr1zdjNm/erNTUVDMmOjpaVapUyfLSPUlycHCQi4uLxQMAACADTSkUaPdaInvw4MFavXq1vvjiCx08eFDh4eEaMGCAvv322zvO+fXXX+vUqVPmY9++fbKzs1PHjh3NmKNHj+qZZ55R1apVFRMToz179mj06NEqVqyYJGnFihWKiorS2rVrNXnyZPXu3Vtnz56VJCUlJentt9++Y84AANzu8uXLio+PV3x8vKS/b24eHx+vhIQE2djYKDw8XO+8846+/fZb7d27V926dZO3t7fatWsnSapWrZpatGihPn366KefftLWrVs1YMAAderUSd7e3pKkV199Vfb29urVq5f279+vL7/8UjNmzNDgwYPz6agBAMCjjhudo0C72xLZkrRt2zaFhoYqMDBQktS3b1/9+9//1k8//aQ2bdpk+Ro3NzeL54sXL1bx4sUtmlJvv/22WrVqpcmTJ5tjlSpVMv998OBBBQYG6qmnntJTTz2l8PBwHTt2TGXKlNGwYcPUv39/lS9f/n4OGQBQCO3cuVNNmzY1n2c0ikJDQxUZGalhw4bpypUr6tu3ry5evKhnnnlGq1evNr8skaRFixZpwIABatasmWxtbdWhQwd99NFH5nZXV1etXbtWYWFhqlu3rsqUKaMxY8aob9++1jtQAABQoNCUQqHWsGFDffvtt+rZs6e8vb0VExOjX375RdOmTcv2HPPnz1enTp3k5OQkSUpPT9eqVas0bNgwBQcHa/fu3fLz89PIkSPNb6Rr166tTz75RBcuXNBvv/2m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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# -----------------------------------------------------------\n", "# Préparation des données\n", "# -----------------------------------------------------------\n", "\n", "# Dictionnaires des counts\n", "train_counts = {\n", " \"no_fire (0)\": train_targets[0],\n", " \"fire (1)\": train_targets[1]\n", "}\n", "\n", "val_counts = {\n", " \"no_fire (0)\": val_targets[0],\n", " \"fire (1)\": val_targets[1]\n", "}\n", "\n", "# Pourcentages\n", "train_percent = {\n", " \"no_fire (0)\": train_targets[0] / train_total * 100,\n", " \"fire (1)\": train_targets[1] / train_total * 100\n", "}\n", "\n", "val_percent = {\n", " \"no_fire (0)\": val_targets[0] / val_total * 100,\n", " \"fire (1)\": val_targets[1] / val_total * 100\n", "}\n", "\n", "# -----------------------------------------------------------\n", "# Création du graphique\n", "# -----------------------------------------------------------\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(12, 5))\n", "\n", "# ----- Graphique Train -----\n", "axes[0].bar(train_counts.keys(), train_counts.values())\n", "axes[0].set_title(\"Distribution des classes (Train)\")\n", "axes[0].set_ylabel(\"Nombre d'images\")\n", "\n", "# Ajout des pourcentages au-dessus des barres\n", "for i, (label, value) in enumerate(train_counts.items()):\n", " pct = train_percent[label]\n", " axes[0].text(i, value + train_total * 0.01, f\"{pct:.2f}%\", ha='center')\n", "\n", "# ----- Graphique Val -----\n", "axes[1].bar(val_counts.keys(), val_counts.values())\n", "axes[1].set_title(\"Distribution des classes (Validation)\")\n", "axes[1].set_ylabel(\"Nombre d'images\")\n", "\n", "# Ajout des pourcentages\n", "for i, (label, value) in enumerate(val_counts.items()):\n", " pct = val_percent[label]\n", " axes[1].text(i, value + val_total * 0.01, f\"{pct:.2f}%\", ha='center')\n", "\n", "plt.tight_layout()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": { "id": "D41DpF7wSeoZ" }, "source": [ "dataset très déséquilibré. \n", "risque de de prédire 'fire' plus souvent --> accuracy trompeuse, fort taux de faux positifs.\n", "\n", "utiliser class weights dans la fonction de perte (CrossEntropy) \n", "surveiller d’autres métriques que accuracy \n", "analyser les performances sur la classe NO_FIRE \n", "analyser les faux positifs / faux négatifs " ] }, { "cell_type": "markdown", "metadata": { "id": "g5qmMg3yOmyt" }, "source": [ "## 6. les transformations d’images" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### libs install" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: timm in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (1.0.22)\n", "Requirement already satisfied: torch in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from timm) (2.9.1)\n", "Requirement already satisfied: torchvision in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from timm) (0.24.1)\n", "Requirement already satisfied: pyyaml in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from timm) (6.0.3)\n", "Requirement already satisfied: huggingface_hub in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from timm) (1.1.5)\n", "Requirement already satisfied: safetensors in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from timm) (0.7.0)\n", "Requirement already satisfied: filelock in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (3.20.0)\n", "Requirement already satisfied: fsspec>=2023.5.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (2025.10.0)\n", "Requirement already satisfied: hf-xet<2.0.0,>=1.2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (1.2.0)\n", "Requirement already satisfied: httpx<1,>=0.23.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (0.28.1)\n", "Requirement already satisfied: packaging>=20.9 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (25.0)\n", "Requirement already satisfied: shellingham in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (1.5.4)\n", "Requirement already satisfied: tqdm>=4.42.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (4.67.1)\n", "Requirement already satisfied: typer-slim in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (0.20.0)\n", "Requirement already satisfied: typing-extensions>=3.7.4.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from huggingface_hub->timm) (4.15.0)\n", "Requirement already satisfied: anyio in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1,>=0.23.0->huggingface_hub->timm) (4.11.0)\n", "Requirement already satisfied: certifi in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1,>=0.23.0->huggingface_hub->timm) (2025.11.12)\n", "Requirement already satisfied: httpcore==1.* in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1,>=0.23.0->huggingface_hub->timm) (1.0.9)\n", "Requirement already satisfied: idna in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpx<1,>=0.23.0->huggingface_hub->timm) (3.11)\n", "Requirement already satisfied: h11>=0.16 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->huggingface_hub->timm) (0.16.0)\n", "Requirement already satisfied: sniffio>=1.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from anyio->httpx<1,>=0.23.0->huggingface_hub->timm) (1.3.1)\n", "Requirement already satisfied: sympy>=1.13.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (1.14.0)\n", "Requirement already satisfied: networkx>=2.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (3.5)\n", "Requirement already satisfied: jinja2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (3.1.6)\n", "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (12.8.93)\n", "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (12.8.90)\n", "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (12.8.90)\n", "Requirement already satisfied: nvidia-cudnn-cu12==9.10.2.21 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (9.10.2.21)\n", "Requirement already satisfied: nvidia-cublas-cu12==12.8.4.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (12.8.4.1)\n", "Requirement already satisfied: nvidia-cufft-cu12==11.3.3.83 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (11.3.3.83)\n", "Requirement already satisfied: nvidia-curand-cu12==10.3.9.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (10.3.9.90)\n", "Requirement already satisfied: nvidia-cusolver-cu12==11.7.3.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (11.7.3.90)\n", "Requirement already satisfied: nvidia-cusparse-cu12==12.5.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (12.5.8.93)\n", "Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (0.7.1)\n", "Requirement already satisfied: nvidia-nccl-cu12==2.27.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (2.27.5)\n", "Requirement already satisfied: nvidia-nvshmem-cu12==3.3.20 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (3.3.20)\n", "Requirement already satisfied: nvidia-nvtx-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (12.8.90)\n", "Requirement already satisfied: nvidia-nvjitlink-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (12.8.93)\n", "Requirement already satisfied: nvidia-cufile-cu12==1.13.1.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (1.13.1.3)\n", "Requirement already satisfied: triton==3.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch->timm) (3.5.1)\n", "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from sympy>=1.13.3->torch->timm) (1.3.0)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from jinja2->torch->timm) (3.0.3)\n", "Requirement already satisfied: numpy in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torchvision->timm) (2.3.5)\n", "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torchvision->timm) (12.0.0)\n", "Requirement already satisfied: click>=8.0.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from typer-slim->huggingface_hub->timm) (8.3.1)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install timm" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: torchvision in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (0.24.1)\n", "Requirement already satisfied: numpy in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torchvision) (2.3.5)\n", "Requirement already satisfied: torch==2.9.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torchvision) (2.9.1)\n", "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torchvision) (12.0.0)\n", "Requirement already satisfied: filelock in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (3.20.0)\n", "Requirement already satisfied: typing-extensions>=4.10.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (4.15.0)\n", "Requirement already satisfied: sympy>=1.13.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (1.14.0)\n", "Requirement already satisfied: networkx>=2.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (3.5)\n", "Requirement already satisfied: jinja2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (3.1.6)\n", "Requirement already satisfied: fsspec>=0.8.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (2025.10.0)\n", "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (12.8.93)\n", "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (12.8.90)\n", "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (12.8.90)\n", "Requirement already satisfied: nvidia-cudnn-cu12==9.10.2.21 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (9.10.2.21)\n", "Requirement already satisfied: nvidia-cublas-cu12==12.8.4.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (12.8.4.1)\n", "Requirement already satisfied: nvidia-cufft-cu12==11.3.3.83 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (11.3.3.83)\n", "Requirement already satisfied: nvidia-curand-cu12==10.3.9.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (10.3.9.90)\n", "Requirement already satisfied: nvidia-cusolver-cu12==11.7.3.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (11.7.3.90)\n", "Requirement already satisfied: nvidia-cusparse-cu12==12.5.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (12.5.8.93)\n", "Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (0.7.1)\n", "Requirement already satisfied: nvidia-nccl-cu12==2.27.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (2.27.5)\n", "Requirement already satisfied: nvidia-nvshmem-cu12==3.3.20 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (3.3.20)\n", "Requirement already satisfied: nvidia-nvtx-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (12.8.90)\n", "Requirement already satisfied: nvidia-nvjitlink-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (12.8.93)\n", "Requirement already satisfied: nvidia-cufile-cu12==1.13.1.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (1.13.1.3)\n", "Requirement already satisfied: triton==3.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch==2.9.1->torchvision) (3.5.1)\n", "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from sympy>=1.13.3->torch==2.9.1->torchvision) (1.3.0)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from jinja2->torch==2.9.1->torchvision) (3.0.3)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install torchvision" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: torch in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (2.9.1)\n", "Requirement already satisfied: filelock in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.20.0)\n", "Requirement already satisfied: typing-extensions>=4.10.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (4.15.0)\n", "Requirement already satisfied: sympy>=1.13.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (1.14.0)\n", "Requirement already satisfied: networkx>=2.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.5)\n", "Requirement already satisfied: jinja2 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.1.6)\n", "Requirement already satisfied: fsspec>=0.8.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (2025.10.0)\n", "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.93)\n", "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-cudnn-cu12==9.10.2.21 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (9.10.2.21)\n", "Requirement already satisfied: nvidia-cublas-cu12==12.8.4.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.4.1)\n", "Requirement already satisfied: nvidia-cufft-cu12==11.3.3.83 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (11.3.3.83)\n", "Requirement already satisfied: nvidia-curand-cu12==10.3.9.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (10.3.9.90)\n", "Requirement already satisfied: nvidia-cusolver-cu12==11.7.3.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (11.7.3.90)\n", "Requirement already satisfied: nvidia-cusparse-cu12==12.5.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.5.8.93)\n", "Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (0.7.1)\n", "Requirement already satisfied: nvidia-nccl-cu12==2.27.5 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (2.27.5)\n", "Requirement already satisfied: nvidia-nvshmem-cu12==3.3.20 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.3.20)\n", "Requirement already satisfied: nvidia-nvtx-cu12==12.8.90 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.90)\n", "Requirement already satisfied: nvidia-nvjitlink-cu12==12.8.93 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (12.8.93)\n", "Requirement already satisfied: nvidia-cufile-cu12==1.13.1.3 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (1.13.1.3)\n", "Requirement already satisfied: triton==3.5.1 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from torch) (3.5.1)\n", "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from sympy>=1.13.3->torch) (1.3.0)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from jinja2->torch) (3.0.3)\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install torch" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### image transforms" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "executionInfo": { "elapsed": 64953, "status": "ok", "timestamp": 1763670807988, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "Vsz2UGxQL-eO" }, "outputs": [], "source": [ "import timm" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 2691, "status": "ok", "timestamp": 1763670810681, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "giy6NefGXu-a", "outputId": "084d379c-499e-4e4d-aa8b-5fa4e430df2a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "efficientnet_b0 → (3, 224, 224)\n", "efficientnet_b1 → (3, 240, 240)\n", "efficientnet_b2 → (3, 256, 256)\n", "efficientnet_b3 → (3, 288, 288)\n", "efficientnet_b4 → (3, 320, 320)\n", "efficientnet_b5 → (3, 448, 448)\n", "efficientnet_b6 → (3, 528, 528)\n", "efficientnet_b7 → (3, 600, 600)\n" ] } ], "source": [ "for m in [\"efficientnet_b0\", \"efficientnet_b1\", \"efficientnet_b2\", \"efficientnet_b3\", \"efficientnet_b4\", \"efficientnet_b5\", \"efficientnet_b6\", \"efficientnet_b7\"]:\n", " model = timm.create_model(m, pretrained=False)\n", " print(m, \" → \", model.default_cfg[\"input_size\"])\n" ] }, { "cell_type": "markdown", "metadata": { "id": "I6fLkgT4bc0b" }, "source": [ "modèles pas pré-entrainés : \n", "efficientnet_b6 → (3, 528, 528) \n", "efficientnet_b7 → (3, 600, 600)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "executionInfo": { "elapsed": 3, "status": "ok", "timestamp": 1763670810699, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "uzWVodWCUwHu" }, "outputs": [], "source": [ "# -----------------------------------------------------------\n", "# 1) Import des librairies nécessaires pour les transformations\n", "# -----------------------------------------------------------\n", "from torchvision import transforms # contient les outils de prétraitement d'images pour PyTorch\n", "\n", "# -----------------------------------------------------------\n", "# 2) Définition des hyperparamètres de base liés aux images\n", "# -----------------------------------------------------------\n", "IMAGE_SIZE = 224 # taille d'entrée pour EfficientNet (224 x 224 pixels)\n", "\n", "# Moyennes des canaux RGB pour ImageNet (ordre : R, G, B)\n", "IMAGENET_MEAN = [0.485, 0.456, 0.406] # utilisé pour normaliser les images comme lors du pré-entraînement\n", "\n", "# Écarts-types des canaux RGB pour ImageNet\n", "IMAGENET_STD = [0.229, 0.224, 0.225] # utilisé pour ramener les valeurs de pixels à une échelle adaptée au modèle\n", "\n", "# -----------------------------------------------------------\n", "# 3) Transformations pour le TRAIN (avec légère augmentation)\n", "# -----------------------------------------------------------\n", "transform_train = transforms.Compose([ # Compose permet de chaîner plusieurs transformations\n", "\n", " transforms.Lambda(lambda img: img.convert(\"RGB\")), # forcer l'image en RGB (3 canaux)\n", "\n", " transforms.RandomResizedCrop(\n", " size=IMAGE_SIZE,\n", " scale=(0.8, 1.0),\n", " ratio=(0.8, 1.2),\n", " ),\n", "\n", " transforms.RandomHorizontalFlip(p=0.5), # retourne l'image horizontalement avec une probabilité de 50% (data augmentation simple)\n", "\n", " transforms.ColorJitter(\n", " brightness=0.2,\n", " contrast=0.2,\n", " saturation=0.1\n", " ),\n", "\n", " transforms.GaussianBlur(kernel_size=3, sigma=(0.1, 1.0)), # images un peu floues\n", "\n", " transforms.ToTensor(), # convertit l'image PIL (0-255) en tenseur PyTorch (0.0-1.0)\n", "\n", " transforms.Normalize(mean=IMAGENET_MEAN, std=IMAGENET_STD), # normalise chaque canal RGB avec les stats d'ImageNet\n", "]) # fin de la définition de la pipeline transform_train\n", "\n", "# -----------------------------------------------------------\n", "# 4) Transformations pour la VAL (sans augmentation)\n", "# -----------------------------------------------------------\n", "transform_val = transforms.Compose([ # Compose = pipeline de transformations pour la validation\n", "\n", " transforms.Lambda(lambda img: img.convert(\"RGB\")), # forcer l'image en RGB (3 canaux)\n", "\n", " transforms.Resize((IMAGE_SIZE, IMAGE_SIZE)), # redimensionne l'image en 224x224 pixels, comme pour le train\n", "\n", " transforms.ToTensor(), # convertit l'image PIL en tenseur (format PyTorch)\n", "\n", " transforms.Normalize(mean=IMAGENET_MEAN, std=IMAGENET_STD), # applique la même normalisation que pour le train\n", "]) # fin de la définition de la pipeline transform_val\n" ] }, { "cell_type": "markdown", "metadata": { "id": "sLp-t_3mB8bL" }, "source": [ "## 7. DataLoader PyTorch" ] }, { "cell_type": "markdown", "metadata": { "id": "Iz57d8mK48Z6" }, "source": [ "**problèmes rencontrés :** \n", "Durant la vérification des batches : \n", "\n", "1/ les colonnes du dataset avec la valeur 'None' retourne une erreur. \n", "**erreur :** \"found \" \n", "**solution :** ne conserver que les colonnes utiles à l'entraînement (+ 'source' pour analyse), \n", "et redéfinir le dataset avant la création des dataloaders.

\n", "\n", "2/ le dataset contient des images à 4 canaux \n", "**erreur :** \"RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimension 0\" \n", "**solutions :** force l'image en 3 canaux.

\n", "\n", "3/ après l'application des transforms, exécuter un code avec une des colonnes du dataset, \n", "avant le dataloader renvoit une erreur. \n", "**erreur :** \"KeyError: 'image'\" \n", "**solutions :** crére une copie indépendante du dataset à partir de Dataloader pour le modèle." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### libs install" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### dataloader" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 19, "status": "ok", "timestamp": 1763670810762, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "i45s5Qsh1E73", "outputId": "5bf35984-391a-4ac1-be39-d77182d8333d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "GPU disponible : True\n", "Nom du GPU : Tesla T4\n" ] } ], "source": [ "import torch\n", "\n", "print(\"GPU disponible :\", torch.cuda.is_available())\n", "print(\"Nom du GPU :\", torch.cuda.get_device_name(0) if torch.cuda.is_available() else \"CPU uniquement\")\n" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 17, "status": "ok", "timestamp": 1763670810783, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "nQT0Ej-Xvagh", "outputId": "e226978d-16cc-46b2-f082-2dc836ab494a" }, "outputs": [ { "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 31405\n", " })\n", " val: Dataset({\n", " features: ['image', 'target', 'source'],\n", " num_rows: 4906\n", " })\n", "})" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# -----------------------------------------------------------\n", "# 0) Dataset Prep\n", "# -----------------------------------------------------------\n", "\n", "from datasets import DatasetDict, Image # importe les bons types HF\n", "\n", "# 1. Liste des colonnes à garder # commentaire\n", "cols_to_keep = [\"image\", \"target\", \"source\"] # ce dont on a besoin pour le modèle\n", "\n", "# 2. On supprime toutes les autres colonnes dans train/val # commentaire\n", "cols_to_drop = [c for c in merged_data_target[\"train\"].column_names\n", " if c not in cols_to_keep] # toutes les colonnes sauf image/target/source\n", "\n", "merged_data_target = DatasetDict({ # recrée un DatasetDict propre\n", " \"train\": merged_data_target[\"train\"].remove_columns(cols_to_drop), # enlève colonnes inutiles en train\n", " \"val\": merged_data_target[\"val\"].remove_columns(cols_to_drop), # enlève colonnes inutiles en val\n", "})\n", "\n", "# Copie indépendante du dataset pour le DataLoader\n", "merged_data_model = DatasetDict({\n", " \"train\": merged_data_target[\"train\"].select(range(len(merged_data_target[\"train\"]))),\n", " \"val\": merged_data_target[\"val\"].select(range(len(merged_data_target[\"val\"]))),\n", "})\n", "\n", "merged_data_model" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "executionInfo": { "elapsed": 13, "status": "ok", "timestamp": 1763670810798, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "7e6pFxERB-vP" }, "outputs": [], "source": [ "# -----------------------------------------------------------\n", "# 1) Raccourcis pour les splits HuggingFace\n", "# -----------------------------------------------------------\n", "\n", "from datasets import Image\n", "\n", "# Remet le dataset dans un format standard\n", "merged_data_model.reset_format() # enlève d'éventuels set_format précédents\n", "\n", "# S'assure que la colonne \"image\" est bien du type Image (PIL)\n", "merged_data_model = merged_data_model.cast_column(\"image\", Image())\n", "\n", "hf_train = merged_data_model[\"train\"] # split d'entraînement\n", "hf_val = merged_data_model[\"val\"] # split de validation\n" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "executionInfo": { "elapsed": 47, "status": "ok", "timestamp": 1763670810855, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "E1nb246hkGD2" }, "outputs": [], "source": [ "# -----------------------------------------------------------\n", "# 2) Fonction de transform pour le TRAIN (version batch)\n", "# -----------------------------------------------------------\n", "def apply_train_transform(batch):\n", " \"\"\"\n", " batch : dict avec des LISTES ('image', 'target', etc.)\n", " On applique transform_train à CHAQUE image de batch[\"image\"].\n", " \"\"\"\n", " batch = batch.copy() # copie superficielle du dict\n", " batch[\"image\"] = [transform_train(img) for img in batch[\"image\"]] # liste de tensors\n", " return batch\n", "\n", "# -----------------------------------------------------------\n", "# 3) Fonction de transform pour la VAL (version batch)\n", "# -----------------------------------------------------------\n", "def apply_val_transform(batch):\n", " \"\"\"\n", " batch : dict avec des LISTES ('image', 'target', etc.)\n", " On applique transform_val à CHAQUE image de batch[\"image\"].\n", " \"\"\"\n", " batch = batch.copy()\n", " batch[\"image\"] = [transform_val(img) for img in batch[\"image\"]]\n", " return batch\n", "\n", "# -----------------------------------------------------------\n", "# 4) Appliquer ces transforms aux splits HuggingFace\n", "# -----------------------------------------------------------\n", "hf_train.set_transform(apply_train_transform)\n", "hf_val.set_transform(apply_val_transform)\n" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "executionInfo": { "elapsed": 6, "status": "ok", "timestamp": 1763670810858, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "W6FGS5m0foGZ" }, "outputs": [], "source": [ "# -----------------------------------------------------------\n", "# 5) Création des DataLoaders pour itérer sur les données par batch\n", "# -----------------------------------------------------------\n", "\n", "from torch.utils.data import DataLoader\n", "import torch\n", "\n", "BATCH_SIZE = 32\n", "\n", "train_loader = DataLoader(\n", " hf_train, # directement le split HuggingFace\n", " batch_size=BATCH_SIZE,\n", " shuffle=True, # on mélange pour l'entraînement\n", " num_workers=0, # travailler plusieurs batch en même temps\n", " pin_memory=True if torch.cuda.is_available() else False\n", ")\n", "\n", "val_loader = DataLoader(\n", " hf_val,\n", " batch_size=BATCH_SIZE,\n", " shuffle=False, # pas besoin de shuffle pour la validation\n", " num_workers=0,\n", " pin_memory=True if torch.cuda.is_available() else False\n", ")\n" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 5, "status": "ok", "timestamp": 1763670810859, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "0Vnx8b5npnXe", "outputId": "14dcbfd7-18b2-4cc5-c67a-8b530bdf5f5e" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nombre total de batches train : 982\n", "Nombre total de batches val : 154\n" ] } ], "source": [ "# -----------------------------------------------------------\n", "# 6) Test : récupérer un batch et regarder les shapes\n", "# -----------------------------------------------------------\n", "\n", "print(\"Nombre total de batches train :\", len(train_loader))\n", "print(\"Nombre total de batches val :\", len(val_loader))" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "executionInfo": { "elapsed": 1, "status": "ok", "timestamp": 1763670810860, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "E4MbgvvapHLf" }, "outputs": [], "source": [ "def get_batch(loader, index): # définit une fonction pour prendre un batch par son index\n", " for i, batch in enumerate(loader): # boucle sur chaque batch\n", " if i == index: # si on atteint le batch voulu\n", " return batch # on le retourne\n", "\n", "def inspect_batch(batch, batch_id): # définit une fonction d'inspection\n", " images = batch[\"image\"] # récupère les images\n", " labels = batch[\"target\"] # récupère les labels\n", "\n", " print(f\"--- Inspection du batch {batch_id} ---\") # titre\n", " print(\"Type images :\", type(images)) # type des images\n", " print(\"Shape images :\", images.shape) # shape des images (B, C, H, W)\n", " print(\"Type labels :\", type(labels)) # type des labels\n", " print(\"Shape labels :\", labels.shape) # shape des labels\n", " print(\"Quelques labels :\", labels[:10]) # affiche les 10 premiers labels\n" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "executionInfo": { "elapsed": 1, "status": "ok", "timestamp": 1763670810875, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "tkib1t4xrehl" }, "outputs": [], "source": [ "import random" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "collapsed": true, "executionInfo": { "elapsed": 759188, "status": "ok", "timestamp": 1763671570064, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "Xe92LW5uwG1C", "outputId": "4e9fa1f3-0208-42c1-f5e4-a290ac1e7091" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "--- Inspection du batch 308 ---\n", "Type images : \n", "Shape images : torch.Size([32, 3, 224, 224])\n", "Type labels : \n", "Shape labels : torch.Size([32])\n", "Quelques labels : tensor([0, 1, 1, 1, 1, 1, 1, 1, 1, 1])\n" ] } ], "source": [ "random_index = random.randint(0, len(train_loader)-1) # tire un batch aléatoire\n", "batch_random = get_batch(train_loader, random_index) # récupère le batch\n", "inspect_batch(batch_random, batch_id=random_index)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 24464, "status": "ok", "timestamp": 1763671594526, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "taxXl_7gwLAZ", "outputId": "a2f40e1b-df5e-4c3e-9c26-cd357d16fb4d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--- Inspection du batch 50 ---\n", "Type images : \n", "Shape images : torch.Size([32, 3, 224, 224])\n", "Type labels : \n", "Shape labels : torch.Size([32])\n", "Quelques labels : tensor([1, 1, 1, 0, 1, 1, 1, 1, 1, 1])\n" ] } ], "source": [ "random_index = random.randint(0, len(val_loader)-1) # tire un batch aléatoire\n", "batch_random = get_batch(val_loader, random_index) # récupère le batch\n", "inspect_batch(batch_random, batch_id=random_index)" ] }, { "cell_type": "markdown", "metadata": { "id": "sP4T761KB-87" }, "source": [ "## 8. Modèle EfficientNet-B0" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0, "referenced_widgets": [ "0cb85730b37e4d52b356cc7268d8a053", "55eaca71643f4adaa32ba0b07f80fd10", "5031fa1853e84119acde1d33af311c19", "7c15c0265fe748e6b1ee60646bad9b5c", "34f5906fa607401f8c3b23db2ca07a1f", "e2d114401bc24a38a02e75272dbe5ea4", "f6178bbcebb44d1095d2d46b22a5ef41", "ee742a3d8cb045ac8e1405f8b371422e", "0b2e60ff42034c60a5b550dada4d1566", "078dcdb23bba429d89525d1f8a7de173", "a9479a15f95b4c89b5c4127214379e45" ] }, "executionInfo": { "elapsed": 3042, "status": "ok", "timestamp": 1763671597569, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "dk4xd6heV2NA", "outputId": "8eaf7fac-cb0a-49c9-a29a-5d5407206a3b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Appareil utilisé : cuda\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "n_no_fire (0) : 5892\n", "n_fire (1) : 25513\n", "n_total : 31405\n", "Class weights : tensor([2.6651, 0.6155], device='cuda:0')\n", "Modèle envoyé sur : cuda\n", "Modèle, loss et optimiseur sont prêts.\n" ] } ], "source": [ "# -----------------------------------------------------------\n", "# Bloc : Modèle EfficientNet-B0 + class weights + loss + optimizer\n", "# -----------------------------------------------------------\n", "\n", "import torch # importe PyTorch pour les tenseurs et le GPU/CPU\n", "import torch.nn as nn # importe les modules de réseaux de neurones (couches, pertes, etc.)\n", "import timm # importe timm pour charger EfficientNet pré-entraîné\n", "from collections import Counter # importe Counter pour compter les classes dans les labels\n", "\n", "# -----------------------------------------------------------\n", "# 1) Device (GPU si dispo, sinon CPU)\n", "# -----------------------------------------------------------\n", "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\") # choisit GPU si dispo, sinon CPU\n", "print(\"Appareil utilisé :\", device) # affiche le device choisi\n", "\n", "# -----------------------------------------------------------\n", "# 2) Distribution des classes sur le TRAIN (à partir de merged_data_target)\n", "# -----------------------------------------------------------\n", "train_targets = merged_data_target[\"train\"][\"target\"] # récupère la liste des labels (0/1) du split train\n", "counts = Counter(train_targets) # compte le nombre de 0 et 1 dans les labels\n", "\n", "n_no_fire = counts[0] # nombre d'images avec label 0 (no_fire)\n", "n_fire = counts[1] # nombre d'images avec label 1 (fire)\n", "n_total = n_no_fire + n_fire # total d'images dans le train\n", "\n", "print(f\"n_no_fire (0) : {n_no_fire}\") # affiche le nombre de no_fire\n", "print(f\"n_fire (1) : {n_fire}\") # affiche le nombre de fire\n", "print(f\"n_total : {n_total}\") # affiche le total\n", "\n", "# -----------------------------------------------------------\n", "# 3) Calcul des class weights pour corriger le déséquilibre\n", "# -----------------------------------------------------------\n", "w_no_fire = n_total / (2 * n_no_fire) # calcule le poids de la classe 0 (plus rare → poids plus grand)\n", "w_fire = n_total / (2 * n_fire) # calcule le poids de la classe 1 (plus fréquente → poids plus petit)\n", "\n", "class_weights = torch.tensor( # crée un tenseur PyTorch pour stocker les poids des classes\n", " [w_no_fire, w_fire], # ordre : [poids pour classe 0, poids pour classe 1]\n", " dtype=torch.float32, # type float32 pour compatibilité avec la loss\n", " device=device # place le tenseur directement sur le bon device (GPU/CPU)\n", ")\n", "print(\"Class weights :\", class_weights) # affiche les poids calculés pour vérification\n", "\n", "# -----------------------------------------------------------\n", "# 4) Définition du modèle EfficientNet-B0 (2 classes)\n", "# -----------------------------------------------------------\n", "model = timm.create_model(\"efficientnet_b0\", pretrained=True) # charge EfficientNet-B0 pré-entraîné sur ImageNet\n", "\n", "in_features = model.classifier.in_features # récupère la taille d'entrée de la couche finale\n", "model.classifier = nn.Linear(in_features, 2) # remplace la dernière couche par une Linear à 2 sorties (no_fire / fire)\n", "\n", "model = model.to(device) # envoie le modèle sur le device (GPU ou CPU)\n", "print(\"Modèle envoyé sur :\", device) # confirme le device du modèle\n", "\n", "# -----------------------------------------------------------\n", "# 5) Définition de la loss (CrossEntropy pondérée)\n", "# -----------------------------------------------------------\n", "loss_fn = nn.CrossEntropyLoss(weight=class_weights) # crée une CrossEntropyLoss qui utilise les class weights\n", "\n", "# -----------------------------------------------------------\n", "# 6) Définition de l'optimiseur (Adam)\n", "# -----------------------------------------------------------\n", "learning_rate = 1e-4 # fixe le taux d'apprentissage (petit pour du fine-tuning)\n", "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate) # crée l'optimiseur Adam sur tous les paramètres du modèle\n", "\n", "print(\"Modèle, loss et optimiseur sont prêts.\") # message final de confirmation\n" ] }, { "cell_type": "markdown", "metadata": { "id": "7ke6hckv7_OI" }, "source": [ "## 9. Test du modèle EfficientNet-B0\n" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 1482, "status": "ok", "timestamp": 1763671599061, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "1Zqs8u03euFY", "outputId": "6c37d017-97b2-48a3-c8b1-fc9dfcc348aa" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Appareil utilisé pour le test : cuda:0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Batch récupéré !\n", "Images shape : torch.Size([32, 3, 224, 224])\n", "Labels shape : torch.Size([32])\n", "\n", "Logits shape : torch.Size([32, 2])\n", "Exemple logits : tensor([ 0.1006, -0.0513], device='cuda:0')\n", "\n", "Probabilités (exemple) : tensor([0.5379, 0.4621], device='cuda:0')\n", "Somme des probas : 0.9999999403953552\n", "\n", "Loss sur ce batch : 0.7590086460113525\n", "✔️ Pas de NaN dans les logits.\n", "✔️ Pas d'infini dans les logits.\n", "\n", "🎉 Forward pass réussi : le modèle fonctionne avant entraînement !\n" ] } ], "source": [ "import torch\n", "import torch.nn.functional as F\n", "\n", "# -----------------------------------------------------------\n", "# 1) Récupérer le device à partir du modèle\n", "# -----------------------------------------------------------\n", "device = next(model.parameters()).device # récupère le device du modèle\n", "print(\"Appareil utilisé pour le test :\", device)\n", "\n", "# -----------------------------------------------------------\n", "# 2) Récupérer un batch du train_loader\n", "# -----------------------------------------------------------\n", "batch = next(iter(train_loader)) # prend le premier batch du train_loader\n", "images = batch[\"image\"].to(device) # images → device (cpu ici)\n", "labels = batch[\"target\"].to(device) # labels → device\n", "\n", "print(\"\\nBatch récupéré !\")\n", "print(\"Images shape :\", images.shape) # attendu : [batch_size, 3, 224, 224]\n", "print(\"Labels shape :\", labels.shape) # attendu : [batch_size]\n", "\n", "# -----------------------------------------------------------\n", "# 3) Forward pass SANS entraînement\n", "# -----------------------------------------------------------\n", "model.eval() # mode évaluation (pas de dropout, etc.)\n", "with torch.no_grad(): # pas de gradients = pas de mise à jour des poids\n", "\n", " # Prédictions brutes (logits)\n", " logits = model(images) # sortie du modèle\n", " print(\"\\nLogits shape :\", logits.shape) # attendu : [batch_size, 2]\n", " print(\"Exemple logits :\", logits[0])\n", "\n", " # Probabilités (softmax)\n", " probs = F.softmax(logits, dim=1) # logits → probas\n", " print(\"\\nProbabilités (exemple) :\", probs[0])\n", " print(\"Somme des probas :\", probs[0].sum().item()) # ≈ 1.0\n", "\n", " # Calcul de la loss sur ce batch\n", " test_loss = loss_fn(logits, labels) # utilise TA loss avec class_weights\n", " print(\"\\nLoss sur ce batch :\", test_loss.item())\n", "\n", " # Vérification NaN / Inf\n", " if torch.isnan(logits).any():\n", " print(\"⚠️ NaN détecté dans les logits !\")\n", " else:\n", " print(\"✔️ Pas de NaN dans les logits.\")\n", "\n", " if torch.isinf(logits).any():\n", " print(\"⚠️ Infini détecté dans les logits !\")\n", " else:\n", " print(\"✔️ Pas d'infini dans les logits.\")\n", "\n", "print(\"\\n🎉 Forward pass réussi : le modèle fonctionne avant entraînement !\")\n" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 5379, "status": "ok", "timestamp": 1763671604447, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "9F-PkcsriqxL", "outputId": "6cfdc87b-4710-45bf-a2dc-67197ac227d2" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Batch 0 - loss : 0.7048\n", "Batch 1 - loss : 0.7084\n", "Batch 2 - loss : 0.6675\n", "Batch 3 - loss : 0.6860\n", "Batch 4 - loss : 0.7236\n", "\n", "Moyenne des 5 losses : 0.698050582408905\n" ] } ], "source": [ "import torch\n", "import torch.nn.functional as F\n", "\n", "model.eval()\n", "\n", "losses = []\n", "\n", "with torch.no_grad():\n", " for i, batch in enumerate(train_loader):\n", "\n", " if i >= 5: # on teste seulement les 5 premiers batchs\n", " break\n", "\n", " images = batch[\"image\"].to(device)\n", " labels = batch[\"target\"].to(device)\n", "\n", " logits = model(images)\n", " loss = loss_fn(logits, labels)\n", "\n", " losses.append(loss.item())\n", " print(f\"Batch {i} - loss : {loss.item():.4f}\")\n", "\n", "print(\"\\nMoyenne des 5 losses :\", sum(losses)/len(losses))\n" ] }, { "cell_type": "markdown", "metadata": { "id": "szBnNKZD6jYU" }, "source": [ "## 10. Boucle d'entraînement 5 epochs\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### libs install" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting scikit-learn\n", " Downloading scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (11 kB)\n", "Requirement already satisfied: numpy>=1.22.0 in /teamspace/studios/this_studio/.conda/lib/python3.11/site-packages (from scikit-learn) (2.3.5)\n", "Collecting scipy>=1.8.0 (from scikit-learn)\n", " Downloading scipy-1.16.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (62 kB)\n", "Collecting joblib>=1.2.0 (from scikit-learn)\n", " Downloading joblib-1.5.2-py3-none-any.whl.metadata (5.6 kB)\n", "Collecting threadpoolctl>=3.1.0 (from scikit-learn)\n", " Downloading threadpoolctl-3.6.0-py3-none-any.whl.metadata (13 kB)\n", "Downloading scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (9.7 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.7/9.7 MB\u001b[0m \u001b[31m98.9 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", "\u001b[?25hDownloading joblib-1.5.2-py3-none-any.whl (308 kB)\n", "Downloading scipy-1.16.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (35.9 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m35.9/35.9 MB\u001b[0m \u001b[31m180.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", "\u001b[?25hDownloading threadpoolctl-3.6.0-py3-none-any.whl (18 kB)\n", "Installing collected packages: threadpoolctl, scipy, joblib, scikit-learn\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4/4\u001b[0m [scikit-learn][0m [scikit-learn]\n", "\u001b[1A\u001b[2KSuccessfully installed joblib-1.5.2 scikit-learn-1.7.2 scipy-1.16.3 threadpoolctl-3.6.0\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install scikit-learn" ] }, { "cell_type": "markdown", "metadata": { "id": "-ZWr_fHS6BPA" }, "source": [ "### entrainement train et val" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 3649935, "status": "ok", "timestamp": 1763675254397, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "AevuHwTpqPKm", "outputId": "8ad0fa25-e329-4ccd-efb5-686d316a6ba3" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/5\n", " Train loss : 0.4924\n", " Train accuracy : 0.7710\n", " Val loss : 0.6273\n", " Val accuracy : 0.7144\n", " Val recall feu (1) : 0.7046\n", " Val recall no_fire (0) : 0.7434\n", "--------------------------------------------------\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/5\n", " Train loss : 0.3777\n", " Train accuracy : 0.8381\n", " Val loss : 0.6684\n", " Val accuracy : 0.7430\n", " Val recall feu (1) : 0.7598\n", " Val recall no_fire (0) : 0.6937\n", "--------------------------------------------------\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/5\n", " Train loss : 0.3139\n", " Train accuracy : 0.8617\n", " Val loss : 0.6998\n", " Val accuracy : 0.7108\n", " Val recall feu (1) : 0.7262\n", " Val recall no_fire (0) : 0.6656\n", "--------------------------------------------------\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/5\n", " Train loss : 0.2800\n", " Train accuracy : 0.8765\n", " Val loss : 0.7021\n", " Val accuracy : 0.7260\n", " Val recall feu (1) : 0.7333\n", " Val recall no_fire (0) : 0.7049\n", "--------------------------------------------------\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5/5\n", " Train loss : 0.2442\n", " Train accuracy : 0.8908\n", " Val loss : 0.6408\n", " Val accuracy : 0.7727\n", " Val recall feu (1) : 0.7704\n", " Val recall no_fire (0) : 0.7795\n", "--------------------------------------------------\n" ] } ], "source": [ "# -----------------------------------------------------------\n", "# Boucle d'entraînement EfficientNet-B0 (CPU pour l'instant)\n", "# Utilise :\n", "# - model, loss_fn, optimizer, device\n", "# - train_loader (merged_data_model train)\n", "# - val_loader (merged_data_model val)\n", "# -----------------------------------------------------------\n", "\n", "import torch\n", "from sklearn.metrics import accuracy_score, recall_score\n", "\n", "NUM_EPOCHS = 5 # nombre d'epochs (à ajuster plus tard)\n", "\n", "train_losses = [] # loss moyenne par epoch sur train\n", "val_losses = [] # loss moyenne par epoch sur val\n", "val_accs = [] # accuracy par epoch sur val\n", "val_recalls_fire = [] # recall de la classe feu (1) par epoch\n", "val_recalls_no_fire = [] # recall de la classe no_fire (0) par epoch\n", "\n", "for epoch in range(1, NUM_EPOCHS + 1): # boucle sur les epochs\n", "\n", " # -----------------------------\n", " # 1) Phase TRAIN\n", " # -----------------------------\n", " model.train() # mode entraînement\n", " running_loss = 0.0 # cumul de la loss sur le train\n", " running_correct = 0 # nombre de prédictions correctes sur le train\n", " running_total = 0 # nombre total d'exemples vus\n", "\n", " for batch in train_loader: # boucle sur tous les batches du train\n", " images = batch[\"image\"].to(device) # images -> device (cpu ici)\n", " labels = batch[\"target\"].to(device) # labels -> device\n", "\n", " optimizer.zero_grad() # remet les gradients à zéro\n", "\n", " logits = model(images) # forward pass (prédictions brutes)\n", " loss = loss_fn(logits, labels) # calcule la loss sur ce batch\n", "\n", " loss.backward() # backward pass (calcul des gradients)\n", " optimizer.step() # mise à jour des poids\n", "\n", " batch_size = labels.size(0) # taille du batch courant\n", " running_loss += loss.item() * batch_size # cumul loss pondérée\n", " preds = logits.argmax(dim=1) # classe prédite (0 ou 1)\n", " running_correct += (preds == labels).sum().item() # nombre de bonnes prédictions\n", " running_total += batch_size # nombre d'exemples vus\n", "\n", " epoch_train_loss = running_loss / running_total # loss moyenne train\n", " epoch_train_acc = running_correct / running_total # accuracy moyenne train\n", "\n", " train_losses.append(epoch_train_loss) # on stocke la loss train\n", "\n", "\n", " # -----------------------------\n", " # 2) Phase VALIDATION\n", " # -----------------------------\n", " model.eval() # mode évaluation\n", " val_running_loss = 0.0 # cumul de la loss val\n", " val_y_true = [] # vraies étiquettes\n", " val_y_pred = [] # prédictions\n", "\n", " with torch.no_grad(): # pas de gradients en validation\n", " for batch in val_loader:\n", " images = batch[\"image\"].to(device) # images -> device\n", " labels = batch[\"target\"].to(device) # labels -> device\n", "\n", " logits = model(images) # forward pass val\n", " loss = loss_fn(logits, labels) # loss sur ce batch val\n", "\n", " batch_size = labels.size(0)\n", " val_running_loss += loss.item() * batch_size # cumul loss val pondérée\n", " preds = logits.argmax(dim=1) # classe prédite\n", "\n", " val_y_true.extend(labels.cpu().tolist()) # ajoute les vraies classes (sur CPU)\n", " val_y_pred.extend(preds.cpu().tolist()) # ajoute les prédictions (sur CPU)\n", "\n", " # Moyenne de la loss sur toute la validation\n", " epoch_val_loss = val_running_loss / len(val_y_true)\n", " val_losses.append(epoch_val_loss)\n", "\n", " # -----------------------------\n", " # 3) Métriques en validation\n", " # -----------------------------\n", " epoch_val_acc = accuracy_score(val_y_true, val_y_pred) # accuracy globale\n", " epoch_val_recall_fire = recall_score(val_y_true, val_y_pred,\n", " pos_label=1) # recall classe feu (1)\n", " epoch_val_recall_no_fire = recall_score(val_y_true, val_y_pred,\n", " pos_label=0) # recall classe no_fire (0)\n", "\n", " val_accs.append(epoch_val_acc)\n", " val_recalls_fire.append(epoch_val_recall_fire)\n", " val_recalls_no_fire.append(epoch_val_recall_no_fire)\n", "\n", " # -----------------------------\n", " # 4) Affichage résumé d'epoch\n", " # -----------------------------\n", " print(f\"Epoch {epoch}/{NUM_EPOCHS}\")\n", " print(f\" Train loss : {epoch_train_loss:.4f}\")\n", " print(f\" Train accuracy : {epoch_train_acc:.4f}\")\n", " print(f\" Val loss : {epoch_val_loss:.4f}\")\n", " print(f\" Val accuracy : {epoch_val_acc:.4f}\")\n", " print(f\" Val recall feu (1) : {epoch_val_recall_fire:.4f}\")\n", " print(f\" Val recall no_fire (0) : {epoch_val_recall_no_fire:.4f}\")\n", " print(\"-\" * 50)\n" ] }, { "cell_type": "markdown", "metadata": { "id": "kchF0c646p04" }, "source": [ "### sauvegarde" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "✅ Modèle (feature extraction) sauvegardé dans : ./Autres/efficientnet_b0_v2_1_feature_extraction.pt\n" ] } ], "source": [ "import torch\n", "import os\n", "\n", "# Dossier où sauvegarder les modèles\n", "save_dir = \"./Autres\"\n", "os.makedirs(save_dir, exist_ok=True) # crée le dossier s'il n'existe pas\n", "\n", "model_path = os.path.join(save_dir, \"efficientnet_b0_v2_1_feature_extraction.pt\")\n", "\n", "# Sauvegarde des poids du modèle\n", "torch.save(model.state_dict(), model_path)\n", "\n", "print(f\"✅ Modèle (feature extraction) sauvegardé dans : {model_path}\")\n" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import torch\n", "\n", "def get_predictions(model, loader, device, save_path=None, split_name=\"val\"):\n", " \"\"\"\n", " Récupère toutes les prédictions d'un modèle sur un DataLoader.\n", " - Retourne y_true, y_pred, probs (proba par classe)\n", " - Optionnel : sauvegarde dans un fichier .npz\n", " \"\"\"\n", " model.eval() # mode évaluation\n", " all_y_true = []\n", " all_y_pred = []\n", " all_probs = []\n", "\n", " with torch.no_grad(): # pas de gradients\n", " for batch in loader:\n", " images = batch[\"image\"].to(device) # images -> device\n", " labels = batch[\"target\"].to(device) # labels -> device\n", "\n", " logits = model(images) # scores bruts\n", " probs = torch.softmax(logits, dim=1) # probabilités par classe\n", "\n", " preds = logits.argmax(dim=1) # classe prédite (0/1)\n", "\n", " all_y_true.append(labels.cpu())\n", " all_y_pred.append(preds.cpu())\n", " all_probs.append(probs.cpu())\n", "\n", " # Concatène tous les batches\n", " y_true = torch.cat(all_y_true).numpy()\n", " y_pred = torch.cat(all_y_pred).numpy()\n", " probs = torch.cat(all_probs).numpy() # shape : [N, 2]\n", "\n", " print(f\"✅ Récupéré {len(y_true)} prédictions sur le split {split_name}.\")\n", "\n", " # Sauvegarde optionnelle\n", " if save_path is not None:\n", " np.savez(save_path,\n", " y_true=y_true,\n", " y_pred=y_pred,\n", " probs=probs)\n", " print(f\"📁 Prédictions sauvegardées dans : {save_path}\")\n", "\n", " return y_true, y_pred, probs\n" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "✅ Récupéré 4906 prédictions sur le split val_feature_extraction.\n", "📁 Prédictions sauvegardées dans : ./Autres/val_predictions_v2_1_feature_extraction.npz\n" ] } ], "source": [ "# Dossier de sauvegarde (le même que pour le modèle)\n", "save_dir = \"./Autres\"\n", "os.makedirs(save_dir, exist_ok=True)\n", "\n", "preds_path_val = os.path.join(save_dir, \"val_predictions_v2_1_feature_extraction.npz\")\n", "\n", "y_true_val_v2_1, y_pred_val_v2_1, probs_val_v2_1 = get_predictions(\n", " model=model,\n", " loader=val_loader,\n", " device=device,\n", " save_path=preds_path_val,\n", " split_name=\"val_feature_extraction\"\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### tracer les courbes" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "executionInfo": { "elapsed": 890, "status": "ok", "timestamp": 1763679408138, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "Y0INu9ovTwp-", "outputId": "1d45afad-0d19-4789-a575-3c6263aba6cc" }, "outputs": [ { "data": { "image/png": "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8OG37ZymoFarsWvXLgwbNkw3NIK02DeGsV/qx74xjP1SP/aNYeyX+rFvDGvpfqn+SXpDGC3MOjk5QSqVIisrS29/VlYW3NzcDH7G3d0dMplMb0hBjx49kJmZifLycsjl8jqfUSgUUCgUdfbLZLIWvUhb+nymhH1jGPulfuwbw9gv9WPfGMZ+qR/7xrCW6pc7OYfRpuaSy+Xo06cP9uzZo9un0WiwZ88evWEHtQ0cOBAXL16ERqPR7Tt//jzc3d0NBlkiIiIiatuMOs9sVFQUvvzyS6xfvx4JCQl45plnUFRUpJvdYPr06XoPiD3zzDPIzc3F/Pnzcf78eWzZsgXvvPMO5s2bZ6yvQERERERGZNQxs5MnT0ZOTg7eeOMNZGZmIiQkBNu3b4erqysAIDk5GRJJTd728vLCjh078K9//QtBQUHw9PTE/Pnz8fLLLxvrKxARERGRERn9AbDIyEhERkYafG///v119oWFheHvv/9u5qqIiIiIyBQYfTlbIiIiIqLGYpglIiIiIpPFMEtEREREJothloiIiIhMFsMsEREREZkshlkiIiIiMlkMs0RERERkshhmiYiIiMhkMcwSERERkclimCUiIiIik8UwS0REREQmi2GWiIiIiEwWwywRERERmSyGWSIiIiIyWQyzRERERGSyGGaJiIiIyGQxzBIRERGRyWKYJSIiIiKTxTBLRERERCaLYZaIiIiITBbDLBERERGZLIZZIiIiIjJZDLNEREREZLIYZomIiIjIZDHMEhEREZHJYpglIiIiIpPFMEtEREREJothloiIiIhMFsMsEREREZkshlkiIiIiMlkMs0RERERkshhmiYiIiMhkMcwSERERkclimCUiIiIik8UwS0REREQmi2GWiIiIiEwWwywRERERmSyGWSIiIiIyWQyzRERERGSyGGaJiIiIyGQxzBIRERGRyWKYJSIiIiKTxTBLRERERCaLYZaIiIiITBbDLBERERGZLIZZIiIiIjJZDLNEREREZLIYZomIiIjIZDHMEhEREZHJYpglIiIiIpPFMEtEREREJothloiIiIhMFsMsEREREZkshlkiIiIiMlkMs0RERERkshhmiYiIiMhkMcwSERERkclimCUiIiIik8UwS0REREQmi2GWiIiIiEwWwywRERERmSyGWSIiIiIyWQyzRERERGSyGGaJiIiIyGQx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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVo5JREFUeJzt3Xd4VGX+/vF7MkkmPZQkBALSpUkTviIgRQGjsOzGnwVsNMUGimQRUZEiLqiriKsUFQEXdUEQWXZBEJGigKI0AYXFUKWk0NJIMsmc3x8hQ4bMhCSkHXi/ritXkjOnPOeTE7jzzHOeYzEMwxAAAABgQl4V3QAAAACgpAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAErEYrFowoQJzu/nzZsni8WiQ4cOlWh/gwYNUr169UqlbZI0YcIEWSyWUttfUVxpDSqD+fPnq2nTpvLx8VGVKlXK/fgOh0M33HCD/va3v5XZMdz9nLp3767u3btfdtt169bJYrFo3bp1pdqmS3+fysLNN9+s0aNHl+kxgIpAmAUqobz/bPM+vL29FRUVpUGDBunYsWMV3Txcpfbu3atBgwapYcOG+vDDD/XBBx+Uexv+9a9/6ejRoxo+fHi5H7usrVixoswDa2Gef/55TZ8+XSdPnqywNgBlwbuiGwDAs1deeUX169dXRkaGfvjhB82bN0/ff/+9du/eLT8/v4puHq4y69atk8Ph0DvvvKNGjRpVSBv+/ve/q3///goNDS3X43799ddlfowVK1Zo+vTpbgPt+fPn5e1dtv8l/+Uvf1FISIhmzJihV155pUyPBZQnemaBSuzOO+/UQw89pEcffVSzZ8/WqFGjFBcXp2XLllV003AVSkhIkKQKGV4gSdu3b9fOnTt13333lfuxfX195evrW+7HzePn51fmYdbLy0v33HOP/vnPf8owjDI9FlCeCLOAiXTp0kWSFBcX57J87969uueee1StWjX5+fmpffv2bgPv2bNnNXLkSNWrV082m021a9fWgAEDlJSUJEnKysrSuHHj1K5dO4WGhiowMFBdunTR2rVrS/U8li5dqhtuuEF+fn664YYb9OWXX7pdz+FwaNq0aWrRooX8/PxUo0YNPf744zpz5kyJjjt37lzddtttioiIkM1mU/PmzTVz5swib793717dd999Cg8Pl7+/v5o0aaKXXnqp0G3+/e9/q0+fPqpVq5ZsNpsaNmyoSZMmKScnx2W9/fv36+6771ZkZKT8/PxUu3Zt9e/fX+fOnXOus3r1at1yyy2qUqWKgoKC1KRJE7344osu+8nMzNT48ePVqFEj2Ww21alTR6NHj1ZmZmah7axXr57Gjx8vSQoPDy8whvOrr75Sly5dFBgYqODgYPXp00d79uxx2YencadFHQ+9dOlS+fr6qmvXrs5lixcvlsVi0fr16wus//7778tisWj37t2SpF9++UWDBg1SgwYN5Ofnp8jISA0ZMkSnTp267LHdtf2PP/5QTEyMAgMDFRERoZEjR7qt43fffad7771X1113nbPmI0eO1Pnz511qMH36dElyGUKUx92Y2e3bt+vOO+9USEiIgoKC1KNHD/3www8u6+QNSdq4caNiY2MVHh6uwMBA3XXXXUpMTCzQ1l69eunw4cPasWPHZWsCmAXDDAATybthpWrVqs5le/bsUefOnRUVFaUxY8YoMDBQn3/+uWJiYvTFF1/orrvukiSlpqaqS5cu+u233zRkyBDdeOONSkpK0rJly/THH38oLCxMycnJmj17tu6//34NHTpUKSkp+uijjxQdHa0tW7aoTZs2V3wOX3/9te6++241b95cU6ZM0alTpzR48GDVrl27wLqPP/645s2bp8GDB+uZZ57RwYMH9d5772n79u3auHGjfHx8inXsmTNnqkWLFvrzn/8sb29v/ec//9FTTz0lh8OhYcOGFbrtL7/8oi5dusjHx0ePPfaY6tWrp7i4OP3nP/8p9GalefPmKSgoSLGxsQoKCtK3336rcePGKTk5WX//+98l5f4RER0drczMTD399NOKjIzUsWPH9N///ldnz55VaGio9uzZoz/96U9q1aqVXnnlFdlsNv3+++/auHGj81gOh0N//vOf9f333+uxxx5Ts2bNtGvXLr399tv63//+p6VLl3ps57Rp0/TPf/5TX375pWbOnKmgoCC1atVKUu5NYQMHDlR0dLRef/11paena+bMmbrlllu0ffv2Urtxb9OmTbrhhhtcfq59+vRRUFCQPv/8c3Xr1s1l/YULF6pFixa64YYbJOWG/QMHDmjw4MGKjIzUnj179MEHH2jPnj364YcfinVD4Pnz59WjRw8dOXJEzzzzjGrVqqX58+fr22+/LbDuokWLlJ6erieffFLVq1fXli1b9O677+qPP/7QokWLJOVey8ePH9fq1as1f/78yx5/z5496tKli0JCQjR69Gj5+Pjo/fffV/fu3bV+/Xp16NDBZf2nn35aVatW1fjx43Xo0CFNmzZNw4cP18KFC13Wa9eunSRp48aNatu2bZHrAVRqBoBKZ+7cuYYk45tvvjESExONo0ePGosXLzbCw8MNm81mHD161Llujx49jJYtWxoZGRnOZQ6Hw+jUqZPRuHFj57Jx48YZkowlS5YUOJ7D4TAMwzCys7ONzMxMl9fOnDlj1KhRwxgyZIjLcknG+PHjC7T54MGDhZ5bmzZtjJo1axpnz551Lvv6668NSUbdunWdy7777jtDkvHpp5+6bL9y5Uq3yy81fvx449J/4tLT0wusFx0dbTRo0KDQfRmGYXTt2tUIDg42Dh8+7LI8r3aG4b4G7o75+OOPGwEBAc6f2fbt2w1JxqJFizwe/+233zYkGYmJiR7XmT9/vuHl5WV89913LstnzZplSDI2btxY6Dnm1Sz/MVJSUowqVaoYQ4cOdVn35MmTRmhoqMvybt26Gd26dSuw34EDB7r8bD2pXbu2cffddxdYfv/99xsRERFGdna2c9mJEycMLy8v45VXXnEuc1frf/3rX4YkY8OGDc5l7n5Ol7Z92rRphiTj888/dy5LS0szGjVqZEgy1q5dW+hxp0yZYlgsFpfrZdiwYQWuyTyX/j7FxMQYvr6+RlxcnHPZ8ePHjeDgYKNr164FzqVnz54u1+LIkSMNq9Xq8nuWx9fX13jyySfdtgMwI4YZAJVYz549FR4erjp16uiee+5RYGCgli1b5uzFPH36tL799lvdd999SklJUVJSkpKSknTq1ClFR0dr//79ztkPvvjiC7Vu3drZU5tfXo+V1Wp1jht0OBw6ffq0srOz1b59e23btu2Kz+fEiRPasWOHBg4c6HKDT69evdS8eXOXdRctWqTQ0FD16tXLeV5JSUlq166dgoKCSjT0wd/f3/n1uXPnlJSUpG7duunAgQMub+dfKjExURs2bNCQIUN03XXXubx2ud6+/MfM+xl16dJF6enp2rt3ryQ5a7Fq1Sqlp6e73U/eONZ///vfcjgcbtdZtGiRmjVrpqZNm7rU7LbbbpOkEtVs9erVOnv2rO6//36XfVqtVnXo0KFUh6CcOnXK5V2HPP369VNCQoLLdFiLFy+Ww+FQv379nMvy1zojI0NJSUm6+eabJanY1++KFStUs2ZN3XPPPc5lAQEBeuyxxwqsm/+4aWlpSkpKUqdOnWQYhrZv316s40pSTk6Ovv76a8XExKhBgwbO5TVr1tQDDzyg77//XsnJyS7bPPbYYy7XYpcuXZSTk6PDhw8X2H/VqlWdQ4uAqwFhFqjEpk+frtWrV2vx4sXq3bu3kpKSZLPZnK///vvvMgxDL7/8ssLDw10+8sY/5t3UExcX53w7tjAff/yxWrVqJT8/P1WvXl3h4eFavnx5oWGvqPL+Y23cuHGB15o0aeLy/f79+3Xu3DlFREQUOLfU1FTneRXHxo0b1bNnTwUGBqpKlSoKDw93jjkt7PwOHDggSUWq36X27Nmju+66S6GhoQoJCVF4eLgeeughl2PWr19fsbGxmj17tsLCwhQdHa3p06e7tKlfv37q3LmzHn30UdWoUUP9+/fX559/7hJs9+/frz179hSo1/XXXy9JJarZ/v37JUm33XZbgf1+/fXXJdpnYQw3NybdcccdCg0NdXnLfOHChWrTpo3z3KTcP+5GjBihGjVqyN/fX+Hh4apfv76kwn++7hw+fFiNGjUq8MfKpdepJB05ckSDBg1StWrVFBQUpPDwcOeQiJL83iQmJio9Pd3tsZo1ayaHw6GjR4+6LL/0j6y8PwrcjS83DKPc52AGyhJjZoFK7KabblL79u0lSTExMbrlllv0wAMPaN++fQoKCnIGmVGjRik6OtrtPoozxdInn3yiQYMGKSYmRs8995wiIiJktVo1ZcqUAjedlTWHw6GIiAh9+umnbl8PDw8v1v7i4uLUo0cPNW3aVFOnTlWdOnXk6+urFStW6O233/bY23klzp49q27duikkJESvvPKKGjZsKD8/P23btk3PP/+8yzHfeustDRo0SP/+97/19ddf65lnntGUKVP0ww8/qHbt2vL399eGDRu0du1aLV++XCtXrtTChQt122236euvv5bVapXD4VDLli01depUt+2pU6dOsc8hr43z589XZGRkgdfz34FvsVjchtFLb3bzpHr16m7Dl81mU0xMjL788kvNmDFD8fHx2rhxoyZPnuyy3n333adNmzbpueeeU5s2bZy/I3fccUeZ/Hyl3HPr1auXTp8+reeff15NmzZVYGCgjh07pkGDBpXZcS9ltVrdLnf38zh79qzCwsLKuklAuSHMAiaRFypvvfVWvffeexozZozzLUgfHx/17Nmz0O0bNmzovOvbk8WLF6tBgwZasmSJS89NXi/vlapbt66ki719+e3bt8/l+4YNG+qbb75R586dXd7GLan//Oc/yszM1LJly1x6sYryNnlenS9Xv0utW7dOp06d0pIlS1zu0D948KDb9Vu2bKmWLVtq7Nix2rRpkzp37qxZs2bp1VdflZQ7tVKPHj3Uo0cPTZ06VZMnT9ZLL72ktWvXqmfPnmrYsKF27typHj16lFrPW8OGDSVJERERl73Gqlat6uzFzs/dW93uNG3a1GNt+vXrp48//lhr1qzRb7/9JsMwXIYYnDlzRmvWrNHEiRM1btw453J311pR1K1bV7t37y7Qi3npdbpr1y7973//08cff6wBAwY4l69evbrAPov6MwkPD1dAQECBY0m5M2p4eXmV6A8TSTp27JiysrLUrFmzEm0PVEYMMwBMpHv37rrppps0bdo0ZWRkKCIiQt27d9f777+vEydOFFg//9Q8d999t3bu3Ol2Gqy83pu83p38vTk//vijNm/eXCrtr1mzptq0aaOPP/64wJRTv/76q8u69913n3JycjRp0qQC+8nOztbZs2eLdWx353bu3DnNnTv3stuGh4era9eumjNnjo4cOeLymruer8KOmZWVpRkzZrisl5ycrOzsbJdlLVu2lJeXl3MqqNOnTxfYf97sEnnr3HfffTp27Jg+/PDDAuueP39eaWlpHtvqSXR0tEJCQjR58mTZ7fYCr+e/xho2bKi9e/e6LNu5c6fLjAuF6dixo3bv3u12+quePXuqWrVqWrhwoRYuXKibbrrJOYRAcl9rKXeWhpLo3bu3jh8/rsWLFzuXpaenF3gqmrvjGoahd955p8A+AwMDJemy167VatXtt9+uf//73y6P3I2Pj9dnn32mW265RSEhIcU9JUnS1q1bJUmdOnUq0fZAZUTPLGAyzz33nO69917NmzdPTzzxhKZPn65bbrlFLVu21NChQ9WgQQPFx8dr8+bN+uOPP7Rz507ndosXL9a9996rIUOGqF27djp9+rSWLVumWbNmqXXr1vrTn/6kJUuW6K677lKfPn108OBBzZo1S82bN1dqamqptH/KlCnq06ePbrnlFg0ZMkSnT5/Wu+++qxYtWrgco1u3bnr88cc1ZcoU7dixQ7fffrt8fHy0f/9+LVq0SO+8847LzTmXc/vtt8vX11d9+/bV448/rtTUVH344YeKiIhw+4fApf7xj3/olltu0Y033qjHHntM9evX16FDh7R8+XKPc3Z26tRJVatW1cCBA/XMM8/IYrFo/vz5BQLXt99+q+HDh+vee+/V9ddfr+zsbM2fP19Wq1V33323pNynwW3YsEF9+vRR3bp1lZCQoBkzZqh27dq65ZZbJEkPP/ywPv/8cz3xxBNau3atOnfurJycHO3du1eff/65Vq1a5Ry2UlQhISGaOXOmHn74Yd14443q37+/wsPDdeTIES1fvlydO3fWe++9J0kaMmSIpk6dqujoaD3yyCNKSEjQrFmz1KJFiwI3LLnzl7/8RZMmTdL69et1++23u7zm4+Oj//f//p8WLFigtLQ0vfnmmwXa2bVrV73xxhuy2+2KiorS119/7bGn93KGDh2q9957TwMGDNDWrVtVs2ZNzZ8/XwEBAS7rNW3aVA0bNtSoUaN07NgxhYSE6IsvvnA7XCJvWqxnnnlG0dHRslqt6t+/v9vjv/rqq855hZ966il5e3vr/fffV2Zmpt54440SnZOU+4fjddddx7RcuLqU+/wJAC4rb7qdn376qcBrOTk5RsOGDY2GDRs6pyqKi4szBgwYYERGRho+Pj5GVFSU8ac//clYvHixy7anTp0yhg8fbkRFRRm+vr5G7dq1jYEDBxpJSUmGYeROMzV58mSjbt26hs1mM9q2bWv897//dTu1kko4NZdhGMYXX3xhNGvWzLDZbEbz5s2NJUuWeJy+6YMPPjDatWtn+Pv7G8HBwUbLli2N0aNHG8ePHy/0GO6m5lq2bJnRqlUrw8/Pz6hXr57x+uuvG3PmzClyu3fv3m3cddddRpUqVQw/Pz+jSZMmxssvv1xoDTZu3GjcfPPNhr+/v1GrVi1j9OjRxqpVq1ymdzpw4IAxZMgQo2HDhoafn59RrVo149ZbbzW++eYb537WrFlj/OUvfzFq1apl+Pr6GrVq1TLuv/9+43//+59LG7OysozXX3/daNGihWGz2YyqVasa7dq1MyZOnGicO3euSDVzN/3X2rVrjejoaCM0NNTw8/MzGjZsaAwaNMj4+eefXdb75JNPjAYNGhi+vr5GmzZtjFWrVhV5ai7DMIxWrVoZjzzyiNvXVq9ebUgyLBaLy/R0ef744w/nzyc0NNS49957jePHjxfpWnU3rdjhw4eNP//5z0ZAQIARFhZmjBgxwjk1XP6puX799VejZ8+eRlBQkBEWFmYMHTrU2LlzpyHJmDt3rnO97Oxs4+mnnzbCw8MNi8Xicn1e2kbDMIxt27YZ0dHRRlBQkBEQEGDceuutxqZNm1zW8fRvxdq1awu0Mycnx6hZs6YxduxYt/UFzMpiGDzTDgBQOcyfP1/Dhg3TkSNHKuyxulerpUuX6oEHHlBcXJxq1qxZ0c0BSg1jZgEAlcaDDz6o6667zvnoV5Se119/XcOHDyfI4qpDzywAAABMi55ZAAAAmFaFhtkNGzaob9++qlWrliwWi5YuXXrZbdatW6cbb7xRNptNjRo10rx588q8nQAAAKicKjTMpqWlqXXr1kUeG3Xw4EH16dNHt956q3bs2KFnn31Wjz76qFatWlXGLQUAAEBlVGnGzFosFn355ZeKiYnxuM7zzz+v5cuXuzyFp3///jp79qxWrlxZDq0EAABAZWKqhyZs3ry5wOMUo6Oj9eyzz3rcJjMz0+VpMg6HQ6dPn1b16tVL7XGPAAAAKD2GYSglJUW1atWSl1fhAwlMFWZPnjypGjVquCyrUaOGkpOTdf78ebfPb58yZYomTpxYXk0EAABAKTl69Khq165d6DqmCrMl8cILLyg2Ntb5/blz53Tdddfp4MGDCg4OLvPj2+12rV27Vrfeeqt8fHzK/HhmQm3coy6eURv3qItn1MY96uIZtXGvvOuSkpKi+vXrFymrmSrMRkZGKj4+3mVZfHy8QkJC3PbKSpLNZpPNZiuwvFq1agoJCSmTduZnt9sVEBCg6tWr80txCWrjHnXxjNq4R108ozbuURfPqI175V2XvGMUZUioqeaZ7dixo9asWeOybPXq1erYsWMFtQgAAAAVqULDbGpqqnbs2KEdO3ZIyp16a8eOHTpy5Iik3CECAwYMcK7/xBNP6MCBAxo9erT27t2rGTNm6PPPP9fIkSMrovkAAACoYBUaZn/++We1bdtWbdu2lSTFxsaqbdu2GjdunCTpxIkTzmArSfXr19fy5cu1evVqtW7dWm+99ZZmz56t6OjoCmk/AAAAKlaFjpnt3r27Cpvm1t3Tvbp3767t27eXYasAAEBJGIah7Oxs5eTkVHRTSsxut8vb21sZGRmmPo/SVhZ18fHxkdVqveL9mOoGMAAAUDllZWXpxIkTSk9Pr+imXBHDMBQZGamjR48yH30+ZVEXi8Wi2rVrKygo6Ir2Q5gFAABXxOFw6ODBg7JarapVq5Z8fX1NGwQdDodSU1MVFBR02cn6ryWlXRfDMJSYmKg//vhDjRs3vqIeWsIsAAC4IllZWXI4HKpTp44CAgIqujlXxOFwKCsrS35+foTZfMqiLuHh4Tp06JDsdvsVhVl+SgAAoFQQ/lAcpdV7z1UHAAAA0yLMAgAAwLQIswAAABXMYrFo6dKlkqRDhw7JYrE4HyrlTnp6uu6++26FhITIYrHo7NmzZdq+cePG6dlnny3WNjfffLO++OKLsmlQPoRZAABwzRo0aJAsFossFot8fHzUsGFDjRs3ThkZGRXdtEJ9/PHH+u6777Rp0yadOHFCoaGhZXaskydP6h//+IdiY2OdyzZs2KC+ffuqVq1aLkE8v7Fjx2rMmDFyOBxl1jaJMAsAAK5xd9xxh06cOKEDBw7orbfe0rx58zRhwoSKblah4uLi1KxZM91www2KjIws06nQZs+erY4dO+q6665zLktLS1Pr1q01ffp0j9vdeeedSklJ0VdffVVmbZMIswAAoAwYhqH0rOxy/yjsyaKe2Gw2RUZGqk6dOoqJiVH37t31zTffOF93OByaMmWK6tevL39/f7Vu3VqLFy922ceePXv0pz/9SSEhIQoODlaXLl0UFxcnSfrpp5/Uq1cvhYWFKTQ0VN26ddO2bdtKXNvu3bvrrbfe0oYNG2SxWNS9e3dJUmZmpkaNGqWoqCgFBgaqQ4cOWrdunXO7CRMmqE2bNi77mjZtmurVq1fo8RYsWKC+ffu6LLvzzjv16quv6q677vK4ndVqVe/evbVgwYLinF6xMc8sAAAodeftOWo+blW5H/fXV6IV4FvyeLN7925t2bLFJeBNmTJFn3zyiWbNmqXGjRtrw4YNeuihhxQeHq5u3brp2LFj6tq1q7p3765vv/1WISEh2rhxo7KzsyVJKSkpGjhwoN59910ZhqG33npLvXv31v79+xUcHFzsNi5ZskRjxozR7t27tWTJEvn6+kqShg8frl9//VULFixQrVq19OWXX+qOO+7Qrl271Lhx4xLV4/Tp0/r111/Vrl27Em1/00036bXXXivRtkVFmAUAANe0//73vwoKClJ2drYyMzPl5eWld999V1Jub+fkyZP1zTffqGPHjpKkBg0a6Pvvv9f777+vbt26afr06QoNDdWCBQvk4+MjSbr++uud+7/ttttcjvfBBx+oSpUqWr9+vf70pz8Vu73VqlVTQECAfH19FRkZKUk6cuSI5s6dqyNHjqhWrVqSpFGjRmnlypWaO3euJk+eXPzCXNivYRjOfRZXrVq1dPToUTkcjjKbh5gwCwAASp2/j1W/vhJdIcctrltvvVUzZ85UWlqapk6dKsMwdPfdd0uSfv/9d6Wnp6tXr14u22RlZalt27aSpB07dqhLly7OIHup+Ph4jR07VuvWrVNCQoJycnKUnp6uI0eOFLutnuzatUs5OTkuIVrKDePVq1cv8X7Pnz8vSfLz8yvR9v7+/nI4HMrMzJS/v3+J21EYwiwAACh1Fovlit7uL0+BgYFq1KiRJOmjjz5Sq1at9NFHH2no0KFKTU2VJC1fvlxRUVEu29lsNkm6bEgbOHCgTp06pXfeeUd169aVzWZTx44dlZWVVWrnkJqaKqvVqq1btxZ4NGxQUJCk3Ce0XTqm2G63F7rfsLAwSdKZM2ecvcDFcfr0aQUGBpZZkJUIswAAAE5eXl6KjY3Vyy+/rIceekjNmzeXzWbTkSNH1K1bN7fbtGrVSh9//LHsdrvb3tmNGzdqxowZ6t27tyTp6NGjSkpKKtV2t23bVjk5OUpISFCXLl3crhMeHq6TJ0/KMAzn7AeFzWUrSQ0bNlRISIh+/fXXEoXZ3bt3O3uwywqzGQAAAOQTExMjq9Wq6dOnKzg4WKNGjdLIkSP18ccfKy4uTtu2bdO7776rjz/+WFLujVfJycnq37+/fv75Z+3fv1/z58/Xvn37JEmNGzfW/Pnz9dtvv+nHH3/Ugw8+WOo9lddff70efPBBDRgwQEuWLNHBgwe1ZcsWTZkyRcuXL5eUOwtCYmKi3njjDcXFxWn69OmXnTbLy8tLPXv21MaNG12Wp6amaseOHc4wfPDgQe3YsaPA0InvvvtOt99+e+mdqLs2luneAQAATMbb21vDhg3TG2+8obS0NE2aNEkvv/yypkyZombNmumOO+7Q8uXLVb9+fUlS9erV9e233yo1NVXdunVTu3bt9OGHHzp7aT/66COdOXNGN954ox5++GE988wzioiIKPV2z507VwMGDNBf//pXNWnSRDExMfrpp5+c88M2a9ZMM2bM0PTp09W6dWtt2bJFo0aNuux+H330US1cuNDl4Qc///yz2rZt6+x1jY2NVdu2bTVu3DjnOseOHdOmTZs0ePDgUj5TVxajJBOymVhycrJCQ0N17tw5hYSElPnx7Ha7VqxYod69e3scGH6tojbuURfPqI171MUzauNeadclIyNDBw8eVP369Ut8o1Bl4XA4lJycrJCQkDK7+95sDMNQhw4d9Nhjj2nIkCFFrsvzzz+vM2fO6IMPPnD7emHXTXHyGj8lAAAAeGSxWDRr1iznvLlFFRERoUmTJpVRqy7iBjAAAAAUqk2bNmrQoEGxtvnrX/9aRq1xRc8sAAAATIswCwAAANMizAIAgFJxjd1TjitUWtcLYRYAAFyRvBkR0tPTK7glMJO8J6Bd+sSy4uIGMAAAcEWsVquqVKmihIQESVJAQIDzCVNm43A4lJWVpYyMDKbmyqe06+JwOJSYmKiAgAB5e19ZHCXMAgCAK5b3qNO8QGtWhmHo/Pnz8vf3N20gLwtlURcvLy9dd911V7w/wiwAALhiFotFNWvWVEREhOx2e0U3p8Tsdrs2bNigrl278qCNfMqiLr6+vqXSy0uYBQAApcZqtV7xGMiKZLValZ2dLT8/P8JsPpW5LgwGAQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBaFR5mp0+frnr16snPz08dOnTQli1bCl1/2rRpatKkifz9/VWnTh2NHDlSGRkZ5dRaAAAAVCYVGmYXLlyo2NhYjR8/Xtu2bVPr1q0VHR2thIQEt+t/9tlnGjNmjMaPH6/ffvtNH330kRYuXKgXX3yxnFsOAACAyqBCw+zUqVM1dOhQDR48WM2bN9esWbMUEBCgOXPmuF1/06ZN6ty5sx544AHVq1dPt99+u+6///7L9uYCAADg6uRdUQfOysrS1q1b9cILLziXeXl5qWfPntq8ebPbbTp16qRPPvlEW7Zs0U033aQDBw5oxYoVevjhhz0eJzMzU5mZmc7vk5OTJUl2u112u72UzsazvGOUx7HMhtq4R108ozbuURfPqI171MUzauNeedelOMexGIZhlGFbPDp+/LiioqK0adMmdezY0bl89OjRWr9+vX788Ue32/3jH//QqFGjZBiGsrOz9cQTT2jmzJkejzNhwgRNnDixwPLPPvtMAQEBV34iAAAAKFXp6el64IEHdO7cOYWEhBS6boX1zJbEunXrNHnyZM2YMUMdOnTQ77//rhEjRmjSpEl6+eWX3W7zwgsvKDY21vl9cnKy6tSpo9tvv/2yxSkNdrtdq1evVq9eveTj41PmxzMTauMedfGM2rhHXTyjNu5RF8+ojXvlXZe8d9KLosLCbFhYmKxWq+Lj412Wx8fHKzIy0u02L7/8sh5++GE9+uijkqSWLVsqLS1Njz32mF566SV5eRUcAmyz2WSz2Qos9/HxKdeLtLyPZybUxj3q4hm1cY+6eEZt3KMunlEb98qrLsU5RoXdAObr66t27dppzZo1zmUOh0Nr1qxxGXaQX3p6eoHAarVaJUkVNFoCAAAAFahChxnExsZq4MCBat++vW666SZNmzZNaWlpGjx4sCRpwIABioqK0pQpUyRJffv21dSpU9W2bVvnMIOXX35Zffv2dYZaAAAAXDsqNMz269dPiYmJGjdunE6ePKk2bdpo5cqVqlGjhiTpyJEjLj2xY8eOlcVi0dixY3Xs2DGFh4erb9+++tvf/lZRpwAAAIAKVOE3gA0fPlzDhw93+9q6detcvvf29tb48eM1fvz4cmgZAAAAKrsKf5wtAAAAUFKEWQAAAJgWYRYAAACX5TAq5+xRFT5mFgAAABXHMAydO29XfHKm4pMzFJ+coYSUi19fXG5Vp+521fD1regmuyDMAgAAXIUMw1BqZrbikzOVkJyh+JSLwTQhL6BeWJaV7SjCHi1KSMlUjSqBZd724iDMAgAAmMz5rJyLPacpF8Jqvl7UvJ7V9KycIu+zSoCPagT7KSLEphohfqpx4XNEsJ+qB1i15+dNahReuYKsRJgFAACoNDKzc5SQnKmElPxv7xfsWU3JyC7yPoNt3vkC6oWwGuznEljDg23y8/H8ACq73a7juyRva+W73YowC1Qgh8PQyeQMHUxK04HEVMUlpulAYorijlm1MP5nhYf4KTzIprBg2yWffVU90Carl6WiTwEAUAT2HIeSUjPzvc2fL6zm61k9k24v8j79fayqEWJTxIWQWiPYdjGs5gXXYJsCbVd33Lu6zw6oJJIz7DqYmKYDSak6mJimuKQ0HUhM06GkNJ23u3sLyKJjB04Xuk8vi1Qt0FdhQTaFuwm74UF+Fz7bVDXAV14EXwAodTkOQ6fSMi+OQXW+ze/as3oqLVNFnQjA19srN6QG++X7fLEXNS/ABtu8ZbHwbzthFigl9hyHjpxOd4bWA4lpOnAhtCalZnrcztvLouuqB6hBWKAahAepblU/Hd63S9e3aK0z53OUmJqppJRMJaZmKjElU0mpmTqVliWHISWlZikpNUt7T6YU2jarl0XV8wXfi599nUE4PDj3I9Tfh38cAVzzDMPQ6bSsi3f3X3LDVF7PamJqpnIcRUup3l4WRQTn9aS69p7mfV0jhH+Hi4swCxSDYRhKTM3MDaqJaTqYL7QeOZ1e6D9o4cE2Z2DN/Ryo+mGBqlMtQD75xiDZ7XatSPhFvdvUko+Pj9t9Zec4dDo9S0kpWS5h1/n5QvBNTMnUmXS7chyGElIylZCSKZ0o/Bx9rBaFBRUMvAWDsE0hfvQKADAXwzCUnJF9ydv8F8PqyXPndTjBqlFbvpE9p2gh1csihQW59prWCM53A9WFz9V4l6xMEGYBN9Kzsi+E1bQLYTVVB5PSdDAxTSmZngfdB/haVT8sN6Q2CA9SwwuBtX5YoIL93AfTkvC2eikiOPcO08ux5zh0KjXrYsDN18Pr+jlL587bZc8xdOJchk6cy7jsvn29vfINb/AcesODbQr0tRJ8AZSptMzsizdMpVxyd39y5oVe1Qxl2C83DZVFUm6QrR7oe7EnNdjPdYzqhZBaPdC3Ut4Yda0gzOKaleMw9MeZdOdQAGcva2KaTiZ7DnJeFql21QA1CA9Ug7Ag1Q8PVMOwQNUPD1RkiF+lC2w+Vi9FhvopMvTywTczO0enUrM8ht3836dkZisr26FjZ8/r2Nnzl923n4/XxXDr5qa28HzjfAN8+acJwEUZ9hyXMHrxbf4LYfVCz2pqIZ0Nlwr193GZesoZTAO8Fbd7q2Kib1XNqkHy9SakVnb8j4GrmmEYOpNu14HE/GNYc3tZD59KV1aO57/OqwX65vawXuhlrR8WqIbhgbqueoBs3p6nLzEzm7dVtar4q1YV/8uum2HPcRt2E1MzLg5/uPBaelaOMuwOHT19XkdPXz74Bvpa3fbuVvX31uHTFtU6elY1qwYqLKjwqWQAVG5Z2Q4lprq5u/+SntVz54t+h39Q3jRULm/z5xujemEeVU//dtjtdq04LNWq4i8fgqwpEGZxVciw5+jQqbQLN19dHBpwIDGt0H8Efb29VL/6xfGrDcKDLvS4BqpKQOV6XF9l4+djVZ1qAapTLeCy66ZlZisp/1heD72/iSmZysx2KC0rR2mn0nXoVLqbvVk1e98W53fBft6X9PC6H+cbFmSjhwUoJ9k5Dp1y3jx1SVjNdwPVqbSsIu/T5p37LpOnSf3z3v4PusqnoUJB/MRhGg6HoRPJGc6e1QOJaYq78PWxs+cLnfIkqor/hbCaG1TrX7gJq1YVf+ZqLQeBNm8F2rxVt3rhT47Je/TipUMa8j4nJGfo9z8SZPf216nULGXlOJSSka2UjGwdSEq7bDtC/X3yhV2/AqE3LwxXC/R1uSkPQC6Hw9Dp9CzXu/udb/NfDK5JqZkq4g3+8rFaXN7mdzepf0SIHzecwiPCLCqdc+ftLoH1YFJuaD10Kq3QQfvBft65N12Fufay1qseKH9f3oo2A4vFomA/HwX7+ah+WMHga7fbtWLFCvXu3VXe3t5KPp9dyA1teTM85N78lu0wdO68XefO2/V7wuXaIVUN8M03Z6/nG9uqBfryBxFMzzByfz8uvs1/8XGo+ceoJqTk/i4VhdXLovAgW74bpi4G1PyT+lfx9+EOf1wRwiwqRFa2QwcS07TrtEXHvj+ow6cynDMGJKV6ftvJx2rRddUCVD8sd6aA3OEBuaG1eqAvf7VfQywWi0IDfBQa4KNGEUGFruu4EGQvnbM3L+zmX37qQo/S6bQsnU7L0r74wtuR+/CKgnP2upvTl4dXII9hGMpxGMp2GLLnOJSdY8juyP2c/2t7juPCeg7ZL3ktO8chuyP386XbZF9Ybs/J3TZ3+cX9ZGVnK+6Ql/55bIsSLjyVKiv7cnf457JYpOqBNtcJ/C+Z1D8ixMZTClFuCLMoM4aRO7dp3CW9rAcSU3X0zPkLc7JapX37C2wbEWzLHRKQb07WBmFBql3Vn+lPUGxeXhZVDfRV1UBfXV8juNB1cxyGzqRnuR3Pe+nwh9PpeQ+vyF1W1IdXeAq7+cMwk6YXZBiugSz7QmjLC4PuAl9GVpZ+O2uR375EGfLKF+wKBr68bfO+znG4D4P5ty9w7AL797xuxfOSTp91WVI1wOfiDVPBl8ybeuHrsCAbw3BQqRBmccVSM7N16MJQAGdgvfDY1rQsd49qzRXga1U1n2y1blBTjSKCXaa6YgA/KorV6+JDI5pGFr5udo5Dp9Oy8g118DStmZuHV1yGp4dXFJjWLNgmPy/3waiovX/ZDs9h8Ep6/zyGzQKvX/y6sOBY1KcsFWSVfttewm3Ll4/VIm8vL3lbLfKxesnb68Jnq+WSr70us27u9/lf87Ze3MZLDh38fZ+6d2irqGqBigj2y72WmB0EJkRiQJFk5zj0x5nzLo9pzXtsa3yy5/+YvSxSnWoBLtNb5YXWav5e+uqrr9S7dyuPT7oCKjNvq5ciLvRiXU5W9oXgm7+318N43+SM7GI/vMLPYtWEnWudvYGVp/evbHlZcn8OPpeEtbwQZ7VI59NSVa1q6IWgd3Edd2GwwOsuX7sGRp8L2+Ytdxs2PW5z8eu8Y1u9LOXWG2+327Uiba/uvCGSf39heoRZOBmGoVNpWc6hAM4prhJTdeR0eqH/MVYP9HWZ3so5J2u1QI/TIdntRZ83EDA7X++iP7wiw56jU2lZueN4PTyqOK8XOPXCwyuyZJGK+DtV1N4/q1deSHQf9twFsoKB0nOwy788L4y67tNN2LwkDF5uDPLFmwZvJrQBVynC7DUow56Tbwyr68MEkjM8Pz3F5u3l7FnNfZhAkLOXNTSA/ySA0uLnY1VUFX9FFeHhFeezcnTibKq++madunftIj+bb6Xp/QOA8kCYvUo5HIaOnT3v7GXNHceaG2ALe/SoxSLVCvV3zseaf2hArVB/7sQGKhl/X6vqVA1Q7UDp+hrB9D4CuOYQZk3uXLpdcUmpLr2sB5NyPzILmWYl5MKcrPlDa96crNwAAAAAzIIwawKZ2Tk6cirdZQxrXk/r6UIeBehjtahu9UBnz2rDCzMFNAgLVDXmZAUAAFcBwmwlYRiG4pMzdSAxVXH5Zgo4mJSmo6fTC30sYI0Qm3P8au6NV7lfR1VhTlYAAHB1I8yWs5QMu3MYQFy+XtaDSWlKL2RO1kBfq+vUVhceJlA/LFCBzMkKAACuUaSgMvbV7pNaGOelTz/6SYdOpRc6WbrVy6I6Vf0vBtULMwU0DA9UeLCNYQEAAACXIMyWsU0HTmtTgpekM85lYUG+uU+6ytfLWj8sUNdVC/A4JysAAAAKIsyWsduahOv08SPqdXMrNY4MVf2wQIX6M3UOAABAaSDMlrFbm4TrfJxDvdvUYv5HAACAUsZ72gAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLSuOMxmZmaWRjsAAACAYit2mP3qq680cOBANWjQQD4+PgoICFBISIi6deumv/3tbzp+/HhZtBMAAAAooMhh9ssvv9T111+vIUOGyNvbW88//7yWLFmiVatWafbs2erWrZu++eYbNWjQQE888YQSExOLtN/p06erXr168vPzU4cOHbRly5ZC1z979qyGDRummjVrymaz6frrr9eKFSuKehoAAAC4ingXdcU33nhDb7/9tu688055eRXMwPfdd58k6dixY3r33Xf1ySefaOTIkYXuc+HChYqNjdWsWbPUoUMHTZs2TdHR0dq3b58iIiIKrJ+VlaVevXopIiJCixcvVlRUlA4fPqwqVaoU9TQAAABwFSlymN28eXOR1ouKitJrr71WpHWnTp2qoUOHavDgwZKkWbNmafny5ZozZ47GjBlTYP05c+bo9OnT2rRpk3x8fCRJ9erVK9oJAAAA4KpT5DBb2rKysrR161a98MILzmVeXl7q2bOnx+C8bNkydezYUcOGDdO///1vhYeH64EHHtDzzz8vq9XqdpvMzEyXm9SSk5MlSXa7XXa7vRTPyL28Y5THscyG2rhHXTyjNu5RF8+ojXvUxTNq415516U4x7EYhmGU1oGPHj2q8ePHa86cOZdd9/jx44qKitKmTZvUsWNH5/LRo0dr/fr1+vHHHwts07RpUx06dEgPPvignnrqKf3+++966qmn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ACh/FR5m+/Xrp8TERI0bN04nT55UmzZttHLlStWoUUOSdOTIEXl5XexAnjlzprKysnTPPfe47Gf8+PGaMGFCeTYdAAAAFazCw6wkDR8+XMOHD3f72rp161y+P3ToUNk3CAAAAKZQ4Q9NAAAAAEqKMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTqhRhdvr06apXr578/PzUoUMHbdmypdD1Fy1apKZNm8rPz08tW7bUihUryqmlAAAAqEwqPMwuXLhQsbGxGj9+vLZt26bWrVsrOjpaCQkJbtfftGmT7r//fj3yyCPavn27YmJiFBMTo927d5dzywEAAFDRKjzMTp06VUOHDtXgwYPVvHlzzZo1SwEBAZozZ47b9d955x3dcccdeu6559SsWTNNmjRJN954o957771ybjkAAAAqmndFHjwrK0tbt27VCy+84Fzm5eWlnj17avPmzW632bx5s2JjY12WRUdHa+nSpW7Xz8zMVGZmpvP7c+fOSZJOnz4tu91+hWdweXa7Xenp6Tp16pR8fHzK/HhmQm3coy6eURv3qItn1MY96uIZtXGvvOuSkpIiSTIM47LrVmiYTUpKUk5OjmrUqOGyvEaNGtq7d6/bbU6ePOl2/ZMnT7pdf8qUKZo4cWKB5fXr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Ug6HQ5mZmW5fu1auF08Kq82lrtbrpUePHtq1a5d27Njh/Gjfvr0efPBB7dixw21guxaum5LU5VJX6zVzqdTUVMXFxXk8z0p3vVTIbWdXkZSUFGP79u3G9u3bDUnG1KlTje3btxuHDx82DMMwxowZYzz88MPO9Q8cOGAEBAQYzz33nPHbb78Z06dPN6xWq7Fy5cqKOoUyUdy6vP3228bSpUuN/fv3G7t27TJGjBhheHl5Gd98801FnUKZePLJJ43Q0FBj3bp1xokTJ5wf6enpznUefvhhY8yYMc7vN27caHh7extvvvmm8dtvvxnjx483fHx8jF27dlXEKZSZktRm4sSJxqpVq4y4uDhj69atRv/+/Q0/Pz9jz549FXEKZWLMmDHG+vXrjYMHDxq//PKLMWbMGMNisRhff/21YRjX7vViGMWvzbVwvXhy6V371/J1k9/l6nKtXDN//etfjXXr1hkHDx40Nm7caPTs2dMICwszEhISDMOo/NcLYfYK5U0pdenHwIEDDcMwjIEDBxrdunUrsE2bNm0MX19fo0GDBsbcuXPLvd1lrbh1ef31142GDRsafn5+RrVq1Yzu3bsb3377bcU0vgy5q4kkl2ugW7duzjrl+fzzz43rr7/e8PX1NVq0aGEsX768fBteDkpSm2effda47rrrDF9fX6NGjRpG7969jW3btpV/48vQkCFDjLp16xq+vr5GeHi40aNHD2dYM4xr93oxjOLX5lq4Xjy5NLRdy9dNfpery7VyzfTr18+oWbOm4evra0RFRRn9+vUzfv/9d+frlf16sRiGYZRfPzAAAABQehgzCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwDXKIvFoqVLl1Z0MwDgihBmAaACDBo0SBaLpcDHHXfcUdFNAwBT8a7oBgDAteqOO+7Q3LlzXZbZbLYKag0AmBM9swBQQWw2myIjI10+qlatKil3CMDMmTN15513yt/fXw0aNNDixYtdtt+1a5duu+02+fv7q3r16nrssceUmprqss6cOXPUokUL2Ww21axZU8OHD3d5PSkpSXfddZcCAgLUuHFjLVu2rGxPGgBKGWEWACqpl19+WXfffbd27typBx98UP3799dvv/0mSUpLS1N0dLSqVq2qn376SYsWLdI333zjElZnzpypYcOG6bHHHtOuXbu0bNkyNWrUyOUYEydO1H333adffvlFvXv31oMPPqjTp0+X63kCwJWwGIZhVHQjAOBaM2jQIH3yySfy8/NzWf7iiy/qxRdflMVi0RNPPKGZM2c6X7v55pt14403asaMGfrwww/1/PPP6+jRowoMDJQkrVixQn379tXx48dVo0YNRUVFafDgwXr11VfdtsFisWjs2LGaNGmSpNyAHBQUpK+++oqxuwBMgzGzAFBBbr31VpewKknVqlVzft2xY0eX1zp27KgdO3ZIkn777Te1bt3aGWQlqXPnznI4HNq3b58sFouOHz+uHj16FNqGVq1aOb8ODAxUSEiIEhISSnpKAFDuCLMAUEECAwMLvO1fWvz9/Yu0no+Pj8v3FotFDoejLJoEAGWCMbMAUEn98MMPBb5v1qyZJKlZs2bauXOn0tLSnK9v3LhRXl5eatKkiYKDg1WvXj2tWbOmXNsMAOWNnlkAqCCZmZk6efKkyzJvb2+FhYVJkhYtWqT27dvrlltu0aeffqotW7boo48+kiQ9+OCDGj9+vAYOHKgJEyYoMTFRTz/9tB5++GHVqFFDkjRhwgQ98cQTioiI0J133qmUlBRt3LhRTz/9dPmeKACUIcIsAFSQlStXqmbNmi7LmjRpor1790rKnWlgwYIFeuqpp1SzZk3961//UvPmzSVJAQEBWrVqlUaMGKH/+7//U0BAgO6++25NnTrVua+BAwcqIyNDb7/9tkaNGqWwsDDdc8895XeCAFAOmM0AACohi8WiL7/8UjExMRXdFACo1BgzCwAAANMizAIAAMC0GDMLAJUQI8AAoGjomQUAAIBpEWYBAABgWoRZAAAAmBZhFgAAAKZFmAUAAIBpEWYBAABgWoRZAAAAmBZhFgAAAKb1/wHIttwXMUX5cgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXzRJREFUeJzt3Xd4VFX+x/HPJJnMpAdISEgIVaTXIBiQooBREMWK6EpR7NhYFsRCYHVldRVxVwQsgLr6U0FFVhQEBFRARDooCEiTkgAhhfRk7u+PkJFJJmEmkAxD3q/n4ZG5Ze6ZLzfy4cy555gMwzAEAAAAeCEfTzcAAAAAqCzCLAAAALwWYRYAAABeizALAAAAr0WYBQAAgNcizAIAAMBrEWYBAADgtQizAAAA8FqEWQAAAHgtwixQw5lMJk2cONH+es6cOTKZTNq3b1+l3m/48OFq1KjReWmbJE2cOFEmk+m8vZ8rzrUGNdX777+vFi1ayGw2Kzw8XJLUu3dv9e7du9ra8NNPP8nf31/79++vsmuU/kz79u2TyWTSnDlzznru+f75kKrnfv3ll1/k5+enbdu2Vdk1gMoizAJVqOQvmZJffn5+io2N1fDhw3Xo0CFPNw84b3bs2KHhw4eradOmeuutt/Tmm296pB1PP/20hgwZooYNG3rk+lXphRde0Pz58z1y7VatWmnAgAGaMGGCR64PVMTP0w0AaoK///3vaty4sXJzc/Xjjz9qzpw5+uGHH7Rt2zZZrVZPNw84ZytWrJDNZtNrr72mSy65xL79m2++qbY2bNq0SUuXLtXq1aur7ZqS1LBhQ+Xk5MhsNlfpdV544QXdcsstGjRokMP2u+66S7fffrssFkuVXv+BBx5Q//79tWfPHjVt2rRKrwW4g55ZoBpce+21+stf/qKRI0fq7bff1pgxY7Rnzx4tWLDA000DzouUlBRJsg8vKOHv7y9/f/8Kz83NzZXNZjvnNsyePVsNGjTQ5Zdffs7v5Q6TySSr1SpfX99qvW4JX19fWa3WKh+O07dvX9WqVUvvvvtulV4HcBdhFvCAHj16SJL27NnjsH3Hjh265ZZbVLt2bVmtVnXu3Nlp4E1LS9MTTzyhRo0ayWKxqH79+ho6dKiOHz8uScrPz9eECRMUHx+vsLAwBQUFqUePHlq+fPl5/Rzz589XmzZtZLVa1aZNG33++edOj7PZbJo6dapat24tq9WqqKgo3X///Tp58mSlrjt79mxdddVVqlu3riwWi1q1aqXp06e7fP6OHTt02223KTIyUgEBAWrevLmefvrpCs/54osvNGDAAMXExMhisahp06Z67rnnVFRU5HDcrl27dPPNNys6OlpWq1X169fX7bffrvT0dPsxS5Ys0RVXXKHw8HAFBwerefPmeuqppxzeJy8vT0lJSbrkkktksVgUFxensWPHKi8v76yfr3fv3mrTpo1++eUXXXnllQoMDFRsbKxeeumlMsempKTonnvuUVRUlKxWq9q3b+92WGnUqJGSkpIkSZGRkQ7jsEuPL12xYoVMJpM++ugjPfPMM4qNjVVgYKAyMjIkSWvXrtU111yjsLAwBQYGqlevXlq1apVL7Zg/f76uuuoqh1B33XXXqUmTJk6PT0hIUOfOne2vK3tflTdm1tWfj5dfflndunVTnTp1FBAQoPj4eM2bN8/hGJPJpKysLL377rv2YUvDhw+XVP6Y2TfeeEOtW7eWxWJRTEyMHn74YaWlpTkc4869Yjab1bt3b33xxRdnrQlQnRhmAHhAyV86tWrVsm/bvn27unfvrtjYWD355JMKCgrSJ598okGDBunTTz/VjTfeKEk6deqUevTooV9//VV33323OnXqpOPHj2vBggX6448/FBERoYyMDL399tsaMmSI7r33XmVmZuqdd95RYmKifvrpJ3Xo0OGcP8M333yjm2++Wa1atdLkyZN14sQJjRgxQvXr1y9z7P333685c+ZoxIgRevTRR7V37169/vrr2rhxo1atWuX217PTp09X69atdf3118vPz0//+9//9NBDD8lms+nhhx+u8NwtW7aoR48eMpvNuu+++9SoUSPt2bNH//vf//SPf/yj3PPmzJmj4OBgjR49WsHBwfr22281YcIEZWRk6F//+pek4n9EJCYmKi8vT4888oiio6N16NAhffnll0pLS1NYWJi2b9+u6667Tu3atdPf//53WSwW7d692yGw2Ww2XX/99frhhx903333qWXLltq6dateffVV/fbbby6Nmzx58qSuueYa3XTTTbrttts0b948jRs3Tm3bttW1114rScrJyVHv3r21e/dujRo1So0bN9bcuXM1fPhwpaWl6bHHHnPhT0OaOnWq3nvvPX3++eeaPn26goOD1a5duwrPee655+Tv768xY8YoLy9P/v7++vbbb3XttdcqPj5eSUlJ8vHxsQfM77//Xl26dCn3/Q4dOqQDBw6oU6dODtsHDx6soUOHat26dbrsssvs2/fv368ff/zR/mcnndt9VZo7Px+vvfaarr/+et15553Kz8/XRx99pFtvvVVffvmlBgwYIKn44bqRI0eqS5cuuu+++ySpwq/6J06cqEmTJqlv37568MEHtXPnTk2fPl3r1q0r8zPnyr1SIj4+Xl988YUyMjIUGhrqVk2AKmMAqDKzZ882JBlLly41jh07Zhw8eNCYN2+eERkZaVgsFuPgwYP2Y/v06WO0bdvWyM3NtW+z2WxGt27djGbNmtm3TZgwwZBkfPbZZ2WuZ7PZDMMwjMLCQiMvL89h38mTJ42oqCjj7rvvdtguyUhKSirT5r1791b42Tp06GDUq1fPSEtLs2/75ptvDElGw4YN7du+//57Q5LxwQcfOJy/aNEip9tLS0pKMkr/ryo7O7vMcYmJiUaTJk0qfC/DMIyePXsaISEhxv79+x22l9TOMJzXwNk177//fiMwMND+Z7Zx40ZDkjF37txyr//qq68akoxjx46Ve8z7779v+Pj4GN9//73D9hkzZhiSjFWrVlX4GXv16mVIMt577z37try8PCM6Otq4+eab7dumTp1qSDL++9//2rfl5+cbCQkJRnBwsJGRkVHhdc5U8udU+nP16tXL6NWrl/318uXLDUlGkyZNHGpqs9mMZs2aGYmJiQ5/FtnZ2Ubjxo2Nfv36VXj9pUuXGpKM//3vfw7b09PTDYvFYvz1r3912P7SSy8ZJpPJ4T5w9b4q/Zn27t1rSDJmz55t3+bqz4ez6+bn5xtt2rQxrrrqKoftQUFBxrBhw8q0sfT9mpKSYvj7+xtXX321UVRUZD/u9ddfNyQZs2bNcvgsrtwrJT788ENDkrF27doy+wBPYZgBUA369u2ryMhIxcXF6ZZbblFQUJAWLFhg76VJTU3Vt99+q9tuu02ZmZk6fvy4jh8/rhMnTigxMVG7du2yz37w6aefqn379vae2jOVfL3q6+trH6dos9mUmpqqwsJCde7cWRs2bDjnz3PkyBFt2rRJw4YNU1hYmH17v3791KpVK4dj586dq7CwMPXr18/+uY4fP674+HgFBwdXauhDQECA/ffp6ek6fvy4evXqpd9//93h6/zSjh07pu+++0533323GjRo4LDvbOMNz7xmyZ9Rjx49lJ2drR07dkiSvRaLFy9Wdna20/cpGVP6xRdflDtOdO7cuWrZsqVatGjhULOrrrpKklyqWXBwsP7yl7/YX/v7+6tLly76/fff7du++uorRUdHa8iQIfZtZrNZjz76qE6dOqWVK1ee9TqVNWzYMIeabtq0Sbt27dIdd9yhEydO2D9zVlaW+vTpo++++67CcbUnTpyQ5PhthySFhobq2muv1SeffCLDMOzbP/74Y11++eUO90Fl76vS3Pn5KH3dkydPKj09XT169Kj0z+rSpUuVn5+vxx9/XD4+f/41f++99yo0NFQLFy50ON6Ve6VESX1LhjQBFwLCLFANpk2bpiVLlmjevHnq37+/jh8/7vDk8e7du2UYhp599llFRkY6/CoZi1jygM2ePXvUpk2bs17z3XffVbt27WS1WlWnTh1FRkZq4cKFbv2lXJ6SOTybNWtWZl/z5s0dXu/atUvp6emqW7dumc926tQp++dyx6pVq9S3b18FBQUpPDxckZGR9jGnFX2+kr+cXalfadu3b9eNN96osLAwhYaGKjIy0h4ASq7ZuHFjjR49Wm+//bYiIiKUmJioadOmObRp8ODB6t69u0aOHKmoqCjdfvvt+uSTTxyC2q5du7R9+/Yy9br00kslyaWa1a9fv0xAr1WrlsM45f3796tZs2YOgUeSWrZsad9fVRo3buzweteuXZKKQ27pz/32228rLy/PpXv3zMBaYvDgwTp48KDWrFkjqfhnaP369Ro8eLDDcZW9r0pz5+dDkr788ktdfvnlslqtql27tiIjIzV9+vRK/6yWXL/0tfz9/dWkSZMyf66u3CslSupb3XM/AxVhzCxQDbp06WJ/0GTQoEG64oordMcdd2jnzp0KDg62B5kxY8YoMTHR6XucOd3R2fz3v//V8OHDNWjQIP3tb39T3bp15evrq8mTJ5d56Kyq2Ww21a1bVx988IHT/ZGRkW693549e9SnTx+1aNFCU6ZMUVxcnPz9/fXVV1/p1VdfPS9PxZeWlpamXr16KTQ0VH//+9/VtGlTWa1WbdiwQePGjXO45iuvvKLhw4friy++0DfffKNHH31UkydP1o8//qj69esrICBA3333nZYvX66FCxdq0aJF+vjjj3XVVVfpm2++ka+vr2w2m9q2baspU6Y4bU9cXNxZ21zek/XOwp4nnNkbKclew3/961/ljukODg4u9/3q1KkjSU4D2MCBAxUYGKhPPvlE3bp10yeffCIfHx/deuut9mM8cV9J0vfff6/rr79ePXv21BtvvKF69erJbDZr9uzZ+vDDD6vkmqW5c6+U1DciIqJK2wS4gzALVLOSUHnllVfq9ddf15NPPml/2tpsNqtv374Vnt+0adOzrsIzb948NWnSRJ999plDD0pJL++5KpmQvqQ37Uw7d+50eN20aVMtXbpU3bt3LxNgKuN///uf8vLytGDBAoeviF356r2kzu6uYrRixQqdOHFCn332mXr27GnfvnfvXqfHt23bVm3bttUzzzyj1atXq3v37poxY4aef/55SZKPj4/69OmjPn36aMqUKXrhhRf09NNPa/ny5erbt6+aNm2qzZs3q0+fPlXaA9awYUNt2bJFNpvNoXe2ZNhEdS48UPIwU2ho6Fl/Bpxp0aKFJOd/JkFBQbruuus0d+5cTZkyRR9//LF69OihmJgY+zHncl+V5s7Px6effiqr1arFixc7fFsze/bsMue6ei+UXH/nzp0OMznk5+dr7969lapvib1798rHx8f+LQFwIWCYAeABvXv3VpcuXTR16lTl5uaqbt266t27t2bOnKkjR46UOf7YsWP23998883avHmz02l+SnpSSnpazuxZWbt2rf1r1nNVr149dejQQe+++26ZKad++eUXh2Nvu+02FRUV6bnnnivzPoWFhWWmCjobZ58tPT3d6V/+pUVGRqpnz56aNWuWDhw44LCvoh5LZ9fMz8/XG2+84XBcRkaGCgsLHba1bdtWPj4+9im1UlNTy7x/SU9kyTG33XabDh06pLfeeqvMsTk5OcrKyiq3re7o37+/jh49qo8//ti+rbCwUP/5z38UHBysXr16nZfruCI+Pl5NmzbVyy+/rFOnTpXZf+bPgDOxsbGKi4vTzz//7HT/4MGDdfjwYb399tvavHlzmSEG53JflebOz4evr69MJpPDFG/79u1zOmNFUFCQSz8vffv2lb+/v/797387fJ533nlH6enp9hkSKmP9+vVq3bq1w1hgwNPomQU85G9/+5tuvfVWzZkzRw888ICmTZumK664Qm3bttW9996rJk2aKDk5WWvWrNEff/yhzZs328+bN2+ebr31Vt19992Kj49XamqqFixYoBkzZqh9+/a67rrr9Nlnn+nGG2/UgAEDtHfvXs2YMUOtWrVyGhQqY/LkyRowYICuuOIK3X333UpNTdV//vMftW7d2uEavXr10v3336/Jkydr06ZNuvrqq2U2m7Vr1y7NnTtXr732mm655RaXr3v11VfL399fAwcO1P33369Tp07prbfeUt26dZ3+Q6C0f//737riiivUqVMn3XfffWrcuLH27dunhQsXatOmTU7P6datm2rVqqVhw4bp0Ucflclk0vvvv18mAH/77bcaNWqUbr31Vl166aUqLCzU+++/L19fX918882SileD++677zRgwAA1bNhQKSkpeuONN1S/fn1dccUVkopXdPrkk0/0wAMPaPny5erevbuKioq0Y8cOffLJJ1q8eLHD/KiVdd9992nmzJkaPny41q9fr0aNGmnevHlatWqVpk6dqpCQkHO+hqt8fHz09ttv69prr1Xr1q01YsQIxcbG6tChQ1q+fLlCQ0P1v//9r8L3uOGGG/T555/LMIwyvZj9+/dXSEiIxowZ4/DnUeJc76vSXP35GDBggKZMmaJrrrlGd9xxh1JSUjRt2jRdcskl2rJli8N7xsfHa+nSpZoyZYpiYmLUuHFjde3atcy1IyMjNX78eE2aNEnXXHONrr/+eu3cuVNvvPGGLrvsMoeHvdxRUFCglStX6qGHHqrU+UCV8cAMCkCNUTJlzrp168rsKyoqMpo2bWo0bdrUKCwsNAzDMPbs2WMMHTrUiI6ONsxmsxEbG2tcd911xrx58xzOPXHihDFq1CgjNjbW8Pf3N+rXr28MGzbMOH78uGEYxdMcvfDCC0bDhg0Ni8VidOzY0fjyyy+NYcOGlZkWSJWcmsswDOPTTz81WrZsaVgsFqNVq1bGZ5995vQahmEYb775phEfH28EBAQYISEhRtu2bY2xY8cahw8frvAazqbmWrBggdGuXTvDarUajRo1Ml588UVj1qxZLrd727Ztxo033miEh4cbVqvVaN68ufHss89WWINVq1YZl19+uREQEGDExMQYY8eONRYvXmxIMpYvX24YhmH8/vvvxt133200bdrUsFqtRu3atY0rr7zSWLp0qf19li1bZtxwww1GTEyM4e/vb8TExBhDhgwxfvvtN4c25ufnGy+++KLRunVrw2KxGLVq1TLi4+ONSZMmGenp6RV+vl69ehmtW7cus93Zn01ycrIx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VrJYLDpw4IAuueQSh19xcXGSintIv//+exUUFDh9z1WrVunRRx9V//791bp1a1ksFp04caJKP0fLli21efNmZWVlObTDx8dHzZs3r7LrdurUSdu3b1ejRo3K1Kt08C1REk5/+eUX+7bGjRsrOjpay5Yts2/LyMjQ2rVr7cM9Smzbts3eS15VCLMAAMBr3HrrrfL19dW0adMUEhKiMWPG6IknntC7776rPXv2aMOGDfrPf/6jd999V5I0atQoZWRk6Pbbb9fPP/+sXbt26f3339fOnTslFY8rff/99/Xrr79q7dq1uuuuu87am3uu7rzzTlmtVg0bNkzbtm3T8uXL9cgjj+iuu+46b0MMnHn44YeVmpqqIUOGaN26ddqzZ48WL16sESNGqKioyOk5kZGR6tSpk/0hMqm4l/nxxx/X888/rwULFmjr1q0aOnSoYmJiHGZUyM7O1vr163X11VdX2WeSCLMAAMCL+Pn5adSoUXrppZeUlZWl5557Ts8++6wmT56sli1b6pprrtHChQvVuHFjSVKdOnX07bff6tSpU+rVq5fi4+P11ltv2YcBvPPOOzp58qQ6deqku+66S6NGjVJERESVfobAwEAtXrxYqampuuyyy3TLLbeoT58+9gfbqkpMTIxWrVqloqIiXX311Wrbtq0ef/xxhYeHVzjcZOTIkfrwww8dto0dO1aPPPKI7rvvPl122WU6deqUFi1aJKvVaj/miy++UIMGDdSjR48q+0ySZDLcnfDNy2VkZCgsLEzp6ekKDQ2tlmsWFBToq6++Uv/+/csdgF4TUZfyURvnqItz1KV81EbKzc3V3r171bhxY3vQsNlsysjIUGho6AU/Zra6UZuycnJy1Lx5c7399tvq27evy3W5/PLL9eijj+qOO+5wut/ZvVnCnbzGnxIAAADKFRAQoDlz5rg1lvj48eO66aabNGTIkCpsWTFmMwAAALiAOJs6q8TXX39d5V/bO9O7d29lZGS4fHxERITGjh1bhS36E2EWAADgArJp06Zy95WeggyEWQAAgAtKyby6cA1jZgEAqAFq2PPe8ALn654kzAIAcBErmcWhqpcUBdxVsqqYr697SxyXxjADAAAuYr6+vgoPD1dKSoqk4jlODcNQfn6+cnNzmX6qFJvNRm2cON91sdlsOnbsmAIDA+Xnd25xlDALAMBFLjo6WpLsgdYwDOXk5CggIEAmk8mTTbvgUBvnqqIuPj4+atCgwTm/H2EWAICLnMlkUr169VS3bl0VFBSooKBA3333nXr27FljF5MoD7Vxrirq4u/vf156eQmzAADUEL6+vvZfhYWFslqtBLZSqI1zF3JdGAwCAAAAr0WYBQAAgNcizAIAAMBrEWYBAADgtQizAAAA8FqEWQAAAHgtwiwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFkAAAB4LcIsAAAAvBZhFgAAAF6LMAsAAACvRZgFAACA1yLMAgAAwGsRZgEAAOC1CLMAAADwWoRZAAAAeC3CLAAAALwWYRYAAABeizALAAAAr0WYBQAAgNcizAIAAMBrEWYBAADgtQizAAAA8FqEWQAAAHgtwiwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFkAAAB4rQsizE6bNk2NGjWS1WpV165d9dNPP1V4/NSpU9W8eXMFBAQoLi5OTzzxhHJzc6uptQAAALhQeDzMfvzxxxo9erSSkpK0YcMGtW/fXomJiUpJSXF6/Icffqgnn3xSSUlJ+vXXX/XOO+/o448/1lNPPVXNLQcAAICneTzMTpkyRffee69GjBihVq1aacaMGQoMDNSsWbOcHr969Wp1795dd9xxhxo1aqSrr75aQ4YMOWtvLgAAAC4+fp68eH5+vtavX6/x48fbt/n4+Khv375as2aN03O6deum//73v/rpp5/UpUsX/f777/rqq6901113OT0+Ly9PeXl59tcZGRmSpIKCAhUUFJzHT1O+kutU1/W8BXUpH7Vxjro4R13KR22coy7lozbOVXdd3LmOyTAMowrbUqHDhw8rNjZWq1evVkJCgn372LFjtXLlSq1du9bpef/+9781ZswYGYahwsJCPfDAA5o+fbrTYydOnKhJkyaV2f7hhx8qMDDw/HwQAAAAnDfZ2dm64447lJ6ertDQ0AqP9WjPbGWsWLFCL7zwgt544w117dpVu3fv1mOPPabnnntOzz77bJnjx48fr9GjR9tfZ2RkKC4uTldfffVZi3O+FBQUaMmSJerXr5/MZnO1XNMbUJfyURvnqItz1KV81MY56lI+auNcddel5Jt0V3g0zEZERMjX11fJyckO25OTkxUdHe30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+0wmE2EWAAAA1cbtMPv888/rH//4h8aNG1cV7QEAAABc5vbUXCdPntStt95aFW0BAAAA3OJ2mL311lv1zTffVEVbAAAAALe4Pczgkksu0bPPPqsff/xRbdu2ldlsdtj/6KOPnrfGAQAAABVxO8y++eabCg4O1sqVK7Vy5UqHfSaTiTALAACAauN2mN27d29VtAMAAABwm9tjZgEAAIALBWEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAa7k0m8GWLVtcfsN27dpVujEAAACAO1wKsx06dJDJZJJhGE73l+wzmUwqKio6rw0EAAAAyuNSmGVuWQAAAFyIXAqzDRs2rOp2AAAAAG5zKcwuWLDA5Te8/vrrK90YAAAAwB0uhdlBgwa59GaMmQUAAEB1cinM2my2qm4HAAAA4DbmmQUAAIDXcqlntrSsrCytXLlSBw4cUH5+vsO+Rx999Lw0DAAAADgbt8Psxo0b1b9/f2VnZysrK0u1a9fW8ePHFRgYqLp16xJmAQAAUG3cHmbwxBNPaODAgTp58qQCAgL0448/av/+/YqPj9fLL79cFW0EAAAAnHI7zG7atEl//etf5ePjI19fX+Xl5SkuLk4vvfSSnnrqqapoIwAAAOCU22HWbDbLx6f4tLp16+rAgQOSpLCwMB08ePD8tg4AAACogNtjZjt27Kh169apWbNm6tWrlyZMmKDjx4/r/fffV5s2baqijQAAAIBTbvfMvvDCC6pXr54k6R//+Idq1aqlBx98UMeOHdPMmTPPewMBAACA8rjdM9u5c2f77+vWratFixad1wYBAAAArnK7Z3bv3r3atWtXme27du3Svn37KtWIadOmqVGjRrJareratat++uknl8776KOPZDKZXF5uFwAAABcXt8Ps8OHDtXr16jLb165dq+HDh7vdgI8//lijR49WUlKSNmzYoPbt2ysxMVEpKSkVnrdv3z6NGTNGPXr0cPuaAAAAuDi4HWY3btyo7t27l9l++eWXa9OmTW43YMqUKbr33ns1YsQItWrVSjNmzFBgYKBmzZpV7jlFRUW68847NWnSJDVp0sTtawIAAODi4PaYWZPJpMzMzDLb09PTVVRU5NZ75efna/369Ro/frx9m4+Pj/r27as1a9aUe97f//531a1bV/fcc4++//77Cq+Rl5envLw8++uMjAxJUkFBgQoKCtxq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6NFD27ZtU0hISJnjL7T7hTCLC0bz5s3VvHlz++tu3bppz549evXVV/X+++97sGVV5+GHH9a2bdsqHJtUE7lal4SEBIdeuG7duqlly5aaOXOmnnvuuapuZrVq3ry5Nm3apPT0dM2bN0/Dhg3TypUryw1uNYU7dakp98vBgwf12GOPacmSJRfdg0rnqjK1qQn3zbXXXmv/fbt27dS1a1c1bNhQn3zyie655x4Ptsw1hNlqFh0dreTkZIdtycnJCg0NrdG9suXp0qXLRRv0Ro0apS+//FLffffdWf91X959Ex0dXZVN9Ah36lKa2WxWx44dtXv37ipqnef4+/vrkksukSTFx8dr3bp1eu211zRz5swyx9ak+8WdupR2sd4v69evV0pKisM3WkVFRfruu+/0+uuvKy8vT76+vg7n1JR7pjK1Ke1ivW/OFB4erksvvbTcz3ih3S+Mma1mCQkJWrZsmcO2JUuWVDjGqybbtGmT6tWr5+lmnFeGYWjUqFH6/PPP9e2336px48ZnPacm3DeVqUtpRUVF2rp160V3zzhjs9mUl5fndF9NuF/KU1FdSrtY75c+ffpo69at2rRpk/1X586ddeedd2rTpk1Ow1pNuWcqU5vSLtb75kynTp3Snj17yv2MF9z94pHHzi4imZmZxsaNG42NGzcakowpU6YYGzduNPbv328YhmE8+eSTxl133WU//vfffzcCAwONv/3tb8avv/5qTJs2zfD19TUWLVrkqY9QZdytzauvvmrMnz/f2LVrl7F161bjscceM3x8fIylS5d66iNUiQcffNAICwszVqxYYRw5csT+Kzs7237MXXfdZTz55JP216tWrTL8/PyMl19+2fj111+NpKQkw2w2G1u3bvXER6gSlanLpEmTjMWLFxt79uwx1q9fb9x+++2G1Wo1tm/f7omPUGWefPJJY+XKlcbevXuNLVu2GE8++aRhMpmMb775xjCMmnm/GIb7dakp94szpZ/Yr6n3jDNnq01NuG/++te/GitWrDD27t1rrFq1yujbt68RERFhpKSkGIZx4d8vhNlzVDKdVOlfw4YNMwzDMIYNG2b06tWrzDkdOnQw/P39jSZNmhizZ8+u9nZXB3dr8+KLLxpNmzY1rFarUbt2baN3797Gt99+65nGVyFnNZHkcB/06tXLXqcSn3zyiXHppZca/v7+RuvWrY2FCxdWb8OrWGXq8vjjjxsNGjQw/P39jaioKKN///7Ghg0bqr/xVezuu+82GjZsaPj7+xuRkZFGnz597IHNMGrm/WIY7telptwvzpQObDX1nnHmbLWpCffN4MGDjXr16hn+/v5GbGysMXjwYGP37t32/Rf6/WIyDMOovn5gAAAA4PxhzCwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFkAAAB4LcIsANRgJpNJ8+fP93QzAKDSCLMA4CHDhw+XyWQq8+uaa67xdNMAwGv4eboBAFCTXXPNNZo9e7bDNovF4qHWAID3oWcWADzIYrEoOjra4VetWrUkFQ8BmD59uq699loFBASoSZMmmjdvnsP5W7du1VVXXaWAgADVqVNH9913n06dOuVwzKxZs9S6dWtZLBbVq1dPo0aNcth//Phx3XjjjQoMDFSzZs20YMGCqv3QAHAeEWYB4AL27LPP6uabb9bmzZt155136vbbb9evv/4qScrKylJiYqJq1aqldevWae7cuVq6dKlDWJ0+fboefvhh3Xfffdq6dasWLFigSy65xOEakyZN0m233aYtW7aof//+uvPOO5WamlqtnxMAKstkGIbh6UYAQE00fPhw/fe//5XVanXY/tRTT+mpp56SyWTSAw88oOnTp9v3XX755erUqZPeeOMNvfXWWxo3bpwOHjyooKAgSdJXX32lgQMH6vDhw4qKilJsbKxGjBih559/3mkbTCaTnnnmGT333HOSigNycHCwvv76a8buAvAKjJkFAA+68sorHcKqJNWuXdv++4SEBId9CQkJ2rRpkyTp119/Vfv27e1BVpK6d+8um82mnTt3ymQy6fDhw+rTp0+FbWjXrp3990FBQQoNDVVKSkplPxIAVCvCLAB4UFBQUJmv/c+XgIAAl44zm80Or00mk2w2W1U0CQDOO8bMAsAF7McffyzzumXLlpKkli1bavPmzcrKyrLvX7VqlXx8fNS8eXOFhISoUaNGWrZsWbW2GQCqEz2zAOBBeXl5Onr0qMM2Pz8/RURESJLmzp2rzp0764orrtAHH3ygn376Se+8844k6c4771RSUpKGDRumiRMn6tixY3rkkUd01113KSoqSpI0ceJEPfDAA6pbt66uvfZaZWZmatWqVXrkkUeq94MCQBUhzAKABy1atEj16tVz2Na8eXPt2LFDUvFMAx999JEeeugh1atXT//3f/+nVq1aSZICAwO1ePFiPfbYY7rssssUGBiom2++WVOmTLG/17Bhw5Sbm6tXX31VY8aMUUREhG655Zbq+4AAUMWYzQAALlAmk0mff/65Bg0a5OmmAMAFizGzAAAA8FqEWQAAAHgtxswCwAWKUWAAcHb0zAIAAMBrEWYBAADgtQizAAAA8FqEWQAAAHgtwiwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDX+n/7jFmUU4jcNQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAATmpJREFUeJzt3Xl8U1Xex/Fv2iZp01IoFCiblE0WZZHVoigiWDcUFQXkgQIObqBgxwVcWORRlEHcxXEBdYZNGOFhxMGpRUQFQYEKKKIgiGxlLV1p0+Y+f5SGhiZdoG166ef9evVlcnKSe/Ljql9Ozz3XYhiGIQAAAMCEAvw9AAAAAOBcEWYBAABgWoRZAAAAmBZhFgAAAKZFmAUAAIBpEWYBAABgWoRZAAAAmBZhFgAAAKZFmAUAAIBpEWYBAOVm9erVslgsWr16tbttxIgRio6OLvG9e/bskcVi0QcffFCuY4qOjtaIESPK9TMBVB2EWQAV6q233pLFYlGPHj38PRRcwNauXaspU6YoJSXF30MBUMmC/D0AABe2efPmKTo6Whs2bNDOnTvVsmVLfw8Jlezdd9+Vy+Wq0GOsXbtWU6dO1YgRI1SrVi2P13bs2KGAAOZugAsV/3YDqDC7d+/W2rVrNWvWLNWtW1fz5s3z95B8ysjI8PcQLlhWq1V2u91vx7fb7bJarX47PoCKRZgFUGHmzZuniIgI3XTTTRo4cKDPMJuSkqJHHnlE0dHRstvtaty4sYYPH66jR4+6+5w6dUpTpkzRxRdfrODgYDVo0EC33367du3aJcn7Wk3J+zrMESNGKCwsTLt27dKNN96oGjVqaOjQoZKkr7/+Wnfeeacuuugi2e12NWnSRI888oiysrKKjPuXX37RXXfdpbp16yokJEStW7fWU089JUn68ssvZbFYtHTp0iLvmz9/viwWi9atW1ds/VJSUjR+/Hg1adJEdrtdLVu21Isvvugxy1nw/WbOnKl33nlHLVq0kN1uV7du3fT9998X+/k//PCDLBaLPvzwwyKvff7557JYLPr0008lSX/88YcefPBBtW7dWiEhIapTp47uvPNO7dmzp9hjSN7XzKakpGjEiBGqWbOmatWqpbi4OK9LBLZs2aIRI0aoefPmCg4OVlRUlEaNGqVjx465+0yZMkWPPfaYJKlZs2ayWCyyWCzusXlbM/v777/rzjvvVO3ateVwOHT55ZdrxYoVHn0KzqmPP/5Yzz33nBo3bqzg4GBde+212rlzZ4nfG0DlYJkBgAozb9483X777bLZbBoyZIhmz56t77//Xt26dXP3SU9PV69evbR9+3aNGjVKnTt31tGjR7V8+XLt27dPkZGRysvL080336zExEQNHjxY48aNU1pamhISErRt2za1aNGizGPLzc1VbGysrrzySs2cOVMOh0OStHjxYmVmZuqBBx5QnTp1tGHDBr3++uvat2+fFi9e7H7/li1b1KtXL1mtVt17772Kjo7Wrl279O9//1vPPfecevfurSZNmmjevHm67bbbitSlRYsWiomJ8Tm+zMxMXX311dq/f7/uu+8+XXTRRVq7dq0mTpyogwcP6pVXXvHoP3/+fKWlpem+++6TxWLRjBkzdPvtt+v333/3OSvZtWtXNW/eXB9//LHi4uI8Xlu0aJEiIiIUGxsrSfr++++1du1aDR48WI0bN9aePXs0e/Zs9e7dWz///LO7fqVhGIZuvfVWffPNN7r//vvVtm1bLV26tMgYJCkhIUG///67Ro4cqaioKP30009655139NNPP+m7776TxWLR7bffrl9//VULFizQyy+/rMjISElS3bp1vR4/OTlZPXv2VGZmph5++GHVqVNHH374oW655RYtWbKkyJ/XCy+8oICAAD366KM6efKkZsyYoaFDh2r9+vWl/s4AKpABABXghx9+MCQZCQkJhmEYhsvlMho3bmyMGzfOo9+kSZMMScYnn3xS5DNcLpdhGIYxZ84cQ5Ixa9Ysn32+/PJLQ5Lx5Zdfery+e/duQ5Ixd+5cd1tcXJwhyZgwYUKRz8vMzCzSNn36dMNisRh//PGHu+2qq64yatSo4dFWeDyGYRgTJ0407Ha7kZKS4m47fPiwERQUZEyePLnIcQqbNm2aERoaavz6668e7RMmTDACAwONvXv3eny/OnXqGMePH3f3+7//+z9DkvHvf/+72ONMnDjRsFqtHu/Nzs42atWqZYwaNcrd5q0u69atMyQZH330kbvN259DXFyc0bRpU/fzZcuWGZKMGTNmuNtyc3ONXr16Ffmz8nbcBQsWGJKMNWvWuNv+9re/GZKM3bt3F+nftGlTIy4uzv18/PjxhiTj66+/drelpaUZzZo1M6Kjo428vDyP79K2bVsjOzvb3ffVV181JBlbt24tciwAlY9lBgAqxLx581S/fn1dc801kiSLxaJBgwZp4cKFysvLc/f717/+pY4dOxaZDSt4T0GfyMhIPfTQQz77nIsHHnigSFtISIj7cUZGho4ePaqePXvKMAxt3rxZknTkyBGtWbNGo0aN0kUXXeRzPMOHD1d2draWLFniblu0aJFyc3P1P//zP8WObfHixerVq5ciIiJ09OhR90/fvn2Vl5enNWvWePQfNGiQIiIi3M979eolKf/X6cUZNGiQnE6nPvnkE3fbf//7X6WkpGjQoEFe6+J0OnXs2DG1bNlStWrV0qZNm4o9xtk+++wzBQUFedQ/MDDQ659v4eOeOnVKR48e1eWXXy5JZT5u4eN3795dV155pbstLCxM9957r/bs2aOff/7Zo//IkSNls9ncz0tbWwCVgzALoNzl5eVp4cKFuuaaa7R7927t3LlTO3fuVI8ePZScnKzExER33127dunSSy8t9vN27dql1q1bKyio/FZGBQUFqXHjxkXa9+7dqxEjRqh27doKCwtT3bp1dfXVV0uSTp48KelMiClp3G3atFG3bt081grPmzdPl19+eYm7Ovz2229auXKl6tat6/HTt29fSdLhw4c9+p8dqguC7YkTJ4o9TseOHdWmTRstWrTI3bZo0SJFRkaqT58+7rasrCxNmjTJvX43MjJSdevWVUpKirsupfXHH3+oQYMGCgsL82hv3bp1kb7Hjx/XuHHjVL9+fYWEhKhu3bpq1qyZJJX5uIWP7+1Ybdu2db9e2LnWFkDlYM0sgHK3atUqHTx4UAsXLtTChQuLvD5v3jxdd9115XpMXzO0hWeBC7Pb7UW2a8rLy1O/fv10/PhxPfHEE2rTpo1CQ0O1f/9+jRgx4py2lxo+fLjGjRunffv2KTs7W999953eeOONEt/ncrnUr18/Pf74415fv/jiiz2eBwYGeu1nGEaJxxo0aJCee+45HT16VDVq1NDy5cs1ZMgQj788PPTQQ5o7d67Gjx+vmJgY1axZUxaLRYMHD67QbbfuuusurV27Vo899pg6deqksLAwuVwuXX/99RW+3VeB86ktgIpHmAVQ7ubNm6d69erpzTffLPLaJ598oqVLl+rtt99WSEiIWrRooW3bthX7eS1atND69evldDp9XsxUMFt29hXxZ8+yFWfr1q369ddf9eGHH2r48OHu9oSEBI9+zZs3l6QSxy1JgwcPVnx8vBYsWKCsrCxZrVaPX9/70qJFC6Wnp7tnYivSoEGDNHXqVP3rX/9S/fr1lZqaqsGDB3v0WbJkieLi4vTSSy+5206dOnVONylo2rSpEhMTlZ6e7jE7u2PHDo9+J06cUGJioqZOnapJkya523/77bcin1mW5SZNmzYtciwpf3eKgtcBmAfLDACUq6ysLH3yySe6+eabNXDgwCI/Y8eOVVpampYvXy5JuuOOO/Tjjz963cKqYObrjjvu0NGjR73OaBb0adq0qQIDA4usJX3rrbdKPfaCGbjCM26GYejVV1/16Fe3bl1dddVVmjNnjvbu3et1PAUiIyN1ww036J///KfmzZun66+/3n21fXHuuusurVu3Tp9//nmR11JSUpSbm1vq71WStm3bqn379lq0aJEWLVqkBg0a6KqrrvLoExgYWOS7vf766z5nvotz4403Kjc3V7Nnz3a35eXl6fXXXy9yTKloTc/eyUGSQkNDJRX9y4yv42/YsMFja7SMjAy98847io6OVrt27Ur7VQBUAczMAihXy5cvV1pamm655Ravr19++eXuGygMGjRIjz32mJYsWaI777xTo0aNUpcuXXT8+HEtX75cb7/9tjp27Kjhw4fro48+Unx8vDZs2KBevXopIyNDX3zxhR588EHdeuutqlmzpu688069/vrrslgsatGihT799NMia0uL06ZNG7Vo0UKPPvqo9u/fr/DwcP3rX//yujbytdde05VXXqnOnTvr3nvvVbNmzbRnzx6tWLFCSUlJHn2HDx+ugQMHSpKmTZtWqrE89thjWr58uW6++WaNGDFCXbp0UUZGhrZu3aolS5Zoz549pQrFpTVo0CBNmjRJwcHBuueee4oswbj55pv1j3/8QzVr1lS7du20bt06ffHFF6pTp06Zj9W/f39dccUVmjBhgvbs2aN27drpk08+KbIGNjw8XFdddZVmzJghp9OpRo0a6b///a92795d5DO7dOkiSXrqqac0ePBgWa1W9e/f3x1yC5swYYIWLFigG264QQ8//LBq166tDz/8ULt379a//vUv7hYGmI2/tlEAcGHq37+/ERwcbGRkZPjsM2LECMNqtRpHjx41DMMwjh07ZowdO9Zo1KiRYbPZjMaNGxtxcXHu1w0jf4ump556ymjWrJlhtVqNqKgoY+DAgcauXbvcfY4c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227TU089pY8++kg5OTn67LPPJEmjRo3S1KlT9f3336tbt26SpM2bN2vLli365JNPyjS2siDMAgAAnDZy5EjNnDlTX331lfr06SMpf4nBHXfcoZo1a6pmzZruYCdJDz30kD7//HN9/PHHpQ6zHTt2VMeOHd3Pp02bpqVLl2r58uUaO3asfv31V3388cdKSEhQ3759JUnNmzd393/zzTdVs2ZNLVy4UFarVZJ08cUXl/m79unTR3/961892p5++mn34+joaD366KNauHCh+ztPnz5dgwcP9gj7Bd+lcePGio2N1dy5c91hdu7cubr66qs9xl/eCLMAAKDChVgD9fOzsX47dmm1adNG3bt319y5c9WnTx/t3LlTX3/9tZ599llJUl5enp5//nl9/PHH2r9/v3JycpSdnV2mO52lp6drypQpWrFihQ4ePKjc3FxlZWVp7969kqSkpCQFBgbq6quv9vr+pKQk9erVyx1kz1XXrl2LtC1atEivvfaadu3apfT0dOXm5io8PNzj2KNHj/b5maNHj9aoUaM0a9YsBQQEaP78+Xr55ZfPa5wlIcwCAIAKZ7FYSvWr/qpg2LBheuKJJ/TWW29p7ty5atGihTtY/u1vf9Orr76qV155Re3bt1doaKjGjx9fpguoHn30USUkJGjmzJlq2bKlQkJCNHDgQPdnhISEFPv+kl4PCAgosk747HWvkhQaGurxfN26dRo6dKimTp2q2NhY9+zvSy+9VOpj9+/fX3a7XUuXLpXNZpPT6dTAgQOLfc/54gIwAACAQgYMGOCeVfzoo480atQo961Xv/32W9166636n//5H3Xs2FHNmzfXr7/+WqbP//bbbzVixAjddtttat++vaKiorRnzx736+3bt5fL5dJXX33l9f0dOnTQ119/7TWgSlLdunV18OBB9/O8vDxt27atxHGtXbtWTZs21VNPPaWuXbuqVatW+uOPP4ocOzEx0ednBAUFKS4uTnPnztXcuXM1ePDgEgPw+SLMAgAAFBIWFqa77rpLEydO1MGDBz12AWjVqpUSEhK0du1abd++Xffdd5+Sk5PL9PmtWrXSJ598oqSkJP3444+6++675XK53K9HR0crLi5Oo0aN0rJly7R7926tXr1aH3/8sSRp7NixSk1N1eDBg/XDDz/ot99+0z/+8Q/t2LFDUv5a2BUrVmjFihX65Zdf9MADDyglJaVU49q7d68WLlyoXbt26bXXXtPSpUs9+jzzzDNasGCBJk+erO3bt2vr1q168cUXPfr85S9/0apVq7Ry5UqNGjWqTLU5F4RZAACAs4waNUonTpxQbGysGjZs6G5/+umn1blzZ8XGxqp3796KiorSgAEDyvTZs2bNUkREhHr27Kn+/fsrNjZWnTt39ugze/ZsDRw4UA8++KDatGmj0aNHKyMjQ5JUp04drVq1Sunp6br66qvVpUsXvfvuu+41tKNGjVJcXJyGDx/uvvjqmmuuKXFct9xyix555BGNHTtWnTp10tq1a4tsqdW7d28tXrxYy5cvV6dOndSnTx9t2LDBo0+rVq3Us2dPtWnTRj169ChTbc6FORavAAAAVKKYmBiv+9PWrl1by5YtK/a9q1evLvb16OhorVq1yqNtzJgxHs+Dg4M1a9YszZo1y+tndOjQQZ9/7n2rM6vVqrfeektvvfWWzzEUXtZQ2IwZMzRjxgyPtvHjx3vMHN9+++26/fbbfX62YRg6cOCAHnzwQZ99yhNhFgAAAOXiyJEjWrhwoQ4dOqSRI0dWyjEJswAAACgX9erVU2RkpN555x1FRERUyjEJswAAACgXpb11cHniAjAAAACYFmEWAABUCH/M0sE8yuv8IMwCAIByVbBFVGZmpp9Hgqqs4I5ngYGlv92wN6yZBQAA5SowMFC1atXS4cOHJUkOh8N9B62qzuVyKScnR6dOnVJAAHN+Bcq7Li6XS0eOHJHD4VBQ0PnFUcIsAAAod1FRUZLkDrRmYRiGsrKyFBISYpoAXhkqoi4BAQG66KKLzvvzCLMAAKDcWSwWNWjQQPXq1ZPT6fT3cErN6XRqzZo1uuqqq9zLJVAxdbHZbOUyy0uYBQAAFSYwMPC810RWpsDAQOXm5io4OJgwW0hVrguLQQAAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYlt/D7Jtvvqno6GgFBwerR48e2rBhQ7H9X3nlFbVu3VohISFq0qSJHnnkEZ06daqSRgsAAICqxK9hdtGiRYqPj9fkyZO1adMmdezYUbGxsTp8+LDX/vPnz9eECRM0efJkbd++Xe+//74WLVqkJ598spJHDgAAgKrAr2F21qxZGj16tEaOHKl27drp7bfflsPh0Jw5c7z2X7t2ra644grdfffdio6O1nXXXachQ4aUOJsLAACAC1OQvw6ck5OjjRs3auLEie62gIAA9e3bV+vWrfP6np49e+qf//ynNmzYoO7du+v333/XZ599pmHDhvk8TnZ2trKzs93PU1NTJUlOp1NOp7Ocvo1vBceojGOZDbXxjrr4Rm28oy6+URvvqItv1Ma7yq5LWY5jMQzDqMCx+HTgwAE1atRIa9euVUxMjLv98ccf11dffaX169d7fd9rr72mRx99VIZhKDc3V/fff79mz57t8zhTpkzR1KlTi7TPnz9fDofj/L8IAAAAylVmZqbuvvtunTx5UuHh4cX29dvM7LlYvXq1nn/+eb311lvq0aOHdu7cqXHjxmnatGl65plnvL5n4sSJio+Pdz9PTU1VkyZNdN1115VYnPLgdDqVkJCgfv36yWq1VvjxzITaeEddfKM23lEX36iNd9TFN2rjXWXXpeA36aXhtzAbGRmpwMBAJScne7QnJycrKirK63ueeeYZDRs2TH/5y18kSe3bt1dGRobuvfdePfXUUwoIKLoE2G63y263F2m3Wq2VepJW9vHMhNp4R118ozbeURffqI131MU3auNdZdWlLMfw2wVgNptNXbp0UWJiorvN5XIpMTHRY9lBYZmZmUUCa2BgoCTJT6slAAAA4Ed+XWYQHx+vuLg4de3aVd27d9crr7yijIwMjRw5UpI0fPhwNWrUSNOnT5ck9e/fX7NmzdJll13mXmbwzDPPqH///u5QCwAAgOrDr2F20KBBOnLkiCZNmqRDhw6pU6dOWrlyperXry9J2rt3r8dM7NNPPy2LxaKnn35a+/fvV926ddW/f38999xz/voKAAAA8CO/XwA2duxYjR071utrq1ev9ngeFBSkyZMna/LkyZUwMgAAAFR1fr+dLQAAAHCuCLMAAAAw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mxYtWqT//d//VVJSkkJCQtS+fXs1bdq0IsYHAAAA+FTmMFugVatWatWqVXmOBQAAACiTMq+ZveOOO/Tiiy8WaZ8xY4buvPPOchkUAAAAUBplDrNr1qzRjTfeWKT9hhtu0Jo1a8plUAAAAEBplDnMpqeny2azFWm3Wq1KTU0tl0EBAAAApVHmMNu+fXstWrSoSPvChQvVrl27chkUAAAAUBplvgDsmWee0e23365du3apT58+kqTExETNnz9fS5YsKfcBAgAAAL6UOcz2799fy5Yt0/PPP68lS5YoJCREHTt21KpVq1S7du2KGCMAAADg1TltzXXTTTfppptukiSlpqZqwYIFevTRR7Vx40bl5eWV6wABAAAAX8q8ZrbAmjVrFBcXp4YNG+qll15Snz599N1335Xn2AAAAIBilWlm9tChQ/rggw/0/vvvKzU1VXfddZeys7O1bNkyLv4CAABApSv1zGz//v3VunVrbdmyRa+88ooOHDig119/vSLHBgAAABSr1DOz//nPf/Twww/rgQce4Da2AAAAqBJKPTP7zTffKC0tTV26dFGPHj30xhtv6OjRoxU5NgAAAKBYpQ6zl19+ud59910dPHhQ9913nxYuXKiGDRvK5XIpISFBaWlpFTlOAAAAoIgy72YQGhqqUaNG6ZtvvtHWrVv117/+VS+88ILq1aunW265pSLGCAAAAHh1zltzSVLr1q01Y8YM7du3TwsWLCivMQEAAAClcl5htkBgYKAGDBig5cuXl8fHAQAAAKVSLmH2fL355puKjo5WcHCwevTooQ0bNpTqfQsXLpTFYtGAAQMqdoAAAACokvweZhctWqT4+HhNnjxZmzZtUseOHRUbG6vDhw8X+749e/bo0UcfVa9evSpppAAAAKhq/B5mZ82apdGjR2vkyJFq166d3n77bTkcDs2ZM8fne/Ly8jR06FBNnTpVzZs3r8TRAgAAoCop0+1sy1tOTo42btyoiRMnutsCAgLUt29frVu3zuf7nn32WdWrV0/33HOPvv7662KPkZ2drezsbPfz1NRUSZLT6ZTT6TzPb1CygmNUxrHMhtp4R118ozbeURffqI131MU3auNdZdelLMfxa5g9evSo8vLyVL9+fY/2+vXr65dffvH6nm+++Ubvv/++kpKSSnWM6dOna+rUqUXa//vf/8rhcJR5zOcqISGh0o5l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XtJNN92khQsX6ocfftA777zjz68BAAAAP/B7mB00aJCOHDmiSZMm6dChQ+rUqZNWrlzpvshr7969Cgg4M4Hcs2dPzZ8/X08//bSefPJJtWrVSsuWLdOll17qr69QLLvdrsmTJxdZ6gBq4wt18Y3aeEddfKM23lEX36iNd1W5LhajNHseAAAAAFWQ32+aAAAAAJwrwiwAAABMizALAAAA0yLMAgAAwLQIs+dpzZo16t+/vxo2bCiLxaJly5aV+J7Vq1erc+fOstvtatmypT744IMKH2dlK2tdVq9eLYvFUuTH122KzWr69Onq1q2batSooXr16mnAgAHasWNHie9bvHix2rRpo+DgYLVv316fffZZJYy2cp1LbT744IMi50xwcHAljbhyzJ49Wx06dHBvVB4TE6P//Oc/xb6nOpwvUtlrUx3OF29eeOEFWSwWjR8/vth+1eW8KVCaulSXc2bKlClFvmebNm2KfU9VOl8Is+cpIyNDHTt21Jtvvlmq/rt379ZNN92ka665RklJSRo/frz+8pe/6PPPP6/gkVaustalwI4dO3Tw4EH3T7169SpohP7x1VdfacyYMfruu++UkJAgp9Op6667ThkZGT7fs3btWg0ZMkT33HOPNm/erAEDBmjAgAHatm1bJY684p1LbaT8u9EUPmf++OOPShpx5WjcuLFeeOEFbdy4UT/88IP69OmjW2+9VT/99JPX/tXlfJHKXhvpwj9fzvb999/r73//uzp06FBsv+p03kilr4tUfc6ZSy65xON7fvPNNz77VrnzxUC5kWQsXbq02D6PP/64cckll3i0DRo0yIiNja3AkflXaery5ZdfGpKMEydOVMqYqorDhw8bkoyvvvrKZ5+77rrLuOmmmzzaevToYdx3330VPTy/Kk1t5s6da9SsWbPyBlVFREREGO+9957X16rr+VKguNpUt/MlLS3NaNWqlZGQkGBcffXVxrhx43z2rU7nTVnqUl3OmcmTJxsdO3Ysdf+qdr4wM1vJ1q1bp759+3q0xcbGat26dX4aUdXSqVMnNWjQQP369dO3337r7+FUuJMnT0qSateu7bNPdT1nSlMbSUpPT1fTpk3VpEmTEmflzC4vL08LFy5URkaGz1t4V9fzpTS1karX+TJmzBjddNNNRc4Hb6rTeVOWukjV55z57bff1LBhQzVv3lxDhw7V3r17ffataueL3+8AVt0cOnTIfXezAvXr11dqaqqysrIUEhLip5H5V4MGDfT222+ra9euys7O1nvvvafevXtr/fr16ty5s7+HVyFcLpfGjx+vK664otg72Pk6Zy609cSFlbY2rVu31pw5c9ShQwedPHlSM2fOVM+ePfXTTz+pcePGlTjiirV161bFxMTo1KlTCgsL09KlS9WuXTuvfavb+VKW2lSX80WSFi5cqE2bNun7778vVf/qct6UtS7V5Zzp0aOHPvjgA7Vu3VoHDx7U1KlT1atXL23btk01atQo0r+qnS+EWVQJrVu3VuvWrd3Pe/bsqV27dunll1/WP/7xDz+OrOKMGTNG27ZtK3ZdUnVV2trExMR4zML17NlTbdu21d///ndNmzatoodZaVq3bq2kpCSdPHlSS5YsUVxcnL766iufoa06KUttqsv58ueff2rcuHFKSEi4IC9WOlfnUpfqcs7ccMMN7scdOnRQjx491LRpU3388ce65557/Diy0iHMVrKoqCglJyd7tCUnJys8PLzazsr60r179ws26I0dO1affvqp1qxZU+Lf7n2dM1FRURU5RL8pS23OZrVaddlll2nnzp0VNDr/sNlsatmypSSpS5cu+v777/Xqq6/q73//e5G+1e18KUttznahni8bN27U4cOHPX6rlZeXpzVr1uiNN95Qdna2AgMDPd5THc6bc6nL2S7Uc+ZstWrV0sUXX+zze1a184U1s5UsJiZGiYmJHm0JCQnFrvGqrpKSktSgQQN/D6NcGYahsWPHaunSpVq1apWaNWtW4nuqyzlzLrU5W15enrZu3XrBnTdnc7lcys7O9vpadTlffCmuNme7UM+Xa6+9Vlu3blVSUpL7p2vXrho6dKiSkpK8BrbqcN6cS13OdqGeM2dLT0/Xrl27fH7PKne++OWyswtIWlqasXnzZmPz5s2GJGPWrFnG5s2bjT/++MMwDMOYMGGCMWzYMHf/33//3XA4HMZjjz1mbN++3XjzzTeNwMBAY+XKlf76ChWirHV5+eWXjWXLlhm//fabsXXrVmPcuHFGQECA8cUXX/jrK1SIBx54wKhZs6axevVq4+DBg+6fzMxMd59hw4YZEyZMcD//9ttvjaCgIGPmzJnG9u3bjcmTJxtWq9XYunWrP75ChTmX2kydOtX4/PPPjV27dhkbN240Bg8ebAQHBxs//fSTP75ChZgwYYLx1VdfGbt37za2bNliTJgwwbBYLMZ///tfwzCq7/liGGWvTXU4X3w5+6r96nzeFFZSXarLOfPXv/7VWL16tbF7927j22+/Nfr27WtERkYahw8fNgyj6p8vhNnzVLCl1Nk/cXFxhmEYRlxcnHH11VcXeU+nTp0Mm81mNG/e3Jg7d26lj7uilbUuL774otGiRQsjODjYqF27ttG7d29j1apV/hl8BfJWE0ke58DVV1/trlOBjz/+2Lj44osNm81mXHLJJcaKFSsqd+CV4FxqM378eOOiiy4ybDabUb9+fePGG280Nm3aVPmDr0CjRo0ymjZtathsNqNu3brGtdde6w5rhlF9zxfDKHttqsP54svZoa06nzeFlVSX6nLODBo0yGjQoIFhs9mMRo0aGYMGDTJ27tzpfr2qny8WwzCMypsHBgAAAMoPa2YBAABgWoRZAAAAmBZhFgAAAKZFmAUAAIBpEWYBAABgWoRZAAAAmBZhFgAAAKZFmAUAAIBpEWYBoJqyWCxatmyZv4cBAOeFMAsAfjBixAhZLJYiP9dff72/hwYAphLk7wEAQHV1/fXXa+7cuR5tdrvdT6MBAHNiZhYA/MRutysqKsrjJyIiQlL+EoDZs2frhhtuUEhIiJo3b64lS5Z4vH/r1q3q06ePQkJCVKdOHd17771KT0/36DNnzhxdcsklstvtatCggcaOHevx+tGjR3XbbbfJ4XCoVatWWr58ecV+aQAoZ4RZAKiinnnmGd1xxx368ccfNXToUA0ePFjbt2+XJGVkZCg2NlYRERH6/vvvtXjxYn3xxRceYXX27NkaM2aM7r33Xm3dulXLly9Xy5YtPY4xdepU3XXXXdqyZYtuvPFGDR06VMePH6/U7wkA58NiGIbh70EAQHUzYsQI/fOf/1RwcLBH+5NPPqknn3xSFotF999/v2bPnu1+7fLLL1fnzp311ltv6d1339UTTzyhP//8U6GhoZKkzz77TP3799eBAwdUv359NWrUSCNHjtT//u//eh2DxWLR008/rWnTpknKD8hhYWH6z3/+w9pdAKbBmlkA8JNrrrnGI6xKUu3atd2PY2JiPF6LiYlRUlKSJGn79u3q2LGjO8hK0hVXXCGXy6UdO3bIYrHowIEDuvbaa4sdQ4cOHdyPQ0NDFR4ersOHD5/rVwKASkeYBQA/CQ0NLfJr//ISEhJSqn5Wq9XjucVikcvlqoghAUCFYM0sAFRR3333XZHnbdu2lSS1bdtWP/74ozIyMtyvf/vttwoICFDr1q1Vo0YNRUdHKzExsVLHDACVjZlZAPCT7OxsHTp0yKMtKChIkZGRkqTFixera9euuvLKKzVv3jxt2LBB77//viRp6NChmjx5suLi4jRlyhQdOXJEDz30kIYNG6b69etLkqZMmaL7779f9erV0w033KC0tDR9++23euihhyr3iwJABSLMAoCfrFy5Ug0aNPBoa926tX755RdJ+TsNLFy4UA8++KAaNGigBQsWqF27dpIkh8Ohzz//XOPGjVO3bt3kcDh0xx13aNasWe7PiouL06lTp/Tyyy/r0UcfVWRkpAYOHFh5XxAAKgG7GQBAFWSxWLR06VINGDDA30MBgCqNNbMAAAAwLcIsAAAATIs1swBQBbECDABKh5lZAAAAmBZhFgAAAKZFmAUAAIBpEWYBAABgWoRZAAAAmBZhFgAAAKZFmAUAAIBpEWYBAABgWv8Pj/yBbvHm/t4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt # importe matplotlib pour tracer des graphiques\n", "\n", "epochs = range(1, len(train_losses) + 1) # crée une liste [1, 2, ..., nb_epochs] pour l’axe x\n", "\n", "# ---------------------------------------------------\n", "# 1) Courbe des losses (train vs val)\n", "# ---------------------------------------------------\n", "plt.figure(figsize=(8, 5)) # crée une nouvelle figure de taille 8x5\n", "plt.plot(epochs, train_losses, label=\"Train loss\") # trace la courbe de la loss d'entraînement\n", "plt.plot(epochs, val_losses, label=\"Val loss\") # trace la courbe de la loss de validation\n", "plt.title(\"Évolution des losses\") # titre du graphique\n", "plt.xlabel(\"Epoch\") # label de l’axe x\n", "plt.ylabel(\"Loss\") # label de l’axe y\n", "plt.legend() # affiche la légende (train vs val)\n", "plt.grid(True) # ajoute une grille pour mieux lire les courbes\n", "plt.show() # affiche le graphique\n", "\n", "# ---------------------------------------------------\n", "# 2) Courbe du recall pour la classe feu (1)\n", "# ---------------------------------------------------\n", "plt.figure(figsize=(8, 5)) # nouvelle figure\n", "plt.plot(epochs, val_recalls_fire, label=\"Recall feu (1)\") # trace le recall de la classe feu\n", "plt.title(\"Recall de la classe feu (validation)\") # titre du graphique\n", "plt.xlabel(\"Epoch\") # label de l’axe x\n", "plt.ylabel(\"Recall feu (1)\") # label de l’axe y\n", "plt.ylim(0, 1) # fixe l’échelle de 0 à 1 pour le recall\n", "plt.legend() # affiche la légende\n", "plt.grid(True) # ajoute une grille\n", "plt.show() # affiche le graphique\n", "\n", "# ---------------------------------------------------\n", "# 3) (Optionnel) Courbe du recall pour la classe no_fire (0)\n", "# ---------------------------------------------------\n", "plt.figure(figsize=(8, 5)) # nouvelle figure\n", "plt.plot(epochs, val_recalls_no_fire, label=\"Recall no_fire (0)\") # trace le recall de la classe no_fire\n", "plt.title(\"Recall de la classe no_fire (validation)\") # titre du graphique\n", "plt.xlabel(\"Epoch\") # label de l’axe x\n", "plt.ylabel(\"Recall no_fire (0)\") # label de l’axe y\n", "plt.ylim(0, 1) # échelle entre 0 et 1\n", "plt.legend() # affiche la légende\n", "plt.grid(True) # ajoute une grille\n", "plt.show() # affiche le graphique\n", "\n", "# ---------------------------------------------------\n", "# 4) (Optionnel) Courbe de l’accuracy de validation\n", "# ---------------------------------------------------\n", "plt.figure(figsize=(8, 5)) # nouvelle figure\n", "plt.plot(epochs, val_accs, label=\"Val accuracy\") # trace l’accuracy en validation\n", "plt.title(\"Accuracy en validation\") # titre du graphique\n", "plt.xlabel(\"Epoch\") # label axe x\n", "plt.ylabel(\"Accuracy\") # label axe y\n", "plt.ylim(0, 1) # échelle de 0 à 1\n", "plt.legend() # affiche la légende\n", "plt.grid(True) # ajoute une grille\n", "plt.show() # affiche le graphique\n" ] }, { "cell_type": "markdown", "metadata": { "id": "sAsH6vHe6obv" }, "source": [ "### Val évaluation, classification report, matrices de confusion" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "executionInfo": { "elapsed": 40, "status": "ok", "timestamp": 1763683471444, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "Cx2MgQ4idvNm" }, "outputs": [], "source": [ "import torch # pour gérer les tenseurs\n", "from sklearn.metrics import ( # pour les métriques de classification\n", " accuracy_score,\n", " recall_score,\n", " classification_report,\n", " confusion_matrix\n", ")\n", "import numpy as np # pour manipuler la matrice de confusion\n", "import matplotlib.pyplot as plt # pour tracer la matrice (optionnel)\n", "\n", "\n", "def evaluate_model(model, loader, device, loss_fn=None, split_name=\"Val\"):\n", " \"\"\"\n", " Évalue le modèle sur un DataLoader (val, train ou test).\n", " - calcule loss moyenne (si loss_fn fourni)\n", " - calcule accuracy\n", " - calcule recall pour feu (1) et no_fire (0)\n", " - affiche classification_report\n", " - affiche matrice de confusion\n", " \"\"\"\n", "\n", " model.eval() # met le modèle en mode évaluation\n", "\n", " all_y_true = [] # liste pour stocker toutes les vraies classes\n", " all_y_pred = [] # liste pour stocker toutes les prédictions\n", " total_loss = 0.0 # cumul de la loss (si loss_fn fourni)\n", " total_samples = 0 # nombre total d'exemples vus\n", "\n", " with torch.no_grad(): # pas de gradients pendant l'évaluation\n", " for batch in loader: # boucle sur tous les batches du loader\n", " images = batch[\"image\"].to(device) # images -> device (CPU ou GPU)\n", " labels = batch[\"target\"].to(device) # labels -> device\n", "\n", " logits = model(images) # forward pass (prédictions brutes)\n", " preds = logits.argmax(dim=1) # classe prédite (0 ou 1)\n", "\n", " all_y_true.extend(labels.cpu().tolist()) # ajoute les vraies classes (sur CPU)\n", " all_y_pred.extend(preds.cpu().tolist()) # ajoute les classes prédites (sur CPU)\n", "\n", " if loss_fn is not None: # si une loss est fournie\n", " loss = loss_fn(logits, labels) # calcule la loss du batch\n", " batch_size = labels.size(0) # taille de ce batch\n", " total_loss += loss.item() * batch_size # ajoute la loss pondérée\n", " total_samples += batch_size # ajoute le nombre d'exemples\n", "\n", "\n", " # Conversion en tableaux numpy pour sklearn\n", " y_true = np.array(all_y_true) # vraies classes en tableau numpy\n", " y_pred = np.array(all_y_pred) # classes prédites en tableau numpy\n", "\n", " # Metrics globales\n", " accuracy = accuracy_score(y_true, y_pred) # accuracy globale\n", " recall_fire = recall_score(y_true, y_pred, pos_label=1) # recall classe feu (1)\n", " recall_no_fire = recall_score(y_true, y_pred, pos_label=0) # recall classe no_fire (0)\n", "\n", " # Loss moyenne si loss_fn est fourni\n", " avg_loss = None\n", " if loss_fn is not None and total_samples > 0: # évite division par zéro\n", " avg_loss = total_loss / total_samples # loss moyenne sur tout le loader\n", "\n", "\n", " # -------------------------------------------------------\n", " # Évaluation sur Validation\n", " # -------------------------------------------------------\n", "\n", " # Affichage des informations principales\n", " print(f\"\\n===== Évaluation sur {split_name} =====\")\n", " if avg_loss is not None:\n", " print(f\"Loss moyenne : {avg_loss:.4f}\")\n", " print(f\"Accuracy : {accuracy:.4f}\")\n", " print(f\"Recall feu (1) : {recall_fire:.4f}\")\n", " print(f\"Recall no_fire (0) : {recall_no_fire:.4f}\")\n", "\n", "\n", " # -------------------------------------------------------\n", " # Classification report\n", " # -------------------------------------------------------\n", "\n", " # Classification report détaillé\n", " print(\"\\n--- Classification report {split_name} ---\")\n", " print(classification_report(y_true, y_pred, digits=4))\n", "\n", "\n", " # -------------------------------------------------------\n", " # Distribution des classes (train, val, train+val)\n", " # -------------------------------------------------------\n", " train_targets = Counter(merged_data_target[\"train\"][\"target\"])\n", " val_targets = Counter(merged_data_target[\"val\"][\"target\"])\n", "\n", " train_total = train_targets[0] + train_targets[1]\n", " val_total = val_targets[0] + val_targets[1]\n", "\n", " total_fire = train_targets[1] + val_targets[1]\n", " total_no_fire = train_targets[0] + val_targets[0]\n", " total_labels = total_fire + total_no_fire\n", "\n", " import pandas as pd\n", "\n", " df_dist = pd.DataFrame({\n", " \"split\": [\"train\", \"val\", \"train+val\"],\n", " \"fire (1)\": [train_targets[1], val_targets[1], total_fire],\n", " \"no_fire (0)\": [train_targets[0], val_targets[0], total_no_fire],\n", " \"total\": [train_total, val_total, total_labels],\n", " \"% fire\": [\n", " round(train_targets[1] / train_total * 100, 2),\n", " round(val_targets[1] / val_total * 100, 2),\n", " round(total_fire / total_labels * 100, 2)\n", " ],\n", " \"% no_fire\": [\n", " round(train_targets[0] / train_total * 100, 2),\n", " round(val_targets[0] / val_total * 100, 2),\n", " round(total_no_fire / total_labels * 100, 2)\n", " ]\n", " })\n", "\n", " print(\"\\n--- Distribution des classes ---\")\n", " display(df_dist)\n", "\n", "\n", " # -------------------------------------------------------\n", " # Matrice de confusion (val)\n", " # -------------------------------------------------------\n", "\n", " # --- Matrice de confusion brute ---\n", " cm = confusion_matrix(y_true, y_pred) # matrice brute\n", " print(\"\\n\\n--- Matrice de confusion (brute) ---\")\n", " print(cm)\n", "\n", " # --- Affichage visuel (brut) ---\n", " plt.figure(figsize=(5, 4))\n", " plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)\n", " plt.title(f\"Matrice de confusion - {split_name} (brute)\")\n", " plt.colorbar()\n", "\n", " classes = [\"no_fire (0)\", \"fire (1)\"]\n", " tick_marks = np.arange(len(classes))\n", "\n", " plt.xticks(tick_marks, classes, rotation=45)\n", " plt.yticks(tick_marks, classes)\n", "\n", " thresh = cm.max() / 2.\n", " for i in range(cm.shape[0]):\n", " for j in range(cm.shape[1]):\n", " plt.text(j, i, cm[i, j],\n", " horizontalalignment=\"center\",\n", " color=\"white\" if cm[i, j] > thresh else \"black\")\n", "\n", " plt.ylabel(\"Classe réelle\")\n", " plt.xlabel(\"Classe prédite\")\n", " plt.tight_layout()\n", " plt.show()\n", "\n", "\n", " # --- Matrice de confusion normalisée (pourcentages) ---\n", " cm_normalized = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", " print(\"\\n--- Matrice de confusion (normalisée) ---\")\n", " print(np.round(cm_normalized, 4)) # arrondi pour lisibilité\n", "\n", " # --- Affichage visuel (normalisée) ---\n", " plt.figure(figsize=(5, 4))\n", " plt.imshow(cm_normalized, interpolation='nearest', cmap=plt.cm.Blues)\n", " plt.title(f\"Matrice de confusion - {split_name} (normalisée)\")\n", " plt.colorbar()\n", "\n", " plt.xticks(tick_marks, classes, rotation=45)\n", " plt.yticks(tick_marks, classes)\n", "\n", " thresh = cm_normalized.max() / 2.\n", " for i in range(cm_normalized.shape[0]):\n", " for j in range(cm_normalized.shape[1]):\n", " plt.text(j, i, f\"{cm_normalized[i, j]:.2f}\",\n", " horizontalalignment=\"center\",\n", " color=\"white\" if cm_normalized[i, j] > thresh else \"black\")\n", "\n", " plt.ylabel(\"Classe réelle\")\n", " plt.xlabel(\"Classe prédite\")\n", " plt.tight_layout()\n", " plt.show()\n", "\n", " # On peut éventuellement retourner les valeurs pour les réutiliser\n", " return {\n", " \"loss\": avg_loss,\n", " \"accuracy\": accuracy,\n", " \"recall_fire\": recall_fire,\n", " \"recall_no_fire\": recall_no_fire,\n", " \"y_true\": y_true,\n", " \"y_pred\": y_pred,\n", " \"confusion_matrix\": cm,\n", " }\n" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "executionInfo": { "elapsed": 72557, "status": "ok", "timestamp": 1763683548421, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "QmDuScTNfXCk", "outputId": "448f351b-a909-46ab-dd28-f31fe65fa891" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "===== Évaluation sur Validation =====\n", "Loss moyenne : 0.6408\n", "Accuracy : 0.7727\n", "Recall feu (1) : 0.7704\n", "Recall no_fire (0) : 0.7795\n", "\n", "--- Classification report ---\n", " precision recall f1-score support\n", "\n", " 0 0.5364 0.7795 0.6355 1247\n", " 1 0.9111 0.7704 0.8349 3659\n", "\n", " accuracy 0.7727 4906\n", " macro avg 0.7238 0.7749 0.7352 4906\n", "weighted avg 0.8159 0.7727 0.7842 4906\n", "\n", "\n", "--- Distribution des classes ---\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
splitfire (1)no_fire (0)total% fire% no_fire
0train2551358923140581.2418.76
1val36591247490674.5825.42
2train+val2917271393631180.3419.66
\n", "
" ], "text/plain": [ " split fire (1) no_fire (0) total % fire % no_fire\n", "0 train 25513 5892 31405 81.24 18.76\n", "1 val 3659 1247 4906 74.58 25.42\n", "2 train+val 29172 7139 36311 80.34 19.66" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "--- Matrice de confusion (brute) ---\n", "[[ 972 275]\n", " [ 840 2819]]\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "--- Matrice de confusion (normalisée) ---\n", "[[0.7795 0.2205]\n", " [0.2296 0.7704]]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbkAAAGGCAYAAADmeP9QAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAX+tJREFUeJzt3XdYFGfXwOHf0ntRFARRFEkssWJDY4lBscQexRaRKDF2w2dijInYorFGjQUrJjEmxhZ7xd6N2LtGRY2AiFIFFOb7w7CvK6C7SJH13Ln2et+deWaeM+y4Z58yMypFURSEEEIIPWRQ0AEIIYQQeUWSnBBCCL0lSU4IIYTekiQnhBBCb0mSE0IIobckyQkhhNBbkuSEEELoLUlyQggh9JYkOSGEEHkiNjaWsWPHsn///gKLQZJcHho9ejQqlaqgwwBg6dKlqFQqbt68WdChvLatW7dSrVo1zMzMUKlUPHr0KFf3r09/K11kdb66ubnRq1evV26bF3+zmzdvolKpWLp0aa7tU1ctW7YkICCgwOrPL7169cLNzU1jmUqlYvTo0a+13969e7NlyxZq1qyZo+0vXLiAkZER586dy3EMepHkMv6BqVQqDhw4kGm9oii4urqiUqn46KOPclTHhAkT+Ouvv14zUvG6Hjx4QOfOnTE3N2fOnDn8+uuvWFpaFnRY+SoqKgojIyN69OiRbZn4+HjMzc3p0KFDPkaWM8uXL2fGjBkFHUYmBw8eZPv27QwfPrygQymUZs6cyZkzZ9iwYQPm5uY52kfFihVp1aoVo0aNynEcRjne8g1kZmbG8uXLef/99zWW7927lzt37mBqaprjfU+YMIGPP/6Ydu3aab3Nt99+y9dff53jOkVmx48fJz4+nnHjxuHt7Z0ndXzyySd06dLltc6XvFS8eHGaNm3KunXrSEpKwsLCIlOZNWvWkJyc/NJEqI3Lly9jYJC3v4WXL1/OuXPnGDp0qMby0qVL8/jxY4yNjfO0/uxMmTKFDz/8kHLlyhVI/QXt8ePHGBnlLEWkpqaSmJjI1q1bcXBweK04Pv/8c1q2bMn169dxd3fXeXu9aMllaNmyJStXruTp06cay5cvX46npydOTk75EkdiYiIARkZGmJmZ5Uudb4uoqCgA7Ozs8qwOQ0NDdVfom6p79+4kJCSwfv36LNcvX74cW1tbWrVq9Vr1mJqaFliSUalUmJmZYWhomO91R0VFsWnTJjp37pzvdQMkJSUVSL3PMzMzy3GSMzEx4ZtvvqFs2bKvHYe3tzf29vb8/PPPOdper5Jc165defDgATt27FAvS01NZdWqVXTr1i3LbaZOnUq9evUoWrQo5ubmeHp6smrVKo0yKpWKxMREfv75Z3W3aMY4RcY4xoULF+jWrRv29vbqlmR2Y3LLli2jdu3aWFhYYG9vT8OGDdm+fbtGmS1bttCgQQMsLS2xtramVatWnD9/Xqu/w/nz52nSpAnm5uaULFmS8ePHk56enmXZ16nn0aNHfPHFF7i5uWFqakrJkiXp2bMn0dHR6jJRUVH07t0bR0dHzMzMqFq1aqaTNWPsZerUqSxYsAB3d3dMTU2pVasWx48fV5dr3Lgxfn5+ANSqVUvjc8hu7Khx48Y0btxYY9lPP/1EpUqV1H//mjVrsnz5cvX67MaX5s6dS6VKlTA1NcXZ2ZkBAwZkGg9s3Lgx7733HhcuXOCDDz7AwsICFxcXJk+erNXfVFvt27fH0tJSI+4MUVFRhIaG8vHHH2Nqasr+/fvp1KkTpUqVwtTUFFdXV7744gseP378ynqy+rtqe36tW7eOVq1a4ezsjKmpKe7u7owbN460tDR1mcaNG7Np0yZu3bql/reVMTaU3Zjcrl271OesnZ0dbdu25eLFixplMv7tXbt2jV69emFnZ4etrS3+/v5aJZBNmzbx9OnTTL0FGefGwYMHCQwMpFixYlhaWtK+fXvu37+faT+6nDMnTpygYcOGWFhY8M0332j8u5gzZw5ly5bFwsKCZs2acfv2bRRFYdy4cZQsWRJzc3Patm1LTEyMzp9Bdl4ck4uPj2fo0KHqf+8ZPQphYWEa2x09epTmzZtja2uLhYUFjRo14uDBg5n2f/fuXT799FMcHR0xNTWlUqVKLFmyJFM5Y2NjGjduzLp1614Zc1b0qrvSzc0NLy8vfv/9d1q0aAE8+xKPjY2lS5cuzJo1K9M2M2fOpE2bNnTv3p3U1FT++OMPOnXqxMaNG9W/gn/99Vf69OlD7dq1+eyzzwAyNZs7deqEh4cHEyZM4GVPLxozZgyjR4+mXr16jB07FhMTE44ePcquXbto1qyZuj4/Pz98fHyYNGkSSUlJzJs3j/fff5+TJ09mGiB+XkREBB988AFPnz7l66+/xtLSkgULFmTZJ/469SQkJNCgQQMuXrzIp59+So0aNYiOjmb9+vXcuXMHBwcHHj9+TOPGjbl27RoDBw6kTJkyrFy5kl69evHo0SOGDBmisc/ly5cTHx9P3759UalUTJ48mQ4dOvDPP/9gbGzMyJEjeffdd1mwYAFjx46lTJkyOndfLFy4kMGDB/Pxxx8zZMgQkpOTOXPmDEePHs32hxA8+9IcM2YM3t7e9OvXj8uXLzNv3jyOHz/OwYMHNVo7Dx8+pHnz5nTo0IHOnTuzatUqhg8fTuXKldXn5euytLSkbdu2rFq1ipiYGIoUKaJet2LFCtLS0ujevTsAK1euJCkpiX79+lG0aFGOHTvGTz/9xJ07d1i5cqVO9epyfi1duhQrKysCAwOxsrJi165djBo1iri4OKZMmQLAyJEjiY2N5c6dO/z4448AWFlZZVv/zp07adGiBWXLlmX06NE8fvyYn376ifr16xMWFpbpnO3cuTNlypRh4sSJhIWFsWjRIooXL86kSZNeepyHDh2iaNGilC5dOsv1gwYNwt7enqCgIG7evMmMGTMYOHAgK1asUJfR5Zx58OABLVq0oEuXLvTo0QNHR0f1ut9++43U1FQGDRpETEwMkydPpnPnzjRp0oQ9e/YwfPhwrl27xk8//cSwYcM0EoU2n4G2Pv/8c1atWsXAgQOpWLEiDx484MCBA1y8eJEaNWoAz36AtGjRAk9PT4KCgjAwMCAkJIQmTZqwf/9+ateuDUBkZCR169ZFpVIxcOBAihUrxpYtW+jduzdxcXGZuq49PT1Zt24dcXFx2NjY6BQ3ih4ICQlRAOX48ePK7NmzFWtrayUpKUlRFEXp1KmT8sEHHyiKoiilS5dWWrVqpbFtRrkMqampynvvvac0adJEY7mlpaXi5+eXqe6goCAFULp27ZrtugxXr15VDAwMlPbt2ytpaWkaZdPT0xVFUZT4+HjFzs5OCQgI0FgfERGh2NraZlr+oqFDhyqAcvToUfWyqKgoxdbWVgGUGzdu5Eo9o0aNUgBlzZo1mdZlHMuMGTMUQFm2bJl6XWpqquLl5aVYWVkpcXFxiqIoyo0bNxRAKVq0qBITE6Muu27dOgVQNmzYoF72/Gf9vNKlS2f5+TRq1Ehp1KiR+n3btm2VSpUqvfTYMurI+FtFRUUpJiYmSrNmzTQ+t9mzZyuAsmTJEo36AOWXX35RL0tJSVGcnJyUjh07vrReXW3atEkBlPnz52ssr1u3ruLi4qKO9cVzXFEUZeLEiYpKpVJu3bqlXvbi+aoomf+u2p5f2dXbt29fxcLCQklOTlYva9WqlVK6dOlMZTPOi5CQEPWyatWqKcWLF1cePHigXnb69GnFwMBA6dmzZ6Zj+fTTTzX22b59e6Vo0aKZ6nrR+++/r3h6emZannFueHt7q89zRVGUL774QjE0NFQePXqkKErOzpng4OAsj79YsWLq/SqKoowYMUIBlKpVqypPnjxRL+/atatiYmKi8bfV9jPw8/PL9BkASlBQkPq9ra2tMmDAgEz7y5Cenq54eHgoPj4+Gn+bpKQkpUyZMkrTpk3Vy3r37q2UKFFCiY6O1thHly5dFFtb20xxL1++PNN5py296q6EZ7/cHj9+zMaNG4mPj2fjxo0v/YX+/C/Qhw8fEhsbS4MGDTI1wV/l888/f2WZv/76i/T0dEaNGpVpMD+jW3PHjh08evSIrl27Eh0drX4ZGhpSp04ddu/e/dI6Nm/eTN26ddW/mACKFSum/lWf4XXrWb16NVWrVqV9+/aZ1mUcy+bNm3FycqJr167qdcbGxgwePJiEhAT27t2rsZ2vry/29vbq9w0aNADgn3/+eWksurCzs+POnTsa3aCvsnPnTlJTUxk6dKjG5xYQEICNjQ2bNm3SKG9lZaUx4cPExITatWvn6nEANGvWjGLFiml0Wd64cYMjR47QtWtXdazPn+OJiYlER0dTr149FEXh5MmTOtWp7fn1Yr3x8fFER0fToEEDkpKSuHTpkk71Aty7d49Tp07Rq1cvjZZrlSpVaNq0KZs3b860zYv/Lhs0aMCDBw+Ii4t7aV0PHjzQOBdf9Nlnn2kMRTRo0IC0tDRu3boF6H7OmJqa4u/vn2VdnTp1wtbWVv2+Tp06APTo0UNjzKxOnTqkpqZy9+5d9bLc/Azs7Ow4evQo//77b5brT506xdWrV+nWrRsPHjxQf6ckJiby4Ycfsm/fPtLT01EUhdWrV9O6dWsURdH4/vHx8SE2NjbT92/GZ/H8UIi29Kq7Ep79g/P29mb58uUkJSWRlpbGxx9/nG35jRs3Mn78eE6dOkVKSop6ua6TDsqUKfPKMtevX8fAwICKFStmW+bq1asANGnSJMv1r2qq37p1S/2P4HnvvvturtZz/fp1Onbs+MpYPDw8MiX0ChUqqNc/r1SpUhrvM07shw8fvrQeXQwfPpydO3dSu3ZtypUrR7NmzejWrRv169fPdpuMOF/8G5qYmFC2bNlMx1GyZMlM54+9vT1nzpx5aWwxMTGkpqaq35ubm2t8ub3IyMgIX19f5s6dy927d3FxcVEnvOeTTnh4OKNGjWL9+vWZ/paxsbEvjelF2p5f8Gzs7ttvv2XXrl2Zkoqu9WbUnV1dFSpUYNu2bSQmJmpcUvKyc+pV57jykmGHV52rup4zLi4umJiYaFVXxjnh6uqa5fLnP+Pc/AwmT56Mn58frq6ueHp60rJlS3r27KmeXJLxnZIxbp6V2NhYnjx5wqNHj1iwYAELFizIslzGBLMMGZ9FTiaD6V2SA+jWrRsBAQFERETQokWLbGfi7d+/nzZt2tCwYUPmzp1LiRIlMDY2JiQkJMsB/ZfJ6XUgL8oYwP/111+znA2a09lOBVWPLrKbRfeyL5sM2Z38aWlpGvutUKECly9fZuPGjWzdupXVq1czd+5cRo0axZgxY3IW+AtyehwdOnTQaN36+fm98kLoHj16MHv2bH7//XeGDRvG77//TsWKFalWrRrw7PibNm1KTEwMw4cPp3z58lhaWnL37l169eqV7YSk1/Xo0SMaNWqEjY0NY8eOxd3dHTMzM8LCwhg+fHie1fuinH4WRYsWfemPq9c5V7Pysu+P7Op6VQy5/Rl07tyZBg0asHbtWrZv386UKVOYNGkSa9asoUWLFur9TZkyRX3+vcjKyooHDx4Az87d7BJilSpVNN5nfBY5uRxBL5Nc+/bt6du3L0eOHNEYCH7R6tWrMTMzY9u2bRrXRIWEhGQqmxvTyd3d3UlPT+fChQvZngQZEymKFy+eo+vASpcurf5F9bzLly/naj3u7u6vvAtB6dKlOXPmDOnp6RqtuYxukuwG9XPC3t4+yzuf3Lp1K9M0ZktLS3x9ffH19SU1NZUOHTrw/fffM2LEiCwv+ciI8/Llyxr7Sk1N5caNG7l2vd60adM0vlidnZ1fuU2dOnVwd3dn+fLlNG3alPPnz/P999+r1589e5YrV67w888/07NnT/Xy52cg60Lb82vPnj08ePCANWvW0LBhQ/XyGzduZNpW239bz38OL7p06RIODg65dmOA8uXLs3r16hxvn1/nzMvo8hloq0SJEvTv35/+/fsTFRVFjRo1+P7772nRooX6O8XGxualx1esWDGsra1JS0vT+u9w48YNDAwMeOedd3SOWe/G5ODZr4V58+YxevRoWrdunW05Q0NDVCqVxnTamzdvZnlnE0tLy9e+fVS7du0wMDBg7NixmX5FZfz68vHxwcbGhgkTJvDkyZNM+8hqmvLzWrZsyZEjRzh27JjGNr/99ptGudetp2PHjpw+fZq1a9dmWpdxLC1btiQiIkLjh8bTp0/56aefsLKyolGjRi+tQxfu7u4cOXJEo7tv48aN3L59W6Ncxq/IDCYmJlSsWBFFUbL8O8Cz63RMTEyYNWuWxi/1xYsXExsb+9rXomXw9PTE29tb/XpZt/bzunfvzsmTJwkKCkKlUmmMQWf82n8+bkVRmDlzZo5i1Pb8yqre1NRU5s6dm2mflpaWWnWdlShRgmrVqvHzzz9r/Fs8d+4c27dvp2XLlroeTra8vLx4+PBhjsdR8+uceRldPoNXSUtLy/QZFS9eHGdnZ/Uwj6enJ+7u7kydOpWEhIRM+8j4TjE0NKRjx46sXr06yx/KWX33nDhxgkqVKr20+z47etmSg5f3C2do1aoV06dPp3nz5nTr1o2oqCjmzJlDuXLlMo2feHp6snPnTqZPn46zszNlypTJcmziZcqVK8fIkSMZN24cDRo0oEOHDpiamnL8+HGcnZ2ZOHEiNjY2zJs3j08++YQaNWrQpUsXihUrRnh4OJs2baJ+/frMnj072zq++uorfv31V5o3b86QIUPUU7wzWlUZXreeL7/8klWrVtGpUyc+/fRTPD09iYmJYf369QQHB1O1alU+++wz5s+fT69evThx4gRubm6sWrWKgwcPMmPGDKytrXX6+71Mnz59WLVqFc2bN6dz585cv36dZcuWZbrEoFmzZjg5OVG/fn0cHR25ePEis2fPplWrVtnGU6xYMUaMGMGYMWNo3rw5bdq04fLly8ydO5datWq99l1FXlePHj0YO3Ys69ato379+hrT6MuXL4+7uzvDhg3j7t272NjYsHr16hyPc2p7ftWrVw97e3v8/PwYPHgwKpWKX3/9NcvuPE9PT1asWEFgYCC1atXCysoq2x+nU6ZMoUWLFnh5edG7d2/1JQS2travfZ/F57Vq1QojIyN27typvmxIF2/COaPLZ/Aq8fHxlCxZko8//piqVatiZWXFzp07OX78ONOmTQPAwMCARYsW0aJFCypVqoS/vz8uLi7cvXuX3bt3Y2Njw4YNGwD44Ycf2L17N3Xq1CEgIICKFSsSExNDWFgYO3fu1Lje78mTJ+zdu5f+/fvn7A+h83zMN1B208pflNUlBIsXL1Y8PDwUU1NTpXz58kpISEiWU6kvXbqkNGzYUDE3N1cA9bTqjLL379/PVF9W+1EURVmyZIlSvXp1xdTUVLG3t1caNWqk7NixQ6PM7t27FR8fH8XW1lYxMzNT3N3dlV69eil///33K/8eZ86cURo1aqSYmZkpLi4uyrhx45TFixdnmuL9uvU8ePBAGThwoOLi4qKYmJgoJUuWVPz8/DSmBUdGRir+/v6Kg4ODYmJiolSuXFljSrii/G+q9JQpUzLVwQvTmF/2WU+bNk1xcXFRTE1Nlfr16yt///13pksI5s+frzRs2FApWrSoYmpqqri7uytffvmlEhsbm6mOF/9Ws2fPVsqXL68YGxsrjo6OSr9+/ZSHDx9qlGnUqFGWlyhkNUU7N9WqVUsBlLlz52Zad+HCBcXb21uxsrJSHBwclICAAOX06dOZpudrcwmBomh/fh08eFCpW7euYm5urjg7OytfffWVsm3bNgVQdu/erS6XkJCgdOvWTbGzs1MA9d8pq0sIFEVRdu7cqdSvX18xNzdXbGxslNatWysXLlzQKJPdv8vsPtustGnTRvnwww+z3P7F82/37t2ZjktRXu+cye7fRUZdK1eufGVs2n4Gr7qEICUlRfnyyy+VqlWrKtbW1oqlpaVStWrVLM+3kydPKh06dFD/GytdurTSuXNnJTQ0VKNcZGSkMmDAAMXV1VUxNjZWnJyclA8//FBZsGCBRrktW7YogHL16tVMdWlD9d/BCCGEeM7+/ftp3Lgxly5dwsPDo6DDeWu1a9cOlUqV5dCINiTJCSFENlq0aEHJkiVZuHBhQYfyVrp48SKVK1fm1KlTvPfeeznahyQ5IYQQeksvZ1cKIYQQIElOCCGEHpMkJ4QQQm9JkhNCCKG39PZicH2Wnp7Ov//+i7W19Rv99GohRN5RFIX4+HicnZ0z3QQ9J5KTkzXuGPQqJiYmWd4G700jSa4Q+vfffzPdgVwI8Xa6ffs2JUuWfK19JCcnY25dFJ6++qnpGZycnLhx48Ybn+gkyRVCGbefMqnoh8ow68dzCP0XvmdqQYcgClB8XBzlyrjmyu3xUlNT4WkSppX8QZvvlLRUIs6HkJqaKklO5L6MLkqVoYkkubfYq56HJt4OuTpkYWSCytD0lcWUQjRKIklOCCHEMyqDZy9tyhUSkuSEEEI8o1I9e2lTrpCQJCeEEOIZackJIYTQW9KSE0IIob+0bMkVovuISJITQgjxjLTkhBBC6C0ZkxNCCKG3pCUnhBBCb0lLTgghhN6SlpwQQgi9JS05IYQQekul0jLJSUtOCCFEYWOgevbSplwhIUlOCCHEM9JdKYQQQm/JxBMhhBB6S1pyQggh9Ja05IQQQugtackJIYTQW9KSE0IIobekJSeEEEJvSUtOCCGE/pKHpgohhNBX0pITQgiht/Tw3pWFp80phBBC6EhackIIIZ6R2ZVCCCH0lozJCSGE0FvSkhNCCKG39LAlV3jSsRBCiLyV0ZLT5pUDc+bMwc3NDTMzM+rUqcOxY8eyLdu4cWNUKlWmV6tWrXSqU5KcEEKIZzJactq8dLRixQoCAwMJCgoiLCyMqlWr4uPjQ1RUVJbl16xZw71799Svc+fOYWhoSKdOnXSqV5KcEEIIgCxbTtm9dDV9+nQCAgLw9/enYsWKBAcHY2FhwZIlS7IsX6RIEZycnNSvHTt2YGFhIUlOCCFEzuRVkktNTeXEiRN4e3urlxkYGODt7c3hw4e12sfixYvp0qULlpaWOtUtE0+EEEI8o/rvpU05IC4uTmOxqakppqammYpHR0eTlpaGo6OjxnJHR0cuXbr0yuqOHTvGuXPnWLx4sRbBaZKWnBBCCED3lpyrqyu2trbq18SJE/MkrsWLF1O5cmVq166t87bSkhNCCAGgfVfkf2Vu376NjY2NenFWrTgABwcHDA0NiYyM1FgeGRmJk5PTS6tKTEzkjz/+YOzYsa+OKwvSkhNCCAHo3pKzsbHReGWX5ExMTPD09CQ0NFS9LD09ndDQULy8vF4a08qVK0lJSaFHjx45OiZpyQkhhAB0b8npIjAwED8/P2rWrEnt2rWZMWMGiYmJ+Pv7A9CzZ09cXFwydXkuXryYdu3aUbRoUZ3rBElyQgghMug48UQXvr6+3L9/n1GjRhEREUG1atXYunWrejJKeHg4BgaanYuXL1/mwIEDbN++XfcK/yNJTgghBJC3LTmAgQMHMnDgwCzX7dmzJ9Oyd999F0VRclRXBklyQgghgIybmWiT5PI+ltwiSU4IIQQAKrS90LvwZDlJckIIIYC8764sCJLkhBBCPJOHE08KiiQ5IYQQz2jZklOkJSeEEKKw0ba7MidPISgokuSEEEIAkuSEEELoMxmTE0IIoa+kJSeEEEJvSZITQgihtyTJCSGE0Fv6mOTkeXLijdC3c0MubRrDwyM/su+XYdSsVDrbstsWDuHxydmZXmtmfa4uY2luwo/DO3Ft6zhiDk8nbPVI+nz8fn4cisih4LlzeLecG3ZWZjSoV4fjx45lW3bJooV82LgBJYrZU6KYPS19vDXKP3nyhJEjhlOzWmWK2lpSppQzvXv15N9//82PQym8VDq8CglJcqLAfdysBpP+rz3fz9+CV7dJnLlyl/VzB1DM3irL8l3+byFu3iPUrxodx/P0aRprdpxUl5n0fx1pWq8i/iN/oVqH8cz+bQ8/Du9Eq0aV8+uwhA5W/rmC4V8GMvLbIA4fC6NKlaq0aeVDVFRUluX37d1DZ9+ubN2xmz37D1OypCutWzbj7t27ACQlJXHqZBhfj/yOw8fC+OPPNVy5cplO7dvk52EVOro+NLUwkCQnCtzgHk0IWXOIX9cf4dI/EQz6/g8eJ6fi1y7rJwY/jEsi8kG8+vVh3fIkJadqJLm6VcuwbONR9p+4Svi9GJasOciZK3df2kIUBWfWjOn49w6gZy9/KlSsyE9zgzG3sODnpUuyLL/019/o268/VatV493y5Zm3YBHp6ens2fXsydO2trZs2rqDjzt15p1336VO3br8OHM2YWEnCA8Pz89DK1QkyQmRy4yNDKlewZVdRy+rlymKwq6jl6ldpYxW+/BrV4+V28JISk5VLzty+gYfNaqMczFbABrW9MCjdHF2HrmYuwcgXltqaionw07Q5ENv9TIDAwOaNPHm2JHDWu0jKSmJJ0+eYF+kSLZl4uJiUalU2NnZvW7IekuSXCG0YMECXF1dMTAwYMaMGYwePZpq1arlWX3fffcdn332mdblU1NTcXNz4++//86zmN5kDvZWGBkZEhUTr7E86kEcTkVtXrl9zUqlec/DmaVrD2ksD5y0kov/RHB9+/fEHZvJ+jn9GfrDnxwMu56r8YvXFx0dTVpaGsWLO2osL+7oSEREhFb7+HbEcEo4O2skyuclJyfz7YjhdPbtio3Nq8+rt5Yejsnp9ezKuLg4Bg4cyPTp0+nYsSO2trakp6czaNCgPKkvIiKCmTNncvbsWY3lc+bMYcqUKURERFC1alV++uknateuDYCJiQnDhg1j+PDhhIaG5klc+syvnRdnr9zl7/O3NJb379KI2pXd6DgkmPB7Mbxfoxwzvu7Mvfux7H6u1SgKvymTf2Dln3+wbecezMzMMq1/8uQJPbp2RlEUZs2ZVwARFh4yu7KQCQ8P58mTJ7Rq1YoSJUpgYWGBlZUVRYsWzXab1NTUbNe9yqJFi6hXrx6lS/9v3GfFihUEBgYSFBREWFgYVatWxcdHc0C9e/fuHDhwgPPnz+e47sIq+mECT5+mUbyItcby4kVtiHgQ99JtLcxM6OTjyc9/aXZpmZkaM2ZQa4ZPW8Pmfec4d/VfglfsY9X2MIZ+8mGuH4N4PQ4ODhgaGhIVFamxPCoyEicnp5du++P0qUyb/AMbNm+ncpUqmdY/efKE7l07E37rFhu37pBW3CtId2Uua9y4MYMHD+arr76iSJEiODk5MXr0aI0y4eHhtG3bFisrK2xsbOjcuTORkZFZ7/A5S5cupXLlZzPpypYti0ql4ubNm5m6K3v16kW7du34/vvvcXZ25t133wXg9u3bdO7cGTs7O4oUKULbtm25efPmS+v8448/aN26tcay6dOnExAQgL+/PxUrViQ4OBgLCwuWLPnfgLq9vT3169fnjz/+eOVx6ZsnT9M4efE2H9R5V71MpVLxQe13OHbmxku37dC0OqYmRvy++bjGcmMjQ0yMjUhXFI3laWnpGBgUnn+cbwsTExOq1/Bk967/9WSkp6eze3cotetmPfkIYNrUyfzw/TjWbdyKZ82amdZnJLjr166yadvOl/64Fc9kPBn8la9C1F9Z4C25n3/+GUtLS44ePcrkyZMZO3YsO3bsAJ6d6G3btiUmJoa9e/eyY8cO/vnnH3x9fV+5X19fX3bu3AnAsWPHuHfvHq6urlmWDQ0N5fLly+zYsYONGzfy5MkTfHx8sLa2Zv/+/Rw8eBArKyuaN2+ebUsvJiaGCxcuUPO5f2ypqamcOHECb2/NAXVvb28OH9ZsfdSuXZv9+/e/8rj00axlu/BvX4/urevwbhlHZn3ji4W5Kb+sOwLAonGfMHZQ5qnfvdp5sWHPGWJiEzWWxycms+/vq0wY2o4Gnh6Udi5Kj9Z16P5RbdbvPp0vxyR0M3hoICGLF7Lsl5+5dPEigwf0IykxkZ5+/gD07tWT70aOUJefOmUSY4O+I3jhEkq7uREREUFERAQJCQnAswTXzfdjwk78TcjPv5GWlqYu8zq9NfpOH1tyBT4mV6VKFYKCggDw8PBg9uzZhIaG0rRpU0JDQzl79iw3btxQJ6hffvmFSpUqcfz4cWrVqpXtfs3NzdW/3IoVK/bSbg9LS0sWLVqEiYkJAMuWLSM9PZ1FixapP8yQkBDs7OzYs2cPzZo1y7SP8PBwFEXB2dlZvSxjQN3RUXNA3dHRkUuXLmksc3Z25tYtzXGlDCkpKaSkpKjfx8W9vBuvsFm1PQwHeytG9WuFY1Frzly+S9sBc9STUVydipCertkq8yhdnPo1ytHq89lZ7rPn10sYO6gtSyf4YW9jQfi9GEbP2cjClQfy/HiE7jp19iX6/n3GjhlFZEQEVapWY93Grep/O7dvh2Ng8L/f5AvnzyM1NZVuvh9r7Gfkd0F8O2o0/969y8YN6wGoU7OaRpltO3fTsFHjPD2eQkueQpD7qrzQj16iRAn1eNXFixdxdXXVaIFVrFgROzs7Ll68+NIkp4vKlSurExzA6dOnuXbtGtbWmuNEycnJXL+e9ey8x48fA2Q58K0Nc3NzkpKSslw3ceJExowZk6P9FhbBK/YRvGJflut8AmZmWnb1VhTm1Qdmu7/IB/H0Hb0s1+ITea/fgIH0G5D1Z7o9dI/G+8vXbr50X6Xd3Hj8RHlpGZGZPk48KfAkZ2xsrPFepVKRnp6erzFYWlpqvE9ISMDT05PffvstU9lixYpluQ8HBwcAHj58qC6TMaD+4hhiZBYD6jExMdnue8SIEQQGBqrfx8XFZdv1KoQQOaWPSa7Ax+RepkKFCty+fZvbt2+rl124cIFHjx5RsWLFPKu3Ro0aXL16leLFi1OuXDmNl62tbZbbuLu7Y2Njw4ULF9TLTExM8PT01Lg0ID09ndDQULy8NAfUz507R/Xq1bPct6mpKTY2NhovIYTIbSqV9q/C4o1Oct7e3lSuXJnu3bsTFhbGsWPH6NmzJ40aNdKY4JHbunfvjoODA23btmX//v3cuHGDPXv2MHjwYO7cuZPlNhkTSg4c0BzzCQwMZOHChfz8889cvHiRfv36kZiYiL+/v0a5/fv3ZznWJ4QQ+eVZAtNm4klBR6q9NzrJqVQq1q1bh729PQ0bNsTb25uyZcuyYsWKPK3XwsKCffv2UapUKTp06ECFChXo3bs3ycnJL21F9enThz/++EOju9XX15epU6cyatQoqlWrxqlTp9i6davGZJTDhw8TGxvLxx9/nNVuhRAif2jbiitESU6lKIqMzuYSRVGoU6cOX3zxBV27dtV6O19fX6pWrco333yjVfm4uDhsbW0xrRyAytDk1RsIvfTweNYzS8XbIS4uDseitsTGxr72EEbGd4r7kNUYmlq+snxaSiLXZ3bMlbrz2hvdkitsVCoVCxYs4OnTp1pvk5qaSuXKlfniiy/yMDIhhHg1fRyTK/DZla+jUqVK2V5bNn/+fLp3757PEUG1atV0ugG0iYkJ3377bd4FJIQQWjIwUGl1VyClEN05qFAnuc2bN/PkyZMs1714AbYQQoiX07aVJi25fPL8jZCFEEK8Hn28Tq5QJzkhhBC5R1pyQggh9Ja05IQQQugtSXJCCCH0lj52V8p1ckIIIYC8f2jqnDlzcHNzw8zMjDp16nDs2LGXln/06BEDBgygRIkSmJqa8s4777B582ad6pSWnBBCCCBvW3IrVqwgMDCQ4OBg6tSpw4wZM/Dx8eHy5csUL148U/nU1FSaNm1K8eLFWbVqFS4uLty6dQs7Ozud6pUkJ4QQAsjbMbnp06cTEBCgvjl9cHAwmzZtYsmSJXz99deZyi9ZsoSYmBgOHTqkfiSbm5ubzvVKd6UQQghA99t6xcXFabxSUlKy3G9qaionTpzA29tbvSzjyS2HDx/Ocpv169fj5eXFgAEDcHR05L333mPChAmkpaXpdEyS5IQQQgDaPmbnf609V1dXbG1t1a+JEydmud/o6GjS0tIy3YnK0dGRiIiILLf5559/WLVqFWlpaWzevJnvvvuOadOmMX78eJ2OSborhRBCALqPyd2+fVvjKQSmpqa5Fkt6ejrFixdnwYIFGBoa4unpyd27d5kyZQpBQUFa70eSnBBCCED3MTkbGxutHrXj4OCAoaEhkZGRGssjIyNxcnLKcpsSJUpgbGyMoaGhelmFChWIiIggNTUVExPtHjOWo+7Kp0+fsnPnTubPn098fDwA//77LwkJCTnZnRBCiDdBHj001cTEBE9PT0JDQ9XL0tPTCQ0NxcvLK8tt6tevz7Vr1zQeQn3lyhVKlCihdYKDHCS5W7duUblyZdq2bcuAAQO4f/8+AJMmTWLYsGG67k4IIcQbQtcxOV0EBgaycOFCfv75Zy5evEi/fv1ITExUz7bs2bMnI0aMUJfv168fMTExDBkyhCtXrrBp0yYmTJjAgAEDdKpX5+7KIUOGULNmTU6fPk3RokXVy9u3b09AQICuuxNCCPGGyMvr5Hx9fbl//z6jRo0iIiKCatWqsXXrVvVklPDwcAwM/tfucnV1Zdu2bXzxxRdUqVIFFxcXhgwZwvDhw3WqV+ckt3//fg4dOpSpuejm5sbdu3d13Z0QQog3RF7fu3LgwIEMHDgwy3V79uzJtMzLy4sjR47kqK4MOie59PT0LK9TuHPnDtbW1q8VjBBCiIIj964EmjVrxowZM9TvVSoVCQkJBAUF0bJly9yMTQghRD7KyzG5gqJzS27atGn4+PhQsWJFkpOT6datG1evXsXBwYHff/89L2IUQgiRD+RRO0DJkiU5ffo0f/zxB2fOnCEhIYHevXvTvXt3zM3N8yJGIYQQ+UAfuytzdDG4kZERPXr0yO1YhBBCFKC3tiW3fv16rXfYpk2bHAcjhBCi4Ly1Lbl27dpptTOVSqXzHaKFEEK8Gd7altzzt1URQgihn1Ro2ZLL80hyj9ygWQghBAAGKhUGWmQ5bcq8KbRKcrNmzdJ6h4MHD85xMEIIIQrOWzsm9+OPP2q1M5VKJUlOCCEKqbd2TO7GjRt5HYcQQogCZqB69tKmXGGRo+fJAaSmpnL58mWePn2am/EIIYQoKCrtbu1VmGae6JzkkpKS6N27NxYWFlSqVInw8HAABg0axA8//JDrAQohhMgf2jwwVdtxuzeFzkluxIgRnD59mj179mBmZqZe7u3tzYoVK3I1OCGEEPlHpcN/hYXOlxD89ddfrFixgrp162oMPlaqVInr16/nanBCCCHyjz6Oyemc5O7fv0/x4sUzLU9MTCxUM26EEEJo0sfZlTp3V9asWZNNmzap32cc7KJFi/Dy8sq9yIQQQuQrfRyT07klN2HCBFq0aMGFCxd4+vQpM2fO5MKFCxw6dIi9e/fmRYxCCCHygT7e8UTnltz777/PqVOnePr0KZUrV2b79u0UL16cw4cP4+npmRcxCiGEyAfSkvuPu7s7CxcuzO1YhBBCFCAZk/vP9evX+fbbb+nWrRtRUVEAbNmyhfPnz+dqcEIIIfKPPrbkXpnkLl++rPF+7969VK5cmaNHj7J69WoSEhIAOH36NEFBQXkTpRBCiDyXMSanzauweGWSW7NmDd27d1c/DPXrr79m/Pjx7NixAxMTE3W5Jk2acOTIkbyLVAghRJ5S6fAqLF6Z5IYNG0aRIkXw8fEB4OzZs7Rv3z5TueLFixMdHZ37EQohhMgX2ty3UttxuzfFK5OcsbExP/30E3379gXAzs6Oe/fuZSp38uRJXFxccj9CIYQQ+SLjjifavAoLrSeedOrUCYAuXbowfPhwIiIiUKlUpKenc/DgQYYNG0bPnj3zLFAhhBB5661syb1owoQJlC9fHldXVxISEqhYsSINGzakXr16fPvtt3kRoxBCiHyiTzMrQcfr5BRFISIiglmzZjFq1CjOnj1LQkIC1atXx8PDI69iFEIIkQ/08To5nZNcuXLlOH/+PB4eHri6uuZVXEIIIfKZPj6FQKfuSgMDAzw8PHjw4EFexSOEEKKAyJgc8MMPP/Dll19y7ty5vIhHCCFEAdHH6+R0vndlz549SUpKomrVqpiYmGBubq6xPiYmJteCE0IIkX/08SkEOie5GTNm5EEYQgghCpq2sycLUY7TPcn5+fnlRRxCCCEKmD7OrszRUwiEEELon7x+CsGcOXNwc3PDzMyMOnXqcOzYsWzLLl26NNNkFzMzM53rlCQnhBACyNunEKxYsYLAwECCgoIICwujatWq+Pj4qB/XlhUbGxvu3bunft26dUv3Y9J5CyGEEHopL1ty06dPJyAgAH9/fypWrEhwcDAWFhYsWbLkJfGocHJyUr8cHR11rleSnBBCCED36+Ti4uI0XikpKVnuNzU1lRMnTuDt7a1eZmBggLe3N4cPH842noSEBEqXLo2rqytt27bN0YO5dZ54kuHatWtcv36dhg0bYm5ujqIohWowUh/8EzoZGxubgg5DFBB7r8CCDkEUICUt64TyOgzQruWTUebFu14FBQUxevToTOWjo6NJS0vL1BJzdHTk0qVLWdbx7rvvsmTJEqpUqUJsbCxTp06lXr16nD9/npIlS2oR5TM6J7kHDx7g6+vLrl27UKlUXL16lbJly9K7d2/s7e2ZNm2arrsUQgjxBtB1duXt27c1fmibmprmWixeXl54eXmp39erV48KFSowf/58xo0bp/V+dO6u/OKLLzAyMiI8PBwLCwv1cl9fX7Zu3arr7oQQQrwhVFo+Sy4jD9rY2Gi8sktyDg4OGBoaEhkZqbE8MjISJycnrWIzNjamevXqXLt2Tadj0jnJbd++nUmTJmVqLnp4eORo5osQQog3Q149NNXExARPT09CQ0PVy9LT0wkNDdVorb1MWloaZ8+epUSJEjrVrXN3ZWJiokYLLkNMTEyuNlWFEELkr7y8GDwwMBA/Pz9q1qxJ7dq1mTFjBomJifj7+wPPbhnp4uLCxIkTARg7dix169alXLlyPHr0iClTpnDr1i369OmjU706J7kGDRrwyy+/qPtEM54OPnnyZD744ANddyeEEOINkZeP2vH19eX+/fuMGjWKiIgIqlWrxtatW9WTUcLDwzEw+F/n4sOHDwkICCAiIgJ7e3s8PT05dOgQFStW1KlelaIoii4bnDt3jg8//JAaNWqwa9cu2rRpw/nz54mJieHgwYO4u7vrFIDQXVxcHLa2ttyNeiizK99ixd4fVtAhiAKkpKWQcnIusbGxr/09kPGdMvjPvzG1sHpl+ZSkBGZ1rpkrdec1ncfk3nvvPa5cucL7779P27ZtSUxMpEOHDpw8eVISnBBCFGJ5eceTgpKj6+RsbW0ZOXJkbscihBCiAOl6nVxhoHOsW7du5cCBA+r3c+bMoVq1anTr1o2HDx/manBCCCHyT17foLkg6JzkvvzyS+Li4gA4e/YsgYGBtGzZkhs3bhAYKHdgEEKIwsoALbsrC9GzwXXurrxx44Z6dsvq1atp3bo1EyZMICwsjJYtW+Z6gEIIIfKHPj40VeeWnImJCUlJSQDs3LmTZs2aAVCkSBF1C08IIUThk1cXgxcknVty77//PoGBgdSvX59jx46xYsUKAK5cuaLTTTOFEEK8WZ7d1kubi8HzIZhconNLbvbs2RgZGbFq1SrmzZuHi4sLAFu2bKF58+a5HqAQQoj8oY8TT3RuyZUqVYqNGzdmWv7jjz/mSkBCCCEKRl7e8aSg6NySCwsL4+zZs+r369ato127dnzzzTekpqbmanBCCCHyj0qH/woLnZNc3759uXLlCgD//PMPXbp0wcLCgpUrV/LVV1/leoBCCCHyhz5OPNE5yV25coVq1aoBsHLlSho2bMjy5ctZunQpq1evzu34hBBC5BN9THI6j8kpikJ6ejrw7BKCjz76CHj2GPTo6OjcjU4IIUS+yctH7RQUnZNczZo1GT9+PN7e3uzdu5d58+YBzy4Sz3hkghBCiMJHJp4AM2bMICwsjIEDBzJy5EjKlSsHwKpVq6hXr16uByiEECJ/yCUEQJUqVTRmV2aYMmUKhoaGuRKUEEKI/KftY3T0/lE7WTEzM8utXQkhhCgA+thdqXOSS0tL48cff+TPP/8kPDw807VxMTExuRacEEKIfKRtV2QhSnI6j8mNGTOG6dOn4+vrS2xsLIGBgXTo0AEDAwNGjx6dByEKIYTIDwaotH4VFjonud9++42FCxfyf//3fxgZGdG1a1cWLVrEqFGjOHLkSF7EKIQQIh/o48QTnZNcREQElStXBsDKyorY2FgAPvroIzZt2pS70QkhhMg3+ngxuM5JrmTJkty7dw8Ad3d3tm/fDsDx48cxNTXN3eiEEELkG62eCq7lDMw3hc5Jrn379oSGhgIwaNAgvvvuOzw8POjZsyeffvpprgcohBAif+hjd6XOsyt/+OEH9f/39fWlVKlSHD58GA8PD1q3bp2rwQkhhMg/Bmh5nVwhmnjy2tfJeXl54eXllRuxCCGEKEDattL0riW3fv16rXfYpk2bHAcjhBCi4Big3RiWzuNcBUirJNeuXTutdqZSqUhLS3udeIQQQhSQt/YpBBmP1hFCCKG/VGh3M5PCk+Jy8d6VQgghCjd9vEGz1l2ru3btomLFisTFxWVaFxsbS6VKldi3b1+uBieEECJ/qbR4FSZaJ7kZM2YQEBCAjY1NpnW2trb07duXH3/8MVeDE0IIkX/08To5rZPc6dOnad68ebbrmzVrxokTJ3IlKCGEEPkvY+KJNq/CQusxucjISIyNjbPfkZER9+/fz5WghBBC5D99vIRA61hdXFw4d+5ctuvPnDlDiRIlciUoIYQQ+U8fW3JaJ7mWLVvy3XffkZycnGnd48ePCQoK4qOPPsrV4IQQQuQfbSadFLbJJ1onuW+//ZaYmBjeeecdJk+ezLp161i3bh2TJk3i3XffJSYmhpEjR+ZlrEIIIfJQXrfk5syZg5ubG2ZmZtSpU4djx45ptd0ff/yBSqXS+sYkz9N6TM7R0ZFDhw7Rr18/RowYgaIowLM/io+PD3PmzMHR0VHnAIQQQrwZ8nJMbsWKFQQGBhIcHEydOnWYMWMGPj4+XL58meLFi2e73c2bNxk2bBgNGjTIQa06xlq6dGk2b95MdHQ0R48e5ciRI0RHR7N582bKlCmTowCEEEK8GfKyJTd9+nQCAgLw9/enYsWKBAcHY2FhwZIlS7LdJi0tje7duzNmzBjKli2bo2PK0SQZe3t7atWqRe3atbG3t89RxUIIId4suo7JxcXFabxSUlKy3G9qaionTpzA29tbvczAwABvb28OHz6cbTxjx46lePHi9O7dO8fHVJhmggohhMhDul4M7urqiq2trfo1ceLELPcbHR1NWlpapiEtR0dHIiIistzmwIEDLF68mIULF77WMcm9K4UQQgD/PTRVi7mTGWVu376tcRcsU1PTXIkjPj6eTz75hIULF+Lg4PBa+5IkJ4QQAtD9oak2NjZZ3urxRQ4ODhgaGhIZGamxPDIyEicnp0zlr1+/zs2bN2ndurV6WcbTcIyMjLh8+TLu7u6vDhTprhRCCPEflQ7/6cLExARPT09CQ0PVy9LT0wkNDcXLyytT+fLly3P27FlOnTqlfrVp04YPPviAU6dO4erqqnXd0pITQggB6N6S00VgYCB+fn7UrFmT2rVrM2PGDBITE/H39wegZ8+euLi4MHHiRMzMzHjvvfc0trezswPItPxVJMkJIYQAnrXktBmT07UlB+Dr68v9+/cZNWoUERERVKtWja1bt6ono4SHh2NgkPudi5LkhBBCAHnbkgMYOHAgAwcOzHLdnj17Xrrt0qVLc1SnJDkhhBBA3ie5giBJTgghBIDWk0py0l1ZUGR2pXgjLAieS6V3yuJga8EHDbz4+3j2N24NWbyQZk0a4epUFFenorRu0SxT+QnjxlCjSkUci1iryxw/djSvD0O8hr6d6nNp3bc8PDCJfSFDqFmxVLZltwX35/Hx6Zlea37soy6T1frHx6fzRY8P8uNwCiUDlfavwkJacqLArV65ghFf/R8zfppLrdp1mPPTTNq3bkHYmYsUy+LGrQf27aWTbxfq1PXC1MyMH6dOpt1HzTkWdhZnFxcAynl4MO3HWbiVKUty8mNmz5pBu4+ac+r8FYoVK5bfhyhe4eOm1Zg0tC2DfljJ8XPhDOzakPU/fUbVj3/g/sOETOW7fLUUE2ND9fsithYc+20Ya0JPq5e5NQ/S2KZZvfIEf+vL2t2nEVnTx5acSsl4nIAoNOLi4rC1teVu1EOtLsR8033QwIsanjWZNuMn4Nn1M+XLlaZvv4H835fDX7l9Wloark5FmfrjLLr16Jllmbi4OFyK27Nh83YaN/kwV+MvKMXeH1bQIeSafSFDOHHhNl9MWQM8u1HwtY2jmPfnfqb+vOuV2w/s2pDvPmtOmRajSUpOzbLMn1P8sbI0pWX/4FyNvaAoaSmknJxLbGzsa38PZHynbPj7BpZW1q8sn5gQT+uaZXKl7rwm3ZWiQKWmpnIy7IRG4jEwMKDxBx9y7Gj2N259XlJSEk+ePMG+SJFs6whZvBBbW1veq1I1V+IWucfYyJDq5Uuy69gV9TJFUdh17Aq1K7tptQ+/NnVYueNktgmueBErmr9fkZ/Xaff8srfVs5sv5/al4AVLkpwoUA/+u3Fr8eKaN24t7uhI1Au3AMrOqJFfU6KEMx808dZYvmXzRpyK2uBga8Gcn2awbtO2174Pnsh9DnaWGBkZEhUTr7E8KiYep6KvblXUrFiK98qVYOlf2Y+59mhVi/jEFP7afea149Vn+jgmp9dJTlEUPvvsM4oUKYJKpeLUqVM0btyYoUOH5lmdDRs2ZPny5VqXj46Opnjx4ty5cyfPYtJn06ZMYvXKFSz/czVmZmYa6xo2+oCDx8LYuecA3k198OvehftRUQUUqcgrfm3rcPbqv/x9ITzbMj3b1GbF1hOkpD7Nx8jEm0Cvk9zWrVtZunQpGzdu5N69e7z33nusWbOGcePG5Ul969evJzIyki5duqiXLViwgMaNG2NjY4NKpeLRo0ca2zg4ONCzZ0+CgoJ4GxX978atUVGarbaoyEiKv+JJ8zN/nMaPUyfx18atvFe5Sqb1lpaWuLuXo3adusydvwgjIyN+Xpr9AxpFwYh+lMjTp2kUL6LZaitexJqIB/HZbPWMhZkJnZpV4+f12bfi6lcrw7tujoSsk9m1r5JX964sSHqd5K5fv06JEiWoV68eTk5OGBkZUaRIEayts+8CSU3Nuk9fG7NmzcLf31/j1jRJSUk0b96cb775Jtvt/P39+e2334iJiclx3YWViYkJ1Wt4snf3/yYXpKens3fPLmrXyXzj1gw/TpvC5InjWbN+MzU8a2pVV3p6OqnZPNRRFJwnT9M4eekOH9TyUC9TqVR8UMuDY2dvvnTbDt5VMTU24vctJ7It49e2Dicu3Obs1X9zK2S9pevz5AoDvU1yvXr1YtCgQYSHh6NSqXBzcwPI1F3p5ubGuHHj6NmzJzY2Nnz22WfAswf2NWjQAHNzc1xdXRk8eDCJiYnZ1nf//n127dql8WgIgKFDh/L1119Tt27dbLetVKkSzs7OrF27NucHXIgNHDyUpUsW8duvP3Pp0kWGDupPUmIin/TsBcBnn/oR9O3/fiRMnzqZ8WNGMXf+IkqXdiMyIoLIiAgSEp5NNU9MTGT0dyM5dvQI4bducTLsBP0+682//96lfcePC+IQxSvMWr4X/3Z16d6qJu+6FWfW1x9jYW7CLxueTRRZNLorYwe0yrRdrzZ12LD3HDGxSVnu19rSlA4fVmXpuiN5Gr++0PXJ4IWB3l4nN3PmTNzd3VmwYAHHjx/H0NAw27JTp05l1KhR6i7D69ev07x5c8aPH8+SJUu4f/+++p5rISEhWe7jwIEDWFhYUKFChRzFW7t2bfbv35/lY95TUlI0HisfFxeXozreVB07+RIdHc33Y0cTGRlBlarVWLN+s7q78vbt26ieax0vXhBMamoqPbp21tjPiJGj+Oa7IAwNDbly5RLLu/7Cg+hoihQtSg3PmmwL3UuFipXy89CEllbtOIWDnRWj+jbHsagNZ67cpe3gBUTFPPvh4upkT/oLVzt5lC5G/eplaTUg+0sCOjWrjkql4s9tJ/M0fn1hgAoDLZpp2tzE+U2ht0nO1tYWa2trDA0Ns3wo3/OaNGnC//3f/6nf9+nTh+7du6tbfB4eHsyaNYtGjRoxb968TBMcAG7duoWjo2OO76Lt7OzMyZNZ/0OcOHEiY8aMydF+C4u+/QbQt9+ALNdt2aF5ndT5K/+8dF9mZmYsX7E612IT+SN45QGCVx7Icp3P53MzLbt66z7mtQJfus8la4+wZK204rSlbSut8KQ4Pe6u1EXNmppjOqdPn2bp0qVYWVmpXz4+PqSnp3Pjxo0s9/H48eMsk5+2zM3NSUrKustlxIgRxMbGql+3b9/OcT1CCJEtPeyv1NuWnC4sLS013ickJNC3b18GDx6cqWypUlnfT8/BwYGHDx/mOIaYmJhsbzdlamqKqalpjvcthBDa0MfbekmSy0KNGjW4cOEC5cqV03qb6tWrExERwcOHD7G3t9e5znPnztG4cWOdtxNCiFyj7czJwpPjpLsyK8OHD+fQoUMMHDiQU6dOcfXqVdatW5ftw/7gWZJzcHDg4MGDGssjIiI4deoU165dA+Ds2bOcOnVK43KBpKQkTpw4QbNmzfLmgIQQQgt62FspSS4rVapUYe/evVy5coUGDRpQvXp1Ro0ahbOzc7bbGBoaqq93e15wcDDVq1cnICAAeHZHlOrVq7N+/Xp1mXXr1lGqVCkaNGiQNwckhBDa0MMsJ08hyEURERFUqlSJsLAwSpcurfV2devWZfDgwXTr1k2r8vr2FAKRM/r0FAKhu7x4CsHu07exsn71vhLi4/igqqs8heBt4+TkxOLFiwkPz/4eei+Kjo6mQ4cOdO3aNQ8jE0KIV9PHO57IxJNc1q5dO53KOzg48NVXX+VNMEIIoQN9vE5OkpwQQohn9DDLSZITQggByHVyQggh9Ji2420yJieEEKLQ0cPeSklyQggh/qOHWU6SnBBCCEDG5IQQQugxGZMTQgiht/Swt1KSnBBCiP/oYZaTJCeEEAKQMTkhhBB6TMbkhBBC6C097K2UJCeEEOI/epjlJMkJIYQA9HNMTp4nJ4QQAsj758nNmTMHNzc3zMzMqFOnDseOHcu27Jo1a6hZsyZ2dnZYWlpSrVo1fv31V53rlCQnhBAC+F9vpTYvXa1YsYLAwECCgoIICwujatWq+Pj4EBUVlWX5IkWKMHLkSA4fPsyZM2fw9/fH39+fbdu26VSvJDkhhBDP5GGWmz59OgEBAfj7+1OxYkWCg4OxsLBgyZIlWZZv3Lgx7du3p0KFCri7uzNkyBCqVKnCgQMHdKpXkpwQQgjgf2Ny2vwHEBcXp/FKSUnJcr+pqamcOHECb29v9TIDAwO8vb05fPjwK+NSFIXQ0FAuX75Mw4YNdTomSXJCCCGe0XY87r+WnKurK7a2turXxIkTs9xtdHQ0aWlpODo6aix3dHQkIiIi23BiY2OxsrLCxMSEVq1a8dNPP9G0aVOdDklmVwohhAB0v4Lg9u3b2NjYqJebmprmajzW1tacOnWKhIQEQkNDCQwMpGzZsjRu3FjrfUiSE0II8YyOWc7GxkYjyWXHwcEBQ0NDIiMjNZZHRkbi5OSU7XYGBgaUK1cOgGrVqnHx4kUmTpyoU5KT7kohhBCA7mNy2jIxMcHT05PQ0FD1svT0dEJDQ/Hy8tJ6P+np6dmO+2VHWnJCCCGAvL13ZWBgIH5+ftSsWZPatWszY8YMEhMT8ff3B6Bnz564uLiox/UmTpxIzZo1cXd3JyUlhc2bN/Prr78yb948neqVJCeEEALI27t6+fr6cv/+fUaNGkVERATVqlVj69at6sko4eHhGBj8r3MxMTGR/v37c+fOHczNzSlfvjzLli3D19dXp3pViqIoOYhXFKC4uDhsbW25G/VQq/5woZ+KvT+soEMQBUhJSyHl5FxiY2Nf+3sg4zvlzI1IrK1fva/4+DiqlHHMlbrzmrTkhBBCAPp570pJckIIIYD/uiu1GZPL80hyjyQ5IYQQgF4+aUeSnBBCiGfkyeBCCCH0mP615STJCSGEAKQlJ4QQQo/pXztOkpwQQoj/SEtOCCGE3pLr5IQQQugvPeyvlCQnhBAC0MscJ0lOCCHEMzImJ4QQQm/JmJwQQgj9pYf9lZLkhBBCAHqZ4yTJCSGEeEbG5IQQQugx7cbkClNbTpKcEEIIQD9bcgYFHYAQQgiRV6QlJ4QQAtDPlpwkOSGEEIBcJyeEEEKPSUtOCCGE3pLr5IQQQugvPcxykuSEEEIAMiYnhBBCj8mYnBBCCL2lh72VkuSEEEL8Rw+znCQ5IYQQgIzJiTeEoigAxMfHFXAkoiApaSkFHYIoQEpa6rP//e/7IDfEx8dpNd5WmL57JMkVQvHx8QCUdy9dwJEIIQpafHw8tra2r7UPExMTnJyc8CjjqvU2Tk5OmJiYvFa9+UGl5ObPAJEv0tPT+ffff7G2tkZVmKY55aK4uDhcXV25ffs2NjY2BR2OKABv+zmgKArx8fE4OztjYPD699pPTk4mNTVV6/ImJiaYmZm9dr15TVpyhZCBgQElS5Ys6DDeCDY2Nm/lF5z4n7f5HHjdFtzzzMzMCkXS0pU8akcIIYTekiQnhBBCb0mSE4WSqakpQUFBmJqaFnQoooDIOSC0IRNPhBBC6C1pyQkhhNBbkuSEEELoLUlyQggh9JYkOSGEEHpLkpwQ/0lPTy/oEEQekfl1by9JcuKtNnr0aNasWcP169dz5dZI4s2SnJzM06dP1berkmT39pF/1eKt9s8//7BhwwaqV6/O999/z549ewo6JJGLBg0ahJeXF126dGH79u08fvy4oEMS+UyukxNvJUVRNG5u/csvv7B8+XIePXpEt27dGDx4cAFGJ3KLoijs37+f7du3M2vWLDp06ECbNm3o0KFDQYcm8okkOfFWS09PV3dTnj9/nt9//50lS5bQv39/vv322wKOTryO5z9bgF27djF37lzu3LlD9+7dGTRoUAFGJ/KLPIVAvHWuXr1KUlIStra2ODs7q5+JValSJQYNGoSNjQ1z5szBxcUFf3//Ao5WaOvF1vmLY6xNmjTB2dmZBQsWsHDhQszNzenTp09+hynymYzJibfKkiVLaNy4MR06dKB8+fJ89tlnbNu2Tb3e0dGR7t2706ZNG9atW8e1a9cKMFqhrecT3OXLl7MtV758eQYNGkS9evVYu3YtZ86cya8QRQGRJCfeGvv37+eLL75gwoQJ7Nq1i6VLlxIVFcU333zD8uXL1eVcXFzw9fXl/PnzhIWFATIr702XkeBGjhxJhQoV+OWXX7ItW6ZMGfr06cPNmzfZunUrIJeP6DVFCD2XlpamKIqizJs3T2nQoIHGuuPHjyv+/v5K5cqVlb/++ktj3cSJE5WqVasqDx8+zK9QxWtYvny5UqZMGeWjjz5SjI2NlZCQkJeWDwkJURwcHJRbt27lT4CiQEhLTui9jLEZMzMzwsPDCQ8PV6+rWbMmgwcPplKlSixevJg7d+6of9V/9NFHuLq6kpycXCBxC+09evSI8+fP06lTJ+bMmcPIkSP59NNPWbp0aaayyn+t8k6dOlG3bl0uXbqUz9GK/CRJTuitiRMnsnnzZvV7Dw8PFEVhy5YtpKWlqZdXq1YNf39/9u3bx7Vr19RJ8b333qNu3brcu3cv32MXr5aSksLZs2cBsLOzo2PHjvj5+VGqVCmGDRvGd999l2Wiy/jsLS0tKVeunHofQj/J7EqhlxITEzl06BCWlpbqZfXr16dr16588cUXuLi48NFHH6nXNWvWDFdXV44ePUrjxo3V08+/+eYbjRl74s0xfPhwDA0NmTZtGgDVq1dXr7O0tOSrr74C4NNPP0WlUuHn58elS5fYunUrXbp0wcnJie+//57ExMQCiV/kD2nJCb1kaWnJJ598QkhIiMZsux9++IGuXbvStWtXfvvtNx49egTAw4cPUalUODk5Af/r4pQE9+Zq2bIlu3bt4sqVK1muz0h0o0aNok+fPkycOBFvb2/27t2r/pwtLCwoVqxYfoYt8pm05ITeql69OkWLFmXv3r28++676mnmixcvxsrKioEDB7JixQpKlCih/qLs3r17AUcttOXh4UGRIkU4ffo077zzDmlpaRgaGmqUsbS0ZMSIEURHRzNy5Eg6dOjAqlWrgMzX1Qn9JC05obc8PDyoW7cuI0eO5MyZM6hUKvV4zMyZM5k3bx4eHh7cv3+fGjVqcOLECYyMjDTG68Sbq0yZMtSqVYt+/frx4MEDDA0Ns/zsbt26xcqVK+nUqZM6waWnp0uCe0vIbb2EXnr+lk4fffQR586dY9++fZQqVeqlv+CfPn2KkZF0cLzpMj7DlJQUfHx8SEtLY+PGjdja2mq06FJSUhg3bhznz59n7dq1QObbfQn9JklO6K2ML8J///2X7t27c+3aNZYtW4anpydWVlYaZUThtXXrVsaNG4etrS2///47tra2Gp9reHg4pUqVAiTBvY0kyYm3QkxMDAMHDmTv3r306tWLVq1aUa9evYIOS+SCtLQ0Vq9ezcyZM4mOjmblypW88847mJmZaZSTHzRvJ0lyolB7/osr4/+/7Nf6/PnzOXHiBGvWrKFr1660adOGpk2b5mfIIhc9/5lfunSJMWPGsH//fjp37kzt2rXp1q1bQYcoCpgkOVFoPZ/MEhISSE1NpUiRIur1zyfA58dpFEXh9OnTXLhwgfLly1OjRo38D15oJasZky8uf7GF9ueff3L16lUWLlzI6NGj6dSpk8b1kuLtIklOFErPf7FNnDiR7du3c/v2bapWrcqQIUPw8vLC2Nj4lduKN9fziWzdunWkpKSgKAq+vr5Zln+xBf/gwQPMzc2xsLDIl3jFm0mSnCjURo0axYIFC5gwYQJ169alcePGVKhQgWXLluHq6lrQ4Ykcev6HyMcff8yVK1cwNTXlwYMHlC5dmhUrVlC8eHGtthdvN5lmJAolRVG4fv06GzZsICQkhE8//ZSYmBgSExP55JNPJMEVchkJKjAwkLNnz7Jjxw6OHz9Ox44dOXjwIPfv31eXzep3uiQ4kUGSnCg0nn/ml0qlwsjIiOTkZFq0aMGGDRto0aIF06ZNo0+fPiQkJPD777+TkpJSgBELXb34XLebN28yceJEHB0dmThxIiEhIWzcuJFKlSqpE50kNPEykuREoaAoinq8ZciQIYwdOxYHBwcA+vfvT48ePZg6dSqff/45AP/88w/BwcEcP368wGIWunl+TG3nzp0oisLly5dJSkpi3rx5TJkyhWXLltGsWTOSk5OZMGECK1euLOCoxZtObu0g3mgZt1/K+LW+e/dutmzZQnBwMObm5nTu3JlZs2bRoUMH+vbtC0BycjIjR47EyspKroUrJJ7/EePr60tsbCyenp506NCBGTNmcPXqVdauXUuTJk0AuHPnDseOHdN48oAQWZEkJ95oz8+WW7t2LevXr6dTp07qLztfX1+uXr3Kvn376NevH7a2thw7doz79+8TFhaGgYGB3OXiDff857Nr1y7i4+MJDg7G3t6eli1bsmbNGmrVqoW5uTnJyclcunSJTz75hAoVKtCzZ88Cjl686WR2pXgj9e7dGzc3N7777jsUReHGjRv06dOHkydP4uvrS3BwsLrsxYsX2bVrFyEhIZQpU4ZSpUoxadIkjIyM5F6Ub6jExEQ2bNhAly5d1Mu+/PJLjh49ip2dHevWrVO33rdu3cp3331HdHQ0T58+xd7envLly/Pnn38Ccqsu8XKS5MQbZ/PmzURFRdG9e3eNa912797NlClTOHXqFPPnz6d169Ya2734ZZfdhcSiYKWnp9OvXz+KFi3KhAkT1Mvnz5/PiBEjsLa2Zt26dVSrVk297p9//iEiIoLw8HBKly6Nl5eXel+S4MTLSJITb5SaNWtSr149pk+fjpGREfPnz2fv3r0sX74cgL179zJ16lSSkpL46quv8PHxAZ49PcDQ0FBm2r3hHj16xLRp0/j0008pU6YM8OwzbdSoEQArV65k0KBBtG/fnsDAQDw8PLLdlyQ4oQ05Q8Qb45dffuHhw4eMHz8eIyMjEhISePjwIadOnaJ///4ANGrUiCFDhmBlZcWUKVPYvn07AEZGRpLg3nDJyck0aNCAQ4cOqRNccHAwAQEBLFq0CIBOnToxadIkNmzYwOzZs7l27Vq2+5MEJ7QhgxXijREfH09ycjI2Njb07dsXFxcXBg0ahLm5OYsXL6Zv377Mnz8fb29vVCoVs2fP5ssvv8TW1pY6deoUdPjiFY4dO0Z8fDxHjx4FYMOGDfTo0YPQ0FCWLVuGoigEBATg5+cHwHfffYdKpeLzzz+nfPnyBRm6KMSku1K8MZ48eUKNGjVISkoiIiKCQ4cOUbVqVR49esTSpUtZsmQJXl5ezJ8/H4BNmzaxf/9+JkyYIL/qC4HIyEgaNGhA3bp1efjwIVevXuXSpUtEREQwcOBAoqKi+OSTTwgICADg559/pnfv3ixdupQePXoUcPSisJIkJ94IGfca7NWrF7/88gtVq1bl+PHj6pmRsbGxhISEEBISQr169Zg3b57G9jLJpHBYs2YNPXv2xNjYmFu3bmFjYwM8S4ADBgwgKiqKnj170qdPHwAOHDjA+++/X5Ahi0JOfv6KN4JKpeLBgwe4urry119/kZKSQsOGDXn48CEAtra2+Pv78+mnn7J27VomT56ssb0kuMLh8OHD2Nvb4+DgwODBg9XLHR0dmTNnDk5OTvzyyy/MnDkTQJ3gXrzdlxDakpaceKM8efIEY2NjLl68SPv27SlSpAibNm3C3t4egIcPH7Jjxw46duwoia0Qun37NkZGRuzevZuxY8dSs2ZNli1bpl4fGRlJ165d+fDDDxk5cmQBRir0hSQ58ca6dOkS7dq1o2jRomzcuFGd6DJIF2XhFR8fz6pVq5g8eTKenp4aiS4uLk7djSmPzBGvS5KceKNdvnyZjh07kpyczMmTJ7G2ti7okEQuSUxM5M8//2Tq1KnUqFGDX3/9VWO9JDiRG2RMTrzR3n33XVasWEHt2rXlCc96xtLSks6dOzNs2DA2bdqkcas2kEfoiNwhLTlRIHL6K13uRal/4uPjOXXqFA0aNCjoUIQekiQn8kVOb8Ekt256u8jnLXKbJDmR557/4lq4cCFnz57lwYMHdO7cmQ8//BArK6sst3u+tbdt2zbs7OzkziZCCJ3ITyaR5zIS3JdffsnIkSOJjIwkPj6eDh06MGrUKG7cuJFpm+cT3Lx58/joo4/kWikhhM5kcEPki3379vHbb7+xadMmatWqBcCff/5J//79sbCwYPz48erE9nyCmz9/PiNHjuT3339XP15FCCG0JUlO5IvHjx9jYWFByZIlSUtLw8DAgM6dO5OcnEyfPn3w9fWlcuXKmRLcV199xZIlS+jYsWMBH4EQojCS7kqR67Ia5jUwMODWrVs8ePAAQ0NDUlNTAWjTpg3Ozs5cuXIF+N+08eDgYIYPHy4JTgjxWiTJiVyVnp6uTlTJycnq5U2bNqV58+b06NGDf/75B1NTUwBSU1MxMTHBzMwMeJYgL126xOjRo1m8eLEkOCHEa5HZlSLXPN/VOGPGDPbs2UPx4sXp3Lkz3t7eHD9+nJEjR3Lt2jUmTJgAwK+//kpERATHjh3TuEXXzZs3cXNzK4jDEELoEUlyIlc8n+CmTJnC+PHj6dOnD5s2baJo0aJ069aNAQMGcOnSJSZNmsTGjRtxdXXF2dmZtWvXYmxsTFpaGiqVSq6TEkLkGklyIleFhYUxf/58fH19adKkCY8ePWLYsGGcP3+ebt26MWjQIODZ3ehtbW2xtrZGpVLJnUyEEHlCfjKLXLNixQoCAgI4cOAAJUuWBMDOzo6JEydSqVIlfv/9d6ZPnw6Aq6srNjY2qFQq0tPTJcEJIfKEJDmRazw9PSlRogS3b99m69at6uXFihXjhx9+oHLlygQHB7NixQqN7aR7UgiRV6S7UuSq27dvM2DAAGJjY/n888/p2rWrel1kZCQhISF8+eWX8hw4IUS+kCQnct2NGzcYNGgQSUlJBAQEaCS6DPLAUyFEfpAkJ/LEjRs3GDx4MMnJyXTp0oXevXsXdEhCiLeQDIaIPFGmTBlmzZpFQkICp0+fLuhwhBBvKWnJiTx17949HB0dZXKJEKJASJIT+UIehimEKAiS5IQQQugt+WkthBBCb0mSE0IIobckyQkhhNBbkuSEEELoLUlyQggh9JYkOSEEDx8+ZMyYMdy7d6+gQxEiV0mSE+IVVCoVf/31V0GHkWcURcHPz4/Hjx9TokSJl5YdPXo01apVU7/v1asX7dq1y9sAhXgNkuTEWy0iIoJBgwZRtmxZTE1NcXV1pXXr1oSGhhZ0aPlmypQp2NjYMHHiRJ23nTlzJkuXLlW/b9y4MUOHDs294IR4TfKkSvHWunnzJvXr18fOzo4pU6ZQuXJlnjx5wrZt2xgwYACXLl0q6BDzRGpqKiYmJur3X331VY73ZWtrmxshCZFnpCUn3lr9+/dHpVJx7NgxOnbsyDvvvEOlSpUIDAzkyJEj2W43fPhw3nnnHSwsLChbtizfffcdT548Ua8/ffo0H3zwAdbW1tjY2ODp6cnff/8NwK1bt2jdujX29vZYWlpSqVIlNm/erN723LlztGjRAisrKxwdHfnkk0+Ijo7ONpalS5diZ2fHX3/9hYeHB2ZmZvj4+HD79m11mYwuxkWLFlGmTBnMzMwAePToEX369KFYsWLY2NjQpEmTTDfT/uGHH3B0dMTa2prevXuTnJyssf757spevXqxd+9eZs6ciUqlQqVScfPmzRwdlxC5RZKceCvFxMSwdetWBgwYgKWlZab1dnZ22W5rbW3N0qVLuXDhAjNnzmThwoX8+OOP6vXdu3enZMmSHD9+nBMnTvD1119jbGwMwIABA0hJSWHfvn2cPXuWSZMmYWVlBTxLOk2aNKF69er8/fffbN26lcjISDp37vzSY0lKSuL777/nl19+4eDBgzx69IguXbpolLl27RqrV69mzZo1nDp1CoBOnToRFRXFli1bOHHiBDVq1ODDDz8kJiYGgD///JPRo0czYcIE/v77b0qUKMHcuXOzjWPmzJl4eXkREBDAvXv3uHfvHq6urjk+LiFyhSLEW+jo0aMKoKxZs+aVZQFl7dq12a6fMmWK4unpqX5vbW2tLF26NMuylStXVkaPHp3lunHjxinNmjXTWHb79m0FUC5fvpzlNiEhIQqgHDlyRL3s4sWLCqAcPXpUURRFCQoKUoyNjZWoqCh1mf379ys2NjZKcnKyxv7c3d2V+fPnK4qiKF5eXkr//v011tepU0epWrWq+r2fn5/Stm1b9ftGjRopQ4YMee3jEiK3SEtOvJWU17gv+YoVK6hfvz5OTk5YWVnx7bffEh4erl4fGBhInz598Pb25ocffuD69evqdYMHD2b8+PHUr1+foKAgzpw5o153+vRpdu/ejZWVlfpVvnx5AI19vMjIyIhatWqp35cvXx47OzsuXryoXla6dGmKFSumUVdCQgJFixbVqO/GjRvqui5evEidOnU06vLy8tL1z5Xj4xIiN8jEE/FW8vDwQKVS6Ty55PDhw3Tv3p0xY8bg4+ODra0tf/zxB9OmTVOXGT16NN26dWPTpk1s2bKFoKAg/vjjD9q3b0+fPn3w8fFh06ZNbN++nYkTJzJt2jQGDRpEQkICrVu3ZtKkSZnqfdXU/ld5sUs2ISGBEiVKsGfPnkxlX9ZVmxN5eVxCvIq05MRbqUiRIvj4+DBnzhwSExMzrX/06FGW2x06dIjSpUszcuRIatasiYeHB7du3cpU7p133uGLL75g+/btdOjQgZCQEPU6V1dXPv/8c9asWcP//d//sXDhQgBq1KjB+fPncXNzo1y5chqvrMYNMzx9+lQ9sQXg8uXLPHr0iAoVKmS7TY0aNYiIiMDIyChTXQ4ODgBUqFCBo0ePamz3sgk5ACYmJqSlpWWqKyfHJURukCQn3lpz5swhLS2N2rVrs3r1aq5evcrFixeZNWtWtt1yHh4ehIeH88cff3D9+nVmzZrF2rVr1esfP37MwIED2bNnD7du3eLgwYMcP35cnXCGDh3Ktm3buHHjBmFhYezevVu9bsCAAcTExNC1a1eOHz/O9evX2bZtG/7+/pkSx/OMjY0ZNGgQR48e5cSJE/Tq1Yu6detSu3btbLfx9vbGy8uLdu3asX37dm7evMmhQ4cYOXKkOmEOGTKEJUuWEBISwpUrVwgKCuL8+fMv/Zu6ublx9OhRbt68SXR0NOnp6Tk+LiFyRUEPCgpRkP79919lwIABSunSpRUTExPFxcVFadOmjbJ79251GV6YePLll18qRYsWVaysrBRfX1/lxx9/VGxtbRVFUZSUlBSlS5cuiqurq2JiYqI4OzsrAwcOVB4/fqwoiqIMHDhQcXd3V0xNTZVixYopn3zyiRIdHa3e95UrV5T27dsrdnZ2irm5uVK+fHll6NChSnp6epbxh4SEKLa2tsrq1auVsmXLKqampoq3t7dy69YtdZmgoCCNySIZ4uLilEGDBinOzs6KsbGx4urqqnTv3l0JDw9Xl/n+++8VBwcHxcrKSvHz81O++uqrl048uXz5slK3bl3F3NxcAZQbN27k6LiEyC3yZHAhCrGlS5cydOjQbLtXhXjbSXelEEIIvSVJTgghhN6S7kohhBB6S1pyQggh9JYkOSGEEHpLkpwQQgi9JUlOCCGE3pIkJ4QQQm9JkhNCCKG3JMkJIYTQW5LkhBBC6C1JckIIIfTW/wP+8YXeeTFATAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results_val = evaluate_model(\n", " model=model, # ton modèle EfficientNet entraîné\n", " loader=val_loader, # DataLoader de validation\n", " device=device, # \"cuda\" ou \"cpu\"\n", " loss_fn=loss_fn, # ta CrossEntropy pondérée\n", " split_name=\"Validation\"\n", ")\n" ] }, { "cell_type": "markdown", "metadata": { "id": "MMbEILvkO5gk" }, "source": [ "## 11.Boucle d'entrainement - Fine-tuning 10-15 epochs" ] }, { "cell_type": "markdown", "metadata": { "id": "cM7OHCm03tbD" }, "source": [ "Dégèle partiel des couches du backbone\n", "\n", "Ajustement du taux d’apprentissage\n", "\n", "Early Stopping\n", "\n", "Data augmentation\n", "\n", "Observation de l’amélioration des métriques" ] }, { "cell_type": "markdown", "metadata": { "id": "D2JrutOnzABX" }, "source": [ "### Fine-tuning" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 56, "status": "ok", "timestamp": 1763684838459, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "54T664dIzB9E", "outputId": "1ef8fb92-bc1e-4b87-996d-c6c1e65d1b62" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Device du modèle pour le fine-tuning : cuda:0\n", "Fine-tuning activé sur : classifier + 2 derniers blocs EfficientNet.\n", "Paramètres totaux : 4010110\n", "Paramètres entraînables : 2746142\n", "Nouvel optimizer configuré pour le fine-tuning.\n", " LR backbone : 1e-05\n", " LR classifier : 0.0001\n" ] } ], "source": [ "import torch # gère les tenseurs et optimizers\n", "\n", "# -----------------------------------------------------------\n", "# 1) Vérifier sur quel device est le modèle (GPU normalement)\n", "# -----------------------------------------------------------\n", "device = next(model.parameters()).device # récupère le device actuel du modèle\n", "print(\"Device du modèle pour le fine-tuning :\", device) # affiche cpu ou cuda\n", "\n", "\n", "# -----------------------------------------------------------\n", "# 2) Geler TOUTES les couches dans un premier temps\n", "# -----------------------------------------------------------\n", "for param in model.parameters(): # boucle sur TOUS les paramètres du modèle\n", " param.requires_grad = False # on dit : \"ne pas apprendre / ne pas mettre à jour\"\n", "\n", "\n", "# -----------------------------------------------------------\n", "# 3) Dégeler la tête de classification (toujours fine-tunée)\n", "# -----------------------------------------------------------\n", "for param in model.classifier.parameters(): # boucle sur les paramètres de la dernière couche\n", " param.requires_grad = True # on autorise l’apprentissage sur la tête (2 classes)\n", "\n", "\n", "# -----------------------------------------------------------\n", "# 4) Dégeler les DERNIERS blocs du backbone (fine-tuning partiel)\n", "# Ici : les 2 derniers blocs de EfficientNet (model.blocks[-2:])\n", "# -----------------------------------------------------------\n", "if hasattr(model, \"blocks\"): # sécurité : on vérifie que le modèle a un attribut \"blocks\"\n", " for param in model.blocks[-2:].parameters(): # on parcourt les paramètres des deux derniers blocs\n", " param.requires_grad = True # on les rend \"apprenables\" (fine-tuning)\n", " print(\"Fine-tuning activé sur : classifier + 2 derniers blocs EfficientNet.\")\n", "else:\n", " print(\"⚠️ Attention : model.blocks introuvable, fine-tuning partiel non appliqué.\")\n", "\n", "\n", "# -----------------------------------------------------------\n", "# 5) Vérifier combien de paramètres sont vraiment entraînables\n", "# -----------------------------------------------------------\n", "total_params = sum(p.numel() for p in model.parameters()) # nombre total de paramètres\n", "trainable_params = sum(p.numel() for p in model.parameters()\n", " if p.requires_grad) # nombre de paramètres avec requires_grad=True\n", "\n", "print(f\"Paramètres totaux : {total_params}\")\n", "print(f\"Paramètres entraînables : {trainable_params}\")\n", "\n", "\n", "# -----------------------------------------------------------\n", "# 6) Redéfinir un optimizer ADAPTÉ au fine-tuning\n", "# - LR plus petit pour le backbone dégélé\n", "# - LR un peu plus grand pour la tête de classification\n", "# -----------------------------------------------------------\n", "\n", "# Groupe 1 : tête de classification (apprend plus vite)\n", "classifier_params = [p for p in model.classifier.parameters()\n", " if p.requires_grad]\n", "\n", "# Groupe 2 : derniers blocs du backbone (apprennent lentement)\n", "backbone_params = []\n", "if hasattr(model, \"blocks\"):\n", " for p in model.blocks[-2:].parameters():\n", " if p.requires_grad:\n", " backbone_params.append(p)\n", "\n", "# On crée l’optimizer avec 2 groupes de LR\n", "learning_rate_head = 1e-4 # LR pour la tête (plus rapide)\n", "learning_rate_backbone = 1e-5 # LR pour le backbone (plus petit)\n", "\n", "optimizer = torch.optim.Adam(\n", " [\n", " {\"params\": backbone_params, \"lr\": learning_rate_backbone}, # groupe backbone\n", " {\"params\": classifier_params, \"lr\": learning_rate_head}, # groupe tête\n", " ]\n", ")\n", "\n", "print(\"Nouvel optimizer configuré pour le fine-tuning.\")\n", "print(f\" LR backbone : {learning_rate_backbone}\")\n", "print(f\" LR classifier : {learning_rate_head}\")\n" ] }, { "cell_type": "markdown", "metadata": { "id": "nXJ2NGzsMlRR" }, "source": [ "### Train et val" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "E6yqW6Ks4R3H", "outputId": "6d77359c-299f-469a-95a2-bbcc8c73dfe8" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "===== Epoch 1/20 =====\n", "Train loss : 0.1721\n", "Train accuracy : 0.9210\n", "Val loss : 0.8184\n", "Val accuracy : 0.7786\n", "Val recall feu (1) : 0.8142\n", "Val recall no_fire (0) : 0.6744\n", "✅ Nouvelle meilleure Val loss : 0.8184 (epoch 1)\n", "\n", "===== Epoch 2/20 =====\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train loss : 0.1653\n", "Train accuracy : 0.9245\n", "Val loss : 0.8604\n", "Val accuracy : 0.7750\n", "Val recall feu (1) : 0.8060\n", "Val recall no_fire (0) : 0.6840\n", "⚠️ Pas d'amélioration de la Val loss (compteur = 1/3)\n", "\n", "===== Epoch 3/20 =====\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train loss : 0.1557\n", "Train accuracy : 0.9297\n", "Val loss : 0.9636\n", "Val accuracy : 0.7888\n", "Val recall feu (1) : 0.8418\n", "Val recall no_fire (0) : 0.6335\n", "⚠️ Pas d'amélioration de la Val loss (compteur = 2/3)\n", "\n", "===== Epoch 4/20 =====\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (89747104 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (104688771 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train loss : 0.1518\n", "Train accuracy : 0.9292\n", "Val loss : 0.9622\n", "Val accuracy : 0.7717\n", "Val recall feu (1) : 0.8142\n", "Val recall no_fire (0) : 0.6472\n", "⚠️ Pas d'amélioration de la Val loss (compteur = 3/3)\n", "\n", "⛔ Early Stopping déclenché.\n", "Meilleure Val loss : 0.8184 obtenue à l'epoch 1.\n", "\n", "✅ Modèle rechargé à partir de l'epoch 1 (meilleure Val loss = 0.8184).\n" ] } ], "source": [ "import torch\n", "from sklearn.metrics import accuracy_score, recall_score\n", "\n", "# -----------------------------------------------------------\n", "# Boucle d'entraînement avec Fine-Tuning + Early Stopping\n", "# -----------------------------------------------------------\n", "\n", "NUM_EPOCHS = 20 # nombre max d’epochs (Early Stopping peut arrêter avant)\n", "patience = 3 # nb d’epochs sans amélioration avant arrêt\n", "best_val_loss = float(\"inf\") # meilleure val_loss observée\n", "best_epoch = -1 # pour garder en mémoire l'epoch du meilleur modèle\n", "early_stop_counter = 0 # compteur d’epochs consécutives sans amélioration\n", "\n", "# Listes pour tracer les courbes (réinitialisées pour ce run de fine-tuning)\n", "train_losses = []\n", "val_losses = []\n", "val_accs = []\n", "val_recalls_fire = []\n", "val_recalls_no_fire = []\n", "\n", "for epoch in range(1, NUM_EPOCHS + 1): # boucle sur les epochs\n", " print(f\"\\n===== Epoch {epoch}/{NUM_EPOCHS} =====\")\n", "\n", " # -----------------------------\n", " # 1) Phase TRAIN\n", " # -----------------------------\n", " model.train() # mode entraînement\n", " running_loss = 0.0 # cumul de la loss sur le train\n", " running_correct = 0 # nombre de bonnes prédictions\n", " running_total = 0 # nombre total d'exemples\n", "\n", " for batch in train_loader: # boucle sur tous les batches du train\n", " images = batch[\"image\"].to(device) # images -> device\n", " labels = batch[\"target\"].to(device) # labels -> device\n", "\n", " optimizer.zero_grad() # remet les gradients à zéro\n", "\n", " logits = model(images) # forward pass\n", " loss = loss_fn(logits, labels) # calcule la loss du batch\n", "\n", " loss.backward() # backward pass (calcul des gradients)\n", " optimizer.step() # mise à jour des poids\n", "\n", " batch_size = labels.size(0) # taille de ce batch\n", " running_loss += loss.item() * batch_size # cumul de la loss pondérée\n", " preds = logits.argmax(dim=1) # classe prédite (0 ou 1)\n", " running_correct += (preds == labels).sum().item() # nb de bonnes prédictions\n", " running_total += batch_size # nb total d’exemples vus\n", "\n", " epoch_train_loss = running_loss / running_total # moyenne loss train\n", " epoch_train_acc = running_correct / running_total # accuracy moyenne train\n", "\n", " train_losses.append(epoch_train_loss) # on stocke la loss train\n", "\n", "\n", " # -----------------------------\n", " # 2) Phase VALIDATION\n", " # -----------------------------\n", " model.eval() # mode évaluation\n", " val_running_loss = 0.0 # cumul loss val\n", " val_y_true = [] # vraies étiquettes\n", " val_y_pred = [] # prédictions\n", "\n", " with torch.no_grad(): # pas de gradients en validation\n", " for batch in val_loader:\n", " images = batch[\"image\"].to(device) # images -> device\n", " labels = batch[\"target\"].to(device) # labels -> device\n", "\n", " logits = model(images) # forward val\n", " loss = loss_fn(logits, labels) # calcule la loss val\n", "\n", " batch_size = labels.size(0)\n", " val_running_loss += loss.item() * batch_size # cumul de la loss val\n", " preds = logits.argmax(dim=1) # classe prédite\n", "\n", " val_y_true.extend(labels.cpu().tolist()) # vraies classes (CPU)\n", " val_y_pred.extend(preds.cpu().tolist()) # classes prédites (CPU)\n", "\n", " epoch_val_loss = val_running_loss / len(val_y_true) # loss moyenne val\n", " val_losses.append(epoch_val_loss)\n", "\n", " # Métriques en validation\n", " epoch_val_acc = accuracy_score(val_y_true, val_y_pred) # accuracy globale\n", " epoch_val_recall_fire = recall_score(val_y_true, val_y_pred,\n", " pos_label=1) # recall classe feu (1)\n", " epoch_val_recall_no_fire = recall_score(val_y_true, val_y_pred,\n", " pos_label=0) # recall classe no_fire (0)\n", "\n", " val_accs.append(epoch_val_acc)\n", " val_recalls_fire.append(epoch_val_recall_fire)\n", " val_recalls_no_fire.append(epoch_val_recall_no_fire)\n", "\n", " # -----------------------------\n", " # 3) Affichage résumé d'epoch\n", " # -----------------------------\n", " print(f\"Train loss : {epoch_train_loss:.4f}\")\n", " print(f\"Train accuracy : {epoch_train_acc:.4f}\")\n", " print(f\"Val loss : {epoch_val_loss:.4f}\")\n", " print(f\"Val accuracy : {epoch_val_acc:.4f}\")\n", " print(f\"Val recall feu (1) : {epoch_val_recall_fire:.4f}\")\n", " print(f\"Val recall no_fire (0) : {epoch_val_recall_no_fire:.4f}\")\n", "\n", " # -----------------------------\n", " # 4) Early Stopping (basé sur val_loss)\n", " # -----------------------------\n", " if epoch_val_loss < best_val_loss: # amélioration !\n", " best_val_loss = epoch_val_loss # on met à jour la meilleure loss\n", " best_epoch = epoch # on note l’epoch\n", " early_stop_counter = 0 # on réinitialise le compteur\n", "\n", " best_model_state = model.state_dict() # on sauvegarde les poids du meilleur modèle en mémoire\n", "\n", " print(f\"✅ Nouvelle meilleure Val loss : {best_val_loss:.4f} (epoch {epoch})\")\n", " else:\n", " early_stop_counter += 1 # pas d'amélioration\n", " print(f\"⚠️ Pas d'amélioration de la Val loss (compteur = {early_stop_counter}/{patience})\")\n", "\n", " if early_stop_counter >= patience: # patience atteinte → on arrête\n", " print(\"\\n⛔ Early Stopping déclenché.\")\n", " print(f\"Meilleure Val loss : {best_val_loss:.4f} obtenue à l'epoch {best_epoch}.\")\n", " break\n", "\n", "# -----------------------------------------------------------\n", "# 5) Recharger le meilleur modèle (celui avec meilleure Val loss)\n", "# -----------------------------------------------------------\n", "if 'best_model_state' in locals(): # si on a bien enregistré un meilleur état\n", " model.load_state_dict(best_model_state) # on recharge les poids du meilleur modèle\n", " print(f\"\\n✅ Modèle rechargé à partir de l'epoch {best_epoch} (meilleure Val loss = {best_val_loss:.4f}).\")\n", "else:\n", " print(\"\\n⚠️ Aucun meilleur modèle sauvegardé (best_model_state manquant).\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sauvegarder les poids du modèle dans Lightning AI" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "✅ Modèle rechargé à partir de l'epoch 1 (meilleure Val loss = 0.8184).\n" ] } ], "source": [ "if 'best_model_state' in locals():\n", " model.load_state_dict(best_model_state)\n", " print(f\"\\n✅ Modèle rechargé à partir de l'epoch {best_epoch} (meilleure Val loss = {best_val_loss:.4f}).\")\n", "else:\n", " print(\"\\n⚠️ Aucun meilleur modèle sauvegardé (best_model_state manquant).\")\n" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "💾 Modèle fine-tuné sauvegardé dans : ./Autres/efficientnet_b0_v2_2_finetuned.pt\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "✅ Récupéré 4906 prédictions sur le split val_finetuned_v2_2.\n", "📁 Prédictions sauvegardées dans : ./Autres/val_predictions_v2_2_finetuned.npz\n", "💾 Prédictions validation (v2_2) sauvegardées dans : ./Autres/val_predictions_v2_2_finetuned.npz\n" ] } ], "source": [ "import os\n", "import torch\n", "import numpy as np\n", "\n", "# -----------------------------------------------------------\n", "# 1) Sauvegarde du modèle fine-tuné (v2_2)\n", "# -----------------------------------------------------------\n", "save_dir = \"./Autres\"\n", "os.makedirs(save_dir, exist_ok=True)\n", "\n", "model_path_v2_2 = os.path.join(save_dir, \"efficientnet_b0_v2_2_finetuned.pt\")\n", "torch.save(model.state_dict(), model_path_v2_2)\n", "\n", "print(f\"💾 Modèle fine-tuné sauvegardé dans : {model_path_v2_2}\")\n", "\n", "# -----------------------------------------------------------\n", "# 2) Sauvegarde des prédictions sur la validation (v2_2)\n", "# -----------------------------------------------------------\n", "preds_path_val_v2_2 = os.path.join(save_dir, \"val_predictions_v2_2_finetuned.npz\")\n", "\n", "y_true_val_v2_2, y_pred_val_v2_2, probs_val_v2_2 = get_predictions(\n", " model=model,\n", " loader=val_loader,\n", " device=device,\n", " save_path=preds_path_val_v2_2,\n", " split_name=\"val_finetuned_v2_2\"\n", ")\n", "\n", "print(f\"💾 Prédictions validation (v2_2) sauvegardées dans : {preds_path_val_v2_2}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### tracer les courbes" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHZCAYAAACVYLO6AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYTJJREFUeJzt3XlcVGX///H3zLCjuKHggrupmEu5hVbaLS5ZlqW3Wt2pZHqXUhm/yrwrlzYry+wu0+7KbL0zbf3emoqWLYppmmWltqmYCmgqICgMzPn9gQwMDDvMYfT1fDyomTPXOec6H4Z6zzXXOcdiGIYhAAAAwAtZze4AAAAAUFmEWQAAAHgtwiwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFmghnz33Xd69NFHlZ6ebnZXAAA4ZxFmgRqQnJysa665RuHh4apbt67Z3QEA4JxlMQzDMLsTwLlm9erVSk1N1Q033GB2VwAAOKcxMgvUgOHDh3s0yFosFs2ZM6dat7ls2TJZLBbt37+/WrdbFTVxnKXZv3+/LBaLli1b5rF9mmX48OGaPHmyy7Jff/1VQ4YMUb169WSxWPTRRx/VyvdFTZk4caJat25tdjdqnTVr1qhOnTo6evSo2V0BJBFmgWqT/z/5kn62bNlidhfdevzxx/XRRx+Z3Q2YaNOmTVq3bp1mzJjhsnzChAnatWuXHnvsMb355pvq1auXST3Mc/jwYc2ZM0c7d+40tR+1RWZmphYtWqQhQ4aoadOmqlu3ri666CItXrxYubm5NbatYcOGqX379po3b151Hg5QaT5mdwA41zz88MNq06ZNseXt27c3oTdle/zxxzV69GiNHDnSZfnNN9+scePGyd/f35yOwWPmz5+vQYMGubxHT58+rYSEBD3wwAOKjY11LjfzfXH48GHNnTtXrVu3Vo8ePWp8fy+//LIcDkeN76ey/vjjD91xxx0aNGiQ4uLiFBISorVr12rq1KnasmWLXn/99Rrb1j//+U/dc889mjt3LucFwHSEWaCaXXnllaaPYFUHm80mm81mdjdQw1JSUrRq1SotWbLEZXn+V8j169d3WX4+vS98fX3N7kKpwsPDtWvXLnXp0sW57J///KduueUWvfbaa3rooYfK/SG6otsaNWqU7rjjDq1YsUK33HJL9R0UUAlMMwA8yG63q2HDhoqJiSn2WlpamgICAnTPPfc4l6WkpGjSpEkKCwtTQECAunfvXq7RlpLm+s2ZM0cWi8X53GKxKCMjQ6+//rpzOsTEiRMllTxn9sUXX1SXLl3k7++vZs2aadq0aTp58qRLm4EDB+rCCy/Uzz//rCuuuEJBQUFq3ry5nnrqqTL7LklZWVm6++671bhxY9WtW1fXXHON/vzzT7dtDx06pFtuuUVhYWHy9/dXly5dtHTp0mLtnn/+eXXp0kVBQUFq0KCBevXqpXfeeadc/Snqs88+02WXXabg4GDVr19f1157rXbv3u3SJj09XdOnT1fr1q3l7++vJk2aaPDgwdqxY4ezza+//qpRo0YpPDxcAQEBatGihcaNG6fU1FSXbb311lvq2bOnAgMD1bBhQ40bN04HDx50aVPebRW1atUq5eTkKDo62rlszpw5atWqlSTp3nvvlcVicb6f3L0vWrdurauvvlpff/21+vTpo4CAALVt21ZvvPFGsf2dPHlS06dPV0REhPz9/dW+fXs9+eSTZY6Abty4Ub1795YkxcTEON+v+fOZW7du7XzvFjZw4EANHDjQZTsWi0XvvfeeHnvsMbVo0UIBAQEaNGiQfvvtN5d1i/4d5c+hfvrpp/Wf//xH7dq1k7+/v3r37q1t27YV2/eKFSsUGRmpgIAAXXjhhfrwww/LNQ/36quvVtu2bd2+FhUV5fywHBoa6hI+81133XWSVOw9WZqKbqtJkybq1q2bPv7443LvA6gpjMwC1Sw1NVXHjh1zWWaxWNSoUSP5+vrquuuu0wcffKCXXnpJfn5+zjYfffSRsrKyNG7cOEl5X/MOHDhQv/32m2JjY9WmTRutWLFCEydO1MmTJ3XXXXdVua9vvvmmbr31VvXp00dTpkyRJLVr167E9nPmzNHcuXMVHR2t22+/XXv37tXixYu1bds2bdq0yWUk68SJExo2bJiuv/56jRkzRitXrtSMGTPUtWtXXXnllaX269Zbb9Vbb72lG2+8Uf369dNnn32mq666qli75ORkXXLJJbJYLIqNjVXjxo316aefatKkSUpLS9P06dMl5X1dfOedd2r06NG66667dObMGf3www/65ptvdOONN1aoZuvXr9eVV16ptm3bas6cOTp9+rSef/559e/fXzt27HAGldtuu00rV65UbGysIiMj9ddff+nrr7/W7t27dfHFFys7O1tDhw5VVlaW7rjjDoWHh+vQoUP63//+p5MnT6pevXqSpMcee0wPPfSQxowZo1tvvVVHjx7V888/r8svv1zfffed6tevX+5tubN582Y1atTIGV4l6frrr1f9+vV1991364YbbtDw4cNVp06dUuvy22+/afTo0Zo0aZImTJigpUuXauLEierZs6czJGVmZmrAgAE6dOiQ/vnPf6ply5bavHmzZs6cqSNHjmjhwoUlbr9z5856+OGHNWvWLE2ZMkWXXXaZJKlfv37l+bUV88QTT8hqteqee+5RamqqnnrqKd1000365ptvylz3nXfeUXp6uv75z3/KYrHoqaee0vXXX68//vjD+TewatUqjR07Vl27dtW8efN04sQJTZo0Sc2bNy9z+2PHjtX48eO1bds2Z4CXpAMHDmjLli2aP39+qesnJSVJyguoVVXatnr27Ml8e9QOBoBq8dprrxmS3P74+/s7261du9aQZPzf//2fy/rDhw832rZt63y+cOFCQ5Lx1ltvOZdlZ2cbUVFRRp06dYy0tDTncknG7Nmznc8nTJhgtGrVqlgfZ8+ebRT9sw8ODjYmTJhQ4vHs27fPMAzDSElJMfz8/IwhQ4YYubm5znYvvPCCIclYunSpc9mAAQMMScYbb7zhXJaVlWWEh4cbo0aNKravwnbu3GlIMqZOneqy/MYbbyx2nJMmTTKaNm1qHDt2zKXtuHHjjHr16hmZmZmGYRjGtddea3Tp0qXU/bqzb98+Q5Lx2muvOZf16NHDaNKkifHXX385l33//feG1Wo1xo8f71xWr149Y9q0aSVu+7vvvjMkGStWrCixzf79+w2bzWY89thjLst37dpl+Pj4OJeXZ1slufTSS42ePXsWW55/7PPnz3dZXvR9YRiG0apVK0OS8eWXXzqXpaSkGP7+/sb/+3//z7nskUceMYKDg41ffvnFZZv333+/YbPZjMTExFL7um3btmK/j8J9cPc+HjBggDFgwADn888//9yQZHTu3NnIyspyLn/uuecMScauXbucy4r+HeXXpFGjRsbx48edyz/++ONif9Ndu3Y1WrRoYaSnpzuXbdy40ZDk9m+zsNTU1GK1MwzDeOqppwyLxWIcOHCgxHWzsrKMyMhIo02bNobdbi91P2Upa1uPP/64IclITk6u0n6AqmKaAVDNFi1apPj4eJefTz/91Pn63/72N4WGhmr58uXOZSdOnFB8fLzGjh3rXLZ69WqFh4e7XOLL19dXd955p06dOqUvvvjCMwd01vr165Wdna3p06fLai34T8fkyZMVEhKiVatWubSvU6eO/vGPfzif+/n5qU+fPvrjjz9K3c/q1aslSXfeeafL8vxR1nyGYej999/XiBEjZBiGjh075vwZOnSoUlNTnV/p169fX3/++afbr4Ir4siRI9q5c6cmTpyohg0bOpd369ZNgwcPdvY9f5/ffPONDh8+7HZb+aOla9euVWZmpts2H3zwgRwOh8aMGeNyfOHh4erQoYM+//zzcm+rJH/99ZcaNGhQoXXciYyMdI6WSlLjxo3VsWNHl9/3ihUrdNlll6lBgwYuxxMdHa3c3Fx9+eWXVe5HecXExLh8M5Lf97Len1LeyGnhmhVd9/Dhw9q1a5fGjx/vMqI9YMAAde3atczth4SE6Morr9R7770no9Cl4JcvX65LLrlELVu2LHHd2NhY/fzzz3rhhRfk41O1L1/L2lZ+DYp+EwV4GmEWqGZ9+vRRdHS0y88VV1zhfN3Hx0ejRo3Sxx9/rKysLEl5ocVut7uE2QMHDqhDhw4uwVHK+7o1/3VPyt9fx44dXZb7+fmpbdu2xfrTokULl/m5Ut7//E6cOFHmfqxWa7HpDkX3e/ToUZ08eVL/+c9/1LhxY5ef/DnJKSkpkqQZM2aoTp066tOnjzp06KBp06Zp06ZN5Txy176564uU93s5duyYMjIyJElPPfWUfvzxR0VERKhPnz6aM2eOS1Bq06aN4uLi9Morryg0NFRDhw7VokWLXOa4/vrrrzIMQx06dCh2jLt373YeX3m2VRqjGu6d4y5gFf19//rrr1qzZk2xY8mfr5t/PEePHlVSUpLz59SpU1XuX1n9zQ9mZb0/y7Nu/vvE3clX5T0ha+zYsTp48KASEhIkSb///ru2b9/u8t+IoubPn6+XX35ZjzzyiIYPH16u/VRlW/nvm6J/54CnMWcWMMG4ceP00ksv6dNPP9XIkSP13nvvqVOnTurevXu1bL+k/7lU9NqTVVHSGe/VEZwkOU8Y+sc//qEJEya4bdOtWzdJeUFz7969+t///qc1a9bo/fff14svvqhZs2Zp7ty51dKfosaMGaPLLrtMH374odatW6f58+frySef1AcffOCcM/zMM89o4sSJ+vjjj7Vu3TrdeeedmjdvnrZs2aIWLVrI4XDIYrHo008/dVvPwqN+ZW2rJI0aNSpXgCtLeX7fDodDgwcP1n333ee27QUXXCBJ6t27t8uHo9mzZ5d5s4zS3vPu+laV92dNv7clacSIEQoKCtJ7772nfv366b333pPVatXf//53t+2XLVumGTNm6LbbbtODDz5YpX2Xd1v575vqmJsLVAVhFjDB5ZdfrqZNm2r58uW69NJL9dlnn+mBBx5wadOqVSv98MMPcjgcLqOze/bscb5ekgYNGhS7woDkfjS3vKMq+fvbu3evy5nW2dnZ2rdvn8vZ8FXRqlUrORwO/f777y4joHv37nVpl3+lg9zc3HLtOzg4WGPHjtXYsWOVnZ2t66+/Xo899phmzpypgICAcvfNXV+kvN9LaGiogoODncuaNm2qqVOnaurUqUpJSdHFF1+sxx57zOUEuK5du6pr16568MEHtXnzZvXv319LlizRo48+qnbt2skwDLVp08YZ9EpT2rZK0qlTJ73//vvlOv6qateunU6dOlXm7+vtt9/W6dOnnc/z32+lvVdLe8+XdGWAmpL/Pil6dYSSlrkTHBysq6++WitWrNCCBQu0fPlyXXbZZWrWrFmxth9//LFuvfVWXX/99Vq0aFGV+l6Rbe3bt0+hoaFq3LhxlfYJVBXTDAATWK1WjR49Wv/3f/+nN998Uzk5OcW+Phw+fLiSkpJc5tbm5OTo+eefV506dTRgwIASt9+uXTulpqbqhx9+cC47cuSIPvzww2Jtg4OD3YaAoqKjo+Xn56d///vfLiNQr776qlJTU91ebaAy8oPev//9b5flRc90t9lsGjVqlN5//339+OOPxbZT+Fabf/31l8trfn5+ioyMlGEYstvt5e5b06ZN1aNHD73++usuNfvxxx+1bt0659exubm5xb7ib9KkiZo1a+acWpKWlqacnByXNl27dpXVanW2uf7662Wz2TR37txio36GYTiPqzzbKklUVJROnDhRrrmiVTVmzBglJCRo7dq1xV47efKk8xj69+/vMk0nP4zmf1Bw935t166dtmzZouzsbOey//3vf8UuYeYJzZo104UXXqg33njDZYrEF198oV27dpV7O2PHjtXhw4f1yiuv6Pvvv3c7xeDLL7/UuHHjdPnll+vtt98uNi2pIiq6re3btysqKqrS+wOqCyOzQDX79NNPnaOnhfXr189lhGjs2LF6/vnnNXv2bHXt2tU5FzbflClT9NJLL2nixInavn27WrdurZUrV2rTpk1auHBhqXfdGTdunGbMmKHrrrtOd955pzIzM7V48WJdcMEFLtc5lfIur7N+/XotWLBAzZo1U5s2bdS3b99i22zcuLFmzpypuXPnatiwYbrmmmu0d+9evfjii+rdu7fLyV5V0aNHD91www168cUXlZqaqn79+mnDhg1uR7SeeOIJff755+rbt68mT56syMhIHT9+XDt27ND69et1/PhxSdKQIUMUHh6u/v37KywsTLt379YLL7ygq666qsJ3L5o/f76uvPJKRUVFadKkSc5Lc9WrV8/5VXh6erpatGih0aNHq3v37qpTp47Wr1+vbdu26ZlnnpGUd63a2NhY/f3vf9cFF1ygnJwcvfnmm86QLuUFtEcffVQzZ87U/v37NXLkSNWtW1f79u3Thx9+qClTpuiee+4p17ZKctVVV8nHx0fr1693Xp6tptx777365JNPdPXVVzsv25WRkaFdu3Zp5cqV2r9/f6lfWbdr107169fXkiVLVLduXQUHB6tv375q06aNbr31Vq1cuVLDhg3TmDFj9Pvvv+utt94q9VJzNenxxx/Xtddeq/79+ysmJkYnTpzQCy+8oAsvvLDcc4CHDx+uunXr6p577nH7uzxw4ICuueYaWSwWjR49WitWrHB5vVu3bs6pNmWp6LZSUlL0ww8/aNq0aeXaPlCjTLiCAnBOKu3SXHJzOSGHw2FEREQYkoxHH33U7TaTk5ONmJgYIzQ01PDz8zO6du3q9rJEKnLJKsMwjHXr1hkXXnih4efnZ3Ts2NF466233F6aa8+ePcbll19uBAYGGpKclzdydwkmw8i7FFenTp0MX19fIywszLj99tuNEydOuLQZMGCA20thlXTJsKJOnz5t3HnnnUajRo2M4OBgY8SIEcbBgwfdHmdycrIxbdo0IyIiwvD19TXCw8ONQYMGGf/5z3+cbV566SXj8ssvNxo1amT4+/sb7dq1M+69914jNTW11H64uzSXYRjG+vXrjf79+xuBgYFGSEiIMWLECOPnn392vp6VlWXce++9Rvfu3Y26desawcHBRvfu3Y0XX3zR2eaPP/4wbrnlFqNdu3ZGQECA0bBhQ+OKK64w1q9fX6wf77//vnHppZcawcHBRnBwsNGpUydj2rRpxt69eyu8LXeuueYaY9CgQW6PvbyX5rrqqquKbbfoZbEMwzDS09ONmTNnGu3btzf8/PyM0NBQo1+/fsbTTz9tZGdnl9nXjz/+2IiMjDR8fHyK/W6eeeYZo3nz5oa/v7/Rv39/49tvvy3x0lxFL2Pm7ndd0qW5itbEMNz/Db777rtGp06dDH9/f+PCCy80PvnkE2PUqFFGp06dyjzOfDfddJMhyYiOji72Wv6xlPRTtD+lqei2Fi9ebAQFBblcIhAwi8UwqnHGOgDA63z11VcaOHCg9uzZow4dOpjdnXNajx491LhxY8XHx5vdlSq56KKLNHDgQD377LNmdwVgziwAnO8uu+wyDRkypNy3G0bZ7HZ7sXnMGzdu1Pfff+9ye11vtGbNGv3666+aOXOm2V0BJEmMzAIAUM3279+v6Oho/eMf/1CzZs20Z88eLVmyRPXq1dOPP/6oRo0aeawv+bekLUlgYGCptzwGajvCLAAA1Sw1NVVTpkzRpk2bdPToUQUHB2vQoEF64oknPH5SWlmX35swYYKWLVvmmc4ANYAwCwDAOWz9+vWlvt6sWTNFRkZ6qDdA9TM1zH755ZeaP3++tm/f7rwG5siRI0tdZ+PGjYqLi9NPP/2kiIgIPfjgg5o4caJH+gsAAIDaxdQTwDIyMtS9e/dy37Fk3759uuqqq3TFFVdo586dmj59um699Va3F+AGAADAua/WTDOwWCxljszOmDFDq1atcrnbz7hx43Ty5EmtWbOmXPtxOBw6fPiw6tatW+7beAIAAMBzDMNQenq6mjVrVubd6LzqDmAJCQnF7uk9dOhQTZ8+vdzbOHz4sCIiIqq5ZwAAAKhuBw8eVIsWLUpt41VhNikpSWFhYS7LwsLClJaWptOnTyswMLDYOllZWS73Js8fiN63b1+Fb2NZGXa7XZ9//rmuuOIK+fr61vj+kIe6m4O6m4O6m4O6m4O6m8PTdU9PT1ebNm3KldW8KsxWxrx58zR37txiyxMSEhQUFOSRPgQFBembb77xyL5QgLqbg7qbg7qbg7qbg7qbw5N1z8zMlFT2peUkLwuz4eHhSk5OdlmWnJyskJAQt6OykjRz5kzFxcU5n6elpSkiIkJDhgxRSEhIjfZXyvskEx8fr8GDB/MJ0oOouzmouzmouzmouzmouzk8Xfe0tLRyt/WqMBsVFaXVq1e7LIuPj1dUVFSJ6/j7+8vf37/Ycl9fX4/+EXh6f8hD3c1B3c1B3c1B3c1B3c3hqbpXZB+mXprr1KlT2rlzp3bu3Ckpbx7rzp07lZiYKClvVHX8+PHO9rfddpv++OMP3XfffdqzZ49efPFFvffee7r77rvN6D4AAABMZurI7LfffqsrrrjC+Tx/OkD+rfWOHDniDLaS1KZNG61atUp33323nnvuObVo0UKvvPKKhg4dWq39MgxDOTk5ys3NrfK27Ha7fHx8dObMmWrZHspms9lUS644BwAAapipYXbgwIGlhg5394oeOHCgvvvuuxrrU3Z2to4cOeKceFxVhmEoPDxcBw8e5Lq2HhQQEFDmdekAAID386o5szXN4XBo3759stlsatasmfz8/KocQB0Oh06dOqU6deoQrjzAMAxlZ2crJSVFjRs3lsPhMLtLAACgBhFmC8nOzpbD4VBERES1XbbL4XAoOzubkUIPCgwMlM1mU1pamux2u9sTAAEAwLmBdOUGodP75f8OmTsLAMC5jdQGAAAAr0WYRYlat26thQsXmr4NAACAkhBmzwEWi6XUnzlz5lRqu9u2bdOUKVOqt7MAAADViBPAzgFHjhxxPl6+fLlmzZqlvXv3OpfVqVPH+dgwDOXm5srHp+xffePGjau3owAAANWMkdlzQHh4uPOnXr16slgszud79uxR3bp19emnn6pnz57y9/fX119/rd9//13XXnutwsLCVKdOHfXu3Vvr16932W7RKQIWi0WvvPKKrrvuOgUFBalDhw765JNPKtTXxMREXXvttapTp45CQkI0ZswYJScnO1///vvvdcUVV6hu3boKCQlRz5499e2330qSDhw4oBEjRqhBgwYKDg5Wly5dit3eGAAAnF8YmS2DYRg6ba/8nbscDodOZ+fKJzunwldJCPS1VduNFu6//349/fTTatu2rRo0aKCDBw9q+PDheuyxx+Tv76833nhDI0aM0N69e9WyZcsStzN37lw99dRTmj9/vp5//nnddNNNOnDggBo2bFhmHxwOhzPIfvHFF8rJydG0adM0duxYbdy4UZJ000036aKLLtLixYtls9m0c+dO5/2Zp02bpuzsbH355ZcKDg7Wzz//7DLqDAA1LtcuHflBSkyQbf8mDUzcJZ9DT0gWqySL5PxPtkWyWFz/LRVf5vxv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tXLlSkVERGjv3r1av3694uPjNXXqVOfIsq+vb431CfAqZ9KkP7cWnKx1aLuUc8a1jW+QHM176ZczjdR+0M3yaXUJNycAcF4xNcwuX75ccXFxWrJkifr27auFCxdq6NCh2rt3r5o0aVKs/YMPPqi33npLL7/8sjp16qS1a9fquuuu0+bNm3XRRRfVTCctlqr9j8HhkHxz87ZRw3PSxowZo7vuukvvvPOO3njjDd1+++3O+bObNm3Stddeq3/84x9nu+XQL7/8osjIyErtKyQkRM2aNdOmTZucgTl/P4U/jISEhGjs2LEaO3asRo8erWHDhun48eNq2LChAgMDNWLECI0YMULTpk1Tp06dtGvXLl188cVVqALgxdKTC0ZdD2yWkn90c3OCRgWjrq3ybk6Q65D2rl6tdq0vl/gwCOA8Y2qYXbBggSZPnqyYmBhJ0pIlS7Rq1SotXbpU999/f7H2b775ph544AENHz5cknT77bdr/fr1euaZZ/TWW295tO+1UZ06dTR27FjNnDlTaWlpmjhxovO1Dh06aOXKldq8ebMaNGigBQsWKDk5udJhVpLuvfdezZ49W+3atVOPHj302muvaefOnXr77bcl5f1+mzZtqosuukhWq1UrVqxQeHi46tevr2XLlik3N1d9+/ZVUFCQ3nrrLQUGBrrMqwXOaYYhHf/j7J21zo68Hv+jeLv6rQruqtUySgrtUHy+q8PumT4DQC1kWpjNzs7W9u3bNXPmTOcyq9Wq6OhoJSQkuF0nKytLAQEBLssCAwP19ddf12hfvcmkSZP06quvavjw4WrWrODEtQcffFB//PGHhg4dqqCgIE2ZMkUjR45Uampqpfd15513KjU1Vf/v//0/paSkKDIyUp988ok6dOggSapbt66eeuop/frrr7LZbOrdu7dWr14tq9Wq+vXr64knnlBcXJxyc3PVtWtX/d///Z8aNWpU5RoAtVJujpS8q2DUNXGLlJFSpJFFCrvw7F218m9OUPkTUAHgfGBamD127Jhyc3MVFhbmsjwsLEx79ri5lIykoUOHasGCBbr88svVrl07bdiwQR988IFyc3NL3E9WVpaysrKcz9PS0iTlzb+1211HM+x2uwzDkMPhkMNR5Ku9SjIMw/nv6tpmafr27eusR+H91a9fXx988IHbdfLbffbZZ8XWK2zWrFmaNWuWy+sPPfSQ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yy9/H57YFwpQd3NQd3NQd3NQd3NQd3N4uu4V2Y+pYbaqXn31VXXt2lV9+vQpsc28efM0d+7cYsvXrVunoKCgmuyei/j4eI/tCwWouzmouzmouzmouzmouzk8VffMzMxytzU1zIaGhspmsyk5OdlleXJyssLDw0tdNyMjQ++++64efvjhUtvNnDlTcXFxzudpaWmKiIjQkCFDFBISUvnOl5Pdbld8fLwGDx4sX1/fGt8f8lB3c1B3c1B3c1B3c1B3c3i67vnfpJeHqWHWz89PPXv21IYNGzRy5EhJksPh0IYNGxQbG1vquitWrFBWVpb+8Y9/lNrO399f/v7+xZb7+vp69I/A0/tDHupuDupuDupuDupuDupuDk/VvSL7MH2aQVxcnCZMmKBevXqpT58+WrhwoTIyMhQTEyNJGj9+vJo3b6558+a5rPfqq69q5MiRatSokRndBgAAQC1gepgdO3asjh49qlmzZikpKUk9evTQmjVrnCeFJSYmymp1vejC3r179fXXX2vdunVmdBkAAAC1hOlhVpJiY2NLnFawcePGYss6duwowzBquFcAAACo7Uy/aQIAAABQWYRZAAAAeC3CLAAAALwWYRYAAABeizALAAAAr0WYBQAAgNcizAIAAMBrEWYBAADgtQizAAAA8FqEWQAAAHgtwiwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFkAAAB4LcIsAAAAvBZhFgAAAF6LMAsAAACvRZgFAACA1yLMAgAAwGsRZgEAAOC1CLMAAADwWoRZAAAAeC3CLAAAALwWYRYAAABeizALAAAAr0WYBQAAgNcizAIAAMBrEWYBAADgtQizAAAA8Fqmh9lFixapdevWCggIUN++fbV169ZS2588eVLTpk1T06ZN5e/vrwsuuECrV6/2UG8BAABQm/iYufPly5crLi5OS5YsUd++fbVw4UINHTpUe/fuVZMmTYq1z87O1uDBg9WkSROtXLlSzZs314EDB1S/fn3Pdx4AAACmMzXMLliwQJMnT1ZMTIwkacmSJVq1apWWLl2q+++/v1j7pUuX6vjx49q8ebN8fX0lSa1bt/ZklwEAAFCLmBZms7OztX37ds2cOdO5zGq1Kjo6WgkJCW7X+eSTTxQVFaVp06bp448/VuPGjXXjjTdqxowZstlsbtfJyspSVlaW83laWpokyW63y263V+MRuZe/D0/sCwWouzmouzmouzmouzmouzk8XfeK7Me0MHvs2DHl5uYqLCzMZXlYWJj27Nnjdp0//vhDn332mW666SatXr1av/32m6ZOnSq73a7Zs2e7XWfevHmaO3duseXr1q1TUFBQ1Q+knOLj4z22LxSg7uag7uag7uag7uag7ubwVN0zMzPL3dbUaQYV5XA41KRJE/3nP/+RzWZTz549dejQIc2fP7/EMDtz5kzFxcU5n6elpSkiIkJDhgxRSEhIjffZbrcrPj5egwcPdk6NQM2j7uag7uag7uag7uag7ubwdN3zv0kvD9PCbGhoqGw2m5KTk12WJycnKzw83O06TZs2la+vr8uUgs6dOyspKUnZ2dny8/Mrto6/v7/8/f2LLff19fXoH4Gn94c81N0c1N0c1N0c1N0c1N0cnqp7RfZh2qW5/Pz81LNnT23YsMG5zOFwaMOGDYqKinK7Tv/+/fXbb7/J4XA4l/3yyy9q2rSp2yALAACAc5up15mNi4vTyy+/rNdff127d+/W7bffroyMDOfVDcaPH+9ygtjtt9+u48eP66677tIvv/yiVatW6fHHH9e0adPMOgQAAACYyNQ5s2PHjtXRo0c1a9YsJSUlqUePHlqzZo3zpLDExERZrQV5OyIiQmvXrtXdd9+tbt26qXnz5rrrrrs0Y8YMsw4BAAAAJqpUmD148KAsFotatGghSdq6daveeecdRUZGasqUKRXaVmxsrGJjY92+tnHjxmLLoqKitGXLlgr3GQAAAOeeSk0zuPHGG/X5559LkpKSkjR48GBt3bpVDzzwgB5++OFq7SAAAABQkkqF2R9//FF9+vSRJL333nu68MILtXnzZr399ttatmxZdfYPAAAAKFGlwqzdbnde7mr9+vW65pprJEmdOnXSkSNHqq93AAAAQCkqFWa7dOmiJUuW6KuvvlJ8fLyGDRsmSTp8+LAaNWpUrR0EAAAASlKpMPvkk0/qpZde0sCBA3XDDTeoe/fukqRPPvnEOf0AAAAAqGmVuprBwIEDdezYMaWlpalBgwbO5VOmTFFQUFC1dQ4AAAAoTaVGZk+fPq2srCxnkD1w4IAWLlyovXv3qkmTJtXaQQAAAKAklQqz1157rd544w1J0smTJ9W3b18988wzGjlypBYvXlytHQQAAABK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AepuDupuDupuDupuDupuDk/XvSL7MTXMHjt2TLm5uQoLC3NZHhYWpj179rhd5+uvv9arr76qnTt3lmsf8+bN09y5c4stX7dunYKCgirc58qKj4/32L5QgLqbg7qbg7qbg7qbg7qbw1N1z8zMLHdbU8NsRaWnp+vmm2/Wyy+/rNDQ0HKtM3PmTMXFxTmfp6WlKSIiQkOGDFFISEhNddXJbrcrPj5egwcPlq+vb43vD3mouzmouzmouzmouzmouzk8Xff8b9LLw9QwGxoaKpvNpuTkZJflycnJCg8PL9b+999/1/79+zVixAjnMofDIUny8fHR3r171a5dO5d1/P395e/vX2xbvr6+Hv0j8PT+kIe6m4O6m4O6m4O6m4O6m8NTda/IPkw9AczPz089e/bUhg0bnMscDoc2bNigqKioYu07deqkXbt2aefOnc6fa665RldccYV27typiIgIT3YfAAAAJjN9mkFcXJwmTJigXr16qU+fPlq4cKEyMjIUExMjSRo/fryaN2+uefPmKSAgQBdeeKHL+vXr15ekYssBAABw7jM9zI4dO1ZHjx7VrFmzlJSUpB49emjNmjXOk8ISExNltZp+BTEAAADUQqaHWUmKjY1VbGys29c2btxY6rrLli2r/g4BAADAKzDkCQAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFkAAAB4LcIsAAAAvBZhFgAAAF6LMAsAAACvRZgFAACA1yLMAgAAwGsRZgEAAOC1CLMAAADwWoRZAAAAeC3CLAAAALwWYRYAAABeizALAAAAr0WYBQAAgNcizAIAAMBrEWYBAADgtQizAAAA8FqEWQAAAHgtwiwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFkAAAB4LcIsAAAAvBZhFgAAAF6rVoTZRYsWqXXr1goICFDfvn21devWEtt+8MEH6tWrl+rXr6/g4GD16NFDb775pgd7CwAAgNrC9DC7fPlyxcXFafbs2dqxY4e6d++uoUOHKiUlxW37hg0b6oEHHlBCQoJ++OEHxcTEKCYmRmvXrvVwzwEAAGA208PsggULNHnyZMXExCgyMlJLlixRUFCQli5d6rb9wIEDdd1116lz585q166d7rrrLnXr1k1ff/21h3sOAAAAs/mYufPs7Gxt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27Zteu655/TSSy8Va8t7vfpUpO5F8V6vnO3btyslJcXlm8rc3Fx9+eWXeuGFF5SVlSWbzeayTm16zzNn1sOioqK0YcMGl2Xx8fGlzgdCzdi5c6eaNm1qdje8hmEYio2N1YcffqjPPvtMbdq0KXMd3u9VV5m6F5Wbm6tdu3bxfq8ih8OhrKwst6/xXq85pdW9KN7rlTNo0CDt2rVLO3fudP706tVLN910k3bu3FksyEq17D3v8VPOzjHp6enGd999Z3z33XeGJGPBggXGd999Zxw4cMAwDMO4//77jZtvvtnZ/o8//jCCgoKMe++919i9e7exaNEiw2azGWvWrDHrELxSRev+7LPPGh999JHx66+/Grt27TLuuusuw2q1GuvXrzfrELzO7bffbtSrV8/YuHGjceTIEedPZmams83NN99s3H///c7nmzZtMnx8fIynn37a2L17tzF79mzD19fX2LVrlxmH4JUqU/e5c+caa9euNX7//Xdj+/btxrhx44yAgADjp59+MuMQvNL9999vfPHFF8a+ffuMH374wbj//vsNi8VirFu3zjAM3us1paJ1571ec4pezaA2v+cJs1WUf8mnoj8TJkwwDMMwJkyYYAwYMKDYOj169DD8/PyMtm3bGq+99prH++3tKlr3J5980mjXrp0REBBgNGzY0Bg4cKDx2WefmdN5L+Wu3pJc3r8DBgxw/g7yvffee8YFF1xg+Pn5GV26dDFWrVrl2Y57ucrUffr06UbLli0NPz8/IywszBg+fLixY8cOz3fei91yyy1Gq1atDD8/P6Nx48bGoEGDnIHKMHiv15SK1p33es0pGmZr83veYhiG4blxYAAAAKD6MGcWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBahFkAAAB4LcIsAJynLBaLPvroI7O7AQBVQpgFABNMnDhRFoul2M+wYcPM7hoAeBUfszsAAOerYcOG6bXXXnNZ5u/vb1JvAMA7MTILACbx9/dXeHi4y0+DBg0k5U0BWLx4sa688koFBgaqbdu2Wrlypcv6u3bt0t/+9jcFBgaqUaNGmjJlik6dOuXSZunSperSpYv8/f3VtGlTxcbGurx+7NgxXXfddQoKClKHDh30ySef1OxBA0A1I8wCQC310EMPadSoUfr+++910003ady4cdq9e7ckKSMjQ0OHDlWDBg20bds2rVixQuvXr3cJq4sXL9a0adM0ZcoU7dq1S5988onat2/vso+5c+dqzJgx+uGHHzR8+HDddNNNOn78uEePEwCqwmIYhmF2JwDgfDNx4kS99dZbCggIcFn+r3/9S//6179ksVh02223afHixc7XLrnkEl188cV68cUX9fLLL2vGjBk6ePCggoODJUmrV6/WiBEjdPjwYYWFhal58+aKiYnRo48+6rYPFotFDz74oB555BFJeQG5Tp06+vTTT5m7C8BrMGcWAExyxRVXuIRVSWrYsKHzcVRUlMtrUVFR2rlzpyRp9+7d6t69uzPISlL//v3lcDi0d+9eWSwWHT58WIMGDSq1D926dXM+Dg4OVkhIiFJSUip7SADgcYRZADBJcHBwsa/9q0tgYGC52vn6+ro8t1gscjgcNdElAKgRzJkFgFpqy5YtxZ537txZktS5c2d9//33ysjIcL6+adMmWa1WdezYUXXr1lXr1q21YcMGj/YZADyNkVkAMElWVpaSkpJclvn4+Cg0NFSStGLFCvXq1UuXXnqp3n77bW3dulWvvvqqJOmmm27S7NmzNWHCBM2ZM0dHjx7VHXfcoZtvvllhYWGSpDlz5ui2225TkyZNdOWVVyo9PV2bNm3SHXfc4dkDBYAaRJgFAJOsWbNGTZs2dVnWsWNH7dmzR1LelQbeffddTZ06VU2bNtV///tfRUZGSpKCgoK0du1a3XXXXerdu7eCgoI0atQoLViwwLmtCRMm6MyZM3r22Wd1zz33KDQ0VKNHj/bcAQKAB3A1AwCohSwWiz788EONHDnS7K4AQK3GnFkAAAB4LcIsAAAAvBZzZgGgFmIGGACUDyOzAAAA8FqEWQAAAHgtwiwAAAC8FmEWAAAAXoswCwAAAK9FmAUAAIDXIswCAADAaxFmAQAA4LUIswAAAPBa/x9PUyxfYYGJ1wAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUf5JREFUeJzt3Xd8VFXi/vFnMukJCSUJgYA0kaI0YUFAmgSDILvxqwLKUhUXNYpkkaIIIi5YEVdpiqCLuiAIym9BMFKlidIEFES6QIDQ0iCZZO7vj5AhQyYhfbj4eb9eWZkz595z7uHqPjlz7hmLYRiGAAAAABPycHcHAAAAgKIizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAK4LovFopdfftnx+uOPP5bFYtHhw4eLfe6SPJe7zJ07V/Xr15eXl5fKly9f5u3b7Xbdcccd+te//lVqbbj6e+rYsaM6dux43WPXrFkji8WiNWvWlGifrr0vS8Ndd92lESNGlGobAIqHMAu4WXZIyP7x9PRURESEBgwYoOPHj7u7e7iOvXv3asCAAapTp44+/PBDffDBB2Xeh//+9786duyYYmJiyrzt0rZs2bJSD6z5GTlypKZOnar4+Hi3tH/27Fm9+eabat++vUJDQ1W+fHndddddmj9/vlvPBdxIPN3dAQBZXnnlFdWqVUuXL1/W5s2b9fHHH2v9+vXavXu3fH193d095GHNmjWy2+169913deutt7qlD2+++aZ69+6t4ODgMm3322+/LfU2li1bpqlTp7oMtJcuXZKnZ+n+39jf/vY3BQUFadq0aXrllVdKtS1XNm3apBdffFHdunXTmDFj5OnpqS+//FK9e/fWL7/8ovHjx7vlXMCNhDAL3CDuu+8+tWjRQpL0+OOPKyQkRK+//rqWLFminj17url3yMvp06clyS3LCyRp+/bt2rlzp95+++0yb9vb27vM28ypLH7J8/Dw0EMPPaT//Oc/Gj9+vCwWS6m3mdPtt9+u/fv3q0aNGo6yp556SpGRkXr99dc1YsQIBQQElPm5gBsJywyAG1S7du0kSQcOHHAq37t3rx566CFVrFhRvr6+atGihZYsWZLr+AsXLmjYsGGqWbOmfHx8VK1aNfXr108JCQmSpPT0dI0dO1bNmzdXcHCwAgIC1K5dO61evbpEr2Pv3r3q2bOnQkND5efnp3r16unFF1/M95ivv/5a3bt3V9WqVeXj46M6depowoQJyszMdKq3f/9+PfjggwoPD5evr6+qVaum3r176+LFi446cXFxuvvuu1W+fHkFBgaqXr16euGFF5zOk5aWpnHjxunWW2+Vj4+PqlevrhEjRigtLS3fftasWVPjxo2TJIWGhuZaw/nNN9+oXbt2CggIULly5dS9e3ft2bPH6Rx5rTsdMGCAatasmW/7kvTVV1/J29tb7du3d5QtXLhQFotFa9euzVV/5syZslgs2r17tyTp559/1oABA1S7dm35+voqPDxcgwYN0tmzZ6/btqu+//HHH4qOjlZAQIDCwsI0bNgwl+P4/fff6+GHH9Ytt9ziGPNhw4bp0qVLTmMwdepUSXJaipPN1ZrZ7du367777lNQUJACAwPVuXNnbd682alO9tKeDRs2KDY2VqGhoQoICNADDzygM2fO5Oprly5ddOTIEe3YseO6Y1JQd9xxhzp16pSr3G63KyIiQg899JAkqVatWk7hU8q67ujoaKWlpengwYMFbrMkzwXcSJiZBW5Q2Q/aVKhQwVG2Z88etW3bVhERERo1apQCAgL0xRdfKDo6Wl9++aUeeOABSVJycrLatWunX3/9VYMGDdKdd96phIQELVmyRH/88YdCQkKUmJioWbNm6ZFHHtHgwYOVlJSkjz76SFFRUdqyZYuaNm1a7Gv4+eef1a5dO3l5eemJJ55QzZo1deDAAf2///f/8n1Y6eOPP1ZgYKBiY2MVGBioVatWaezYsUpMTNSbb74pKSuMR0VFKS0tTc8884zCw8N1/Phx/e9//9OFCxcUHBysPXv26P7771fjxo31yiuvyMfHR7///rs2bNjgaMtut+uvf/2r1q9fryeeeEINGjTQrl279M477+i3337TV199lWc/p0yZov/85z9avHixpk+frsDAQDVu3FhS1kNh/fv3V1RUlF5//XWlpqZq+vTpuvvuu7V9+/YCBdWC2Lhxo+644w55eXk5yrp3767AwEB98cUX6tChg1P9+fPn6/bbb9cdd9whKSvsHzx4UAMHDlR4eLj27NmjDz74QHv27NHmzZsLNRN56dIlde7cWUePHtWzzz6rqlWrau7cuVq1alWuugsWLFBqaqqefPJJVapUSVu2bNF7772n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PSV5LsDdCLPADSg7VHbq1Envv/++Ro0a5fjo1MvLS5GRkfkeX6dOHcfT6nlZuHChateurUWLFjnNOGXP8hZXdn+v149rrVmzRmfPntWiRYucntA/dOiQy/qNGjVSo0aNNGbMGG3cuFFt27bVjBkz9Oqrr0rK2lqpc+fO6ty5syZPnqyJEyfqxRdf1OrVqxUZGak6depo586d6ty5c4ltu1SnTh1JUlhY2HX/ripUqODyKXJXH3W7Ur9+/TzHplevXvrkk0+0cuVK/frrrzIMw2nW7/z581q5cqXGjx+vsWPHOsqzZ5YLq0aNGtq9e3euWcx9+/Y51du1a5d+++03ffLJJ+rXr5+jPC4uLtc5C/p3EhoaKn9//1xtSVk7anh4eBTpFxNJOn78uNLT09WgQYN863322WdOuzHkXO7gSq1atdSyZUvNnz9fMTExWrRokaKjo50+kcmWvdfuc889p5EjRxbpOkrjXMCNgGUGwA2qY8eOatmypaZMmaLLly8rLCxMHTt21MyZM3Xy5Mlc9XNuKfTggw9q586dWrx4ca562bNO2bNSOWehfvjhB23atKlE+h8aGqr27dtr9uzZOnr0qMs+uOKqX+np6Zo2bZpTvcTERGVkZDiVNWrUSB4eHo6toM6dO5fr/Nm7NGTX6dmzp44fP64PP/wwV91Lly4pJSUlz77mJSoqSkFBQZo4caJsNluu93P+XdWpU0d79+51Ktu5c6fTjgv5ad26tXbv3u1y+6vIyEhVrFhR8+fP1/z589WyZUvHEgLJ9VhLWbs0FEW3bt104sQJLVy40FGWmpqa61vRXLVrGIbefffdXOfM3vf0woUL+bZttVp177336uuvv3b6yt1Tp07p888/1913362goKDCXpIkaevWrZKkNm3a5Fuvbdu2ioyMdPxcL8xKWb9wbN68WbNnz1ZCQoLLJQbz58/Xs88+qz59+uT5CUJBleS5gBsFM7PADez555/Xww8/rI8//lhDhgzR1KlTdffdd6tRo0YaPHiwateurVOnTmnTpk36448/tHPnTsdxCxcu1MMPP6xBgwapefPmOnfunJYsWaIZM2aoSZMmuv/++7Vo0SI98MAD6t69uw4dOqQZM2aoYcOG113rV1D//ve/dffdd+vOO+/UE088oVq1aunw4cNaunRpnnt2tmnTRhUqVFD//v317LPPymKxaO7cubkC16pVqxQTE6OHH35Yt912mzIyMjR37lxZrVY9+OCDkrK+VW3dunXq3r27atSoodOnT2vatGmqVq2a7r77bklS37599cUXX2jIkCFavXq12rZtq8zMTO3du1dffPGFVqxY4Vj+UVBBQUGaPn26+vbtqzvvvFO9e/dWaGiojh49qqVLl6pt27Z6//33JUmDBg3S5MmTFRUVpccee0ynT5/WjBkzdPvtt+d6YMmVv/3tb5owYYLWrl2re++91+k9Ly8v/d///Z/mzZunlJQUvfXWW7n62b59e73xxhuy2WyKiIjQt99+m+dM7/UMHjxY77//vvr166etW7eqSpUqmjt3rvz9/Z3q1a9fX3Xq1NHw4cN1/PhxBQUF6csvv3S5XCJ7W6xnn31WUVFRslqteW5b9eqrrzr2FX7qqafk6empmTNnKi0tTW+88UaRrknKmjG+5ZZbSmxbrpx69uyp4cOHa/jw4apYsWKumfwtW7aoX79+qlSpkjp37qzPPvvM6f02bdoUKDSX9LmAG0rZb6AAIKfsbYJ+/PHHXO9lZmYaderUMerUqePYYunAgQNGv379jPDwcMPLy8uIiIgw7r//fmPhwoVOx549e9aIiYkxIiIiDG9vb6NatWpG//79jYSEBMMwsrbHmjhxolGjRg3Dx8fHaNasmfG///3P5ZZQKuLWXIZhGLt37zYeeOABo3z58oavr69Rr14946WXXsr3XBs2bDDuuusuw8/Pz6hataoxYsQIY8WKFU7bOx08eNAYNGiQUadOHcPX19eoWLGi0alTJ+O7775znGflypXG3/72N6Nq1aqGt7e3UbVqVeORRx4xfvvtN6c+pqenG6+//rpx++23Gz4+PkaFChWM5s2bG+PHjzcuXryY7/W52por2+rVq42oqCgjODjY8PX1NerUqWMMGDDA+Omnn5zqffrpp0bt2rUNb29vo2nTpsaKFSsKvDWXYRhG48aNjccee8zle3FxcYYkw2KxOG3zlu2PP/5w/P0EBwcbDz/8sHHixIkC/Z272lbsyJEjxl//+lfD39/fCAkJMYYOHWosX74819Zcv/zyixEZGWkEBgYaISEhxuDBg42dO3cakow5c+Y46mVkZBjPPPOMERoaalgsFqdtuq7to2EYxrZt24yoqCgjMDDQ8Pf3Nzp16mRs3LjRqU5e/86tXr06Vz8zMzONKlWqGGPGjHE5viWhbdu2hiTj8ccfz/Vedl/z+sk5VtdTkucCbiQWw8jn8z4AwA1v7ty5evrpp3X06FG3fa3uzeqrr77So48+qgMHDqhKlSru7g4AF1gzCwAm16dPH91yyy2Or35FyXn99dcVExNDkAVuYMzMAgBgYpmZmU4PELoSGBiowMDAMuoRULZ4AAwAABM7duyY0y4Vrlxvz1vAzNwaZtetW6c333xTW7du1cmTJ7V48WJFR0fne8yaNWsUGxurPXv2qHr16hozZowGDBhQJv0FAOBGEx4e7nKP3pzYpQA3M7eG2ZSUFDVp0kSDBg3S//3f/123/qFDh9S9e3cNGTJEn332mVauXKnHH39cVapUyfMbkQAAuJn5+vpe98s5gJvZDbNm1mKxXHdmduTIkVq6dKnTNwr17t1bFy5c0PLly8uglwAAALiRmGrN7KZNm3L99hkVFaXnnnsuz2PS0tKcvhnHbrfr3LlzqlSpUol9dSUAAABKjmEYSkpKUtWqVeXhkf/mW6YKs/Hx8apcubJTWeXKlZWYmKhLly7Jz88v1zGTJk3S+PHjy6qLAAAAKCHHjh1TtWrV8q1jqjBbFKNHj1ZsbKzj9cWLF3XLLbfo0KFDKleuXKm3b7PZtHr1anXq1EleXl6l3h6yMO7uwbi7B+PuHoy7ezDu7lHW456UlKRatWoVKKuZKsyGh4fr1KlTTmWnTp1SUFCQy1lZSfLx8ZGPj0+u8ooVKyooKKhU+pmTzWaTv7+/KlWqxL90ZYhxdw/G3T0Yd/dg3N2DcXePsh737DYKsiTUVN8A1rp1a61cudKpLC4uTq1bt3ZTjwAAAOBObg2zycnJ2rFjh3bs2CEpa+utHTt26OjRo5Kylgj069fPUX/IkCE6ePCgRowYob1792ratGn64osvNGzYMHd0HwAAAG7m1jD7008/qVmzZmrWrJkkKTY2Vs2aNdPYsWMlSSdPnnQEW0mqVauWli5dqri4ODVp0kRvv/22Zs2axR6zAAAAf1JuXTPbsWNH5bfN7ccff+zymO3bt5dirwAAQFEYhqGMjAxlZmaWWhs2m02enp66fPlyqbYDZ6Ux7l5eXrJarcU+j6keAAMAADem9PR0nTx5UqmpqaXajmEYCg8P17Fjx9gvvgyVxrhbLBZVq1ZNgYGBxToPYRYAABSL3W7XoUOHZLVaVbVqVXl7e5da0LTb7UpOTlZgYOB1N9NHySnpcTcMQ2fOnNEff/yhunXrFmuGljALAACKJT09XXa7XdWrV5e/v3+ptmW325Weni5fX1/CbBkqjXEPDQ3V4cOHZbPZihVmuQsAAECJIFyiMEpq9p67DgAAAKZFmAUAAIBpEWYBAADczGKx6KuvvpIkHT58WBaLxfGlUq6kpqbqwQcfVFBQkCwWiy5cuFCq/Rs7dqyee+65Qh1z11136csvvyydDuVAmAUAAH9aAwYMkMVikcVikZeXl2rVqqURI0bo8uXL7u5avj755BN9//332rhxo06ePKng4OBSays+Pl7//ve/FRsb6yhbt26devTooapVqzoF8ZzGjBmjUaNGyW63l1rfJMIsAAD4k+vatatOnjypgwcP6p133tHMmTM1btw4d3crXwcOHFCDBg10xx13KDw8vFT33J01a5Zat26tW265xVGWkpKiJk2aaOrUqXked9999ykpKUnffPNNqfVNIswCAIBSYBiGUtMzSuXnUnpmnu/l982iefHx8VF4eLiqV6+u6OhoRUZGKi4uzvG+3W7XpEmTVKtWLfn5+alJkyZauHCh0zn27Nmj+++/X0FBQSpXrpzatWunAwcOSJJ+/PFHdenSRSEhIQoODlaHDh20bdu2Io9tx44d9fbbb2vdunWyWCzq2LGjJCktLU3Dhw9XRESEAgIC1KpVK61Zs8Zx3Msvv6ymTZs6nWvKlCmqWbNmvu3NmzdPPXr0cCq777779Oqrr+qBBx7I8zir1apu3bpp3rx5hbm8QmOfWQAAUOIu2TLVcOyKMm/3l1ei5O9d9Hize/dubdy4UTVq1HCUTZo0SZ9++qlmzJihunXrat26dfr73/+u0NBQdejQQcePH1f79u3VsWNHrVq1SkFBQdqwYYMyMjIkSUlJSerfv7/ee+89GYaht99+W926ddP+/ftVrly5Qvdx0aJFGjVqlHbv3q1FixbJ29tbkhQTE6NffvlF8+bNU9WqVbV48WJ17dpVu3btUt26dYs0HufOndMvv/yi5s2bF+n4li1b6rXXXivSsQVFmAUAAH9q//vf/xQYGKiMjAylpaXJw8ND77//vqSs2c6JEyfqu+++U+vWrSVJtWvX1vr16zVz5kx16NBBU6dOVXBwsObNmycvLy9J0m233eY4/z333OPU3gcffKDy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Xm1IMs6fP18mffozOH36tCHJWLt2bZ51evbsaXTv3t2prFWrVsY//vGP0u7eTasg4z5nzhwjODi47Dr1J1GhQgVj1qxZLt/jXi89+Y0793rJSkpKMurWrWvExcUZHTp0MIYOHZpn3Rvpnmdmtoxt2rRJkZGRTmVRUVHatGmTm3r059K0aVNVqVJFXbp00YYNG9zdHVO7ePGiJKlixYp51uF+L3kFGXdJSk5OVo0aNVS9evXrzmwhf5mZmZo3b55SUlLy/Op07vWSV5Bxl7jXS9LTTz+t7t2757qXXbmR7nm3fwPYn018fLzj282yVa5cWYmJibp06ZL8/Pzc1LObW5UqVTRjxgy1aNFCaWlpmjVrljp27KgffvhBd955p7u7Zzp2u13PPfec2rZtm++37+V1v7NWuWgKOu716tXT7Nmz1bhxY128eFFvvfWW2rRpoz179qhatWpl2GNz27Vrl1q3bq3Lly8rMDBQixcvVsOGDV3W5V4vOYUZd+71kjNv3jxt27ZNP/74Y4Hq30j3PGEWfwr16tVTvXr1HK/btGmjAwcO6J133tHcuXPd2DNzevrpp7V7926tX7/e3V35UynouLdu3dppJqtNmzZq0KCBZs6cqQkTJpR2N28a9erV044dO3Tx4kUtXLhQ/fv319q1a/MMVigZhRl37vWScezYMQ0dOlRxcXGmfICOMFvGwsPDderUKaeyU6dOKSgoiFnZMtayZUvCWBHExMTof//7n9atW3fdmY+87vfw8PDS7OJNqTDjfi0vLy81a9ZMv//+eyn17ubk7e2tW2+9VZLUvHlz/fjjj3r33Xc1c+bMXHW510tOYcb9WtzrRbN161adPn3a6ZPKzMxMrVu3Tu+//77S0tJktVqdjrmR7nnWzJax1q1ba+XKlU5lcXFx+a4HQunYsWOHqlSp4u5umIZhGIqJidHixYu1atUq1apV67rHcL8XX1HG/VqZmZnatWsX93sx2e12paWluXyPe7305Dfu1+JeL5rOnTtr165d2rFjh+OnRYsW6tOnj3bs2JEryEo32D1f5o+c3WSSkpKM7du3G9u3bzckGZMnTza2b99uHDlyxDAMwxg1apTRt29fR/2DBw8a/v7+xvPPP2/8+uuvxtSpUw2r1WosX77cXZdgSoUd93feecf46quvjP379xu7du0yhg4danh4eBjfffeduy7BdJ588kkjODjYWLNmjXHy5EnHT2pqqqNO3759jVGjRjleb9iwwfD09DTeeust49dffzXGjRtneHl5Gbt27XLHJZhSUcZ9/PjxxooVK4wDBw4YW7duNXr37m34+voae/bsccclmNKoUaOMtWvXGocOHTJ+/vlnY9SoUYbFYjG+/fZbwzC410tLYcede730XLubwY18zxNmiyl7y6drf/r3728YhmH079/f6NChQ65jmjZtanh7exu1a9c25syZU+b9NrvCjvvrr79u1KlTx/D19TUqVqxodOzY0Vi1apV7Om9SrsZbktP926FDB8ffQbYvvvjCuO222wxvb2/j9ttvN5YuXVq2HTe5ooz7c889Z9xyyy2Gt7e3UblyZaNbt27Gtm3byr7zJjZo0CCjRo0ahre3txEaGmp07tzZEagMg3u9tBR23LnXS8+1YfZGvucthmEYZTcPDAAAAJQc1swCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCAADAtAizAAAAMC3CLAAAAEyLMAsAAADTIswCwJ+UxWLRV1995e5uAECxEGYBwA0GDBggi8WS66dr167u7hoAmIqnuzsAAH9WXbt21Zw5c5zKfHx83NQbADAnZmYBwE18fHwUHh7u9FOhQgVJWUsApk+frvvuu09+fn6qXbu2Fi5c6HT8rl27dM8998jPz0+VKlXSE088oeTkZKc6s2fP1u233y4fHx9VqVJFMTExTu8nJCTogQcekL+/v+rWraslS5aU7kUDQAkjzALADeqll17Sgw8+qJ07d6pPnz7q3bu3fv31V0lSSkqKoqKiVKFCBf34449asGCBvvvuO6ewOn36dD399NN64okntGvXLi1ZskS33nqrUxvjx49Xz5499fPPP6tbt27q06ePzp07V6bXCQDFYTEMw3B3JwDgz2bAgAH69NNP5evr61T+wgsv6IUXXpDFYtGQIUM0ffp0x3t33XWX7rzzTk2bNk0ffvihRo4cqWPHjikgIECStGzZMvXo0UMnTpxQ5cqVFRERoYEDB+rVV1912QeLxaIxY8ZowoQJkrICcmBgoL755hvW7gIwDdbMAoCbdOrUySmsSlLFihUdf27durXTe61bt9aOHTskSb/++quaNGniCLKS1LZtW9ntdu3bt08Wi0UnTpxQ586d8+1D48aNHX8OCAhQUFCQTp8+XdRLAoAyR5gFADcJCAjI9bF/SfHz8ytQPS8vL6fXFotFdru9NLoEAKWCNbMAcIPavHlzrtcNGjSQJDVo0EA7d+5USkqK4/0NGzbIw8ND9erVU7ly5VSzZk2tXLmyTPsMAGWNmVkAcJO0tDTFx8c7lXl6eiokJESStGDBArVo0UJ33323PvvsM23ZskUfffSRJKlPnz4aN26c+vfvr5dffllnzpzRM888o759+6py5cqSpJdffllDhgxRWFiY7rvvPiUlJWnDhg165plnyvZCAaAUEWYBwE2WL1+uKlWqOJXVq1dPe/fulZS108C8efP01FNPqUqVKvrvf/+rhg0bSpL8/f21YsUKDR06VH/5y1/k7++vBx98UJMnT3acq3///rp8+bLeeecdDR8+XCEhIXrooYfK7gIBoAywmwEA3IAsFosWL16s6Ohod3cFAG5orJkFAACAaRFmAQAAYFqsmQWAGxArwACgYJiZBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApkWYBQAAgGkRZgEAAGBahFkAAACYFmEWAAAApvX/Aeo5yWxAPhifAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVyFJREFUeJzt3Xl8TPf+x/H3ZJJMNoklkQhKqGurXWmopUVTVKsLqm6FVnurdMt1qS5CF7qi91ZRLVqtX5W26lZL7W3ttVMUtV1LLCEhIduc3x+aqZFJzESScXg9H488ar7zPed8ztdRb9/5zjkWwzAMAQAAACbk4+0CAAAAgMIizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizAIAAMC0CLMAAAAwLcIsAAAATIswCwAAANMizALXEYvFouHDhzteT506VRaLRfv27bvifRflvq4n06ZNU61ateTn56fSpUtLktq2bau2bduWWA1r1qyRv7+/9u/fX2zHuPSc9u3bJ4vFoqlTp1522z59+qhq1apFWk9JXK+//fabfH19tXXr1mI7BgDCLFBkcv9yzP3x9fVVxYoV1adPHx06dMjb5eEqtGPHDvXp00fVq1fXpEmT9OGHH3qljhdffFE9e/ZUlSpVvHL84jRy5EjNnj3bK8euU6eOOnfurGHDhnnl+JK0du1aDRw4UHXr1lVwcLBuuOEGde/eXb///rtX9wUUJV9vFwBca1555RXFxMTo/PnzWrVqlaZOnapffvlFW7duVUBAgLfLw1Vk6dKlstvteu+993TjjTc62n/88ccSq2Hjxo1auHChVqxYUWLHlKQqVaro3Llz8vPzK9bjjBw5Ug888IC6du3q1P7www/rwQcflM1mK9bjP/HEE+rUqZP27Nmj6tWrF+uxXHnzzTe1fPlydevWTfXr19fRo0f1/vvvq3Hjxlq1apVuuukmr+wLKEqEWaCIdezYUU2bNpUk9evXT+Hh4XrzzTc1Z84cde/e3cvV4Wpy7NgxSXIsL8jl7+9/2W3Pnz8vf39/+fhc2QdsU6ZM0Q033KBbbrnlivbjKYvF4tV/3FmtVlmt1mI/Tvv27VWmTBl98skneuWVV4r9eJdKSEjQ9OnTna6pHj16qF69enrjjTf02WefeWVfQFFimQFQzFq1aiVJ2rNnj1P7jh079MADD6hs2bIKCAhQ06ZNNWfOnDzbnz59Ws8995yqVq0qm82mSpUqqXfv3jpx4oQkKTMzU8OGDVOTJk0UFham4OBgtWrVSkuWLCnS89ixY4e6d++uiIgIBQYGqmbNmnrxxRcL3Obbb79V586dFR0dLZvNpurVq+vVV19VTk6OU79du3bp/vvvV1RUlAICAlSpUiU9+OCDSklJcfRZsGCBbr31VpUuXVohISGqWbOmXnjhBaf9ZGRkKDExUTfeeKNsNpsqV66swYMHKyMj47Ln17ZtW91000367bffdNtttykoKEgVK1bUW2+9lafvsWPH9OijjyoyMlIBAQFq0KCBPvnkk8se42JVq1ZVYmKiJCkiIsJpPfOl60uXLl0qi8WiL774Qi+99JIqVqyooKAgpaamSpJWr16tO++8U2FhYQoKClKbNm20fPlyt+qYPXu2br/9dlksFkfbXXfdpWrVqrnsHxsb6/jHmnQhDN9+++0qX768bDab6tSpo/Hjx1/2uPmtmZ09e7ZuuukmBQQE6KabbtI333zjcvt33nlHLVq0ULly5RQYGKgmTZpo1qxZTn0sFovS0tL0ySefOJb/9OnTR1L+a2Y/+OAD1a1bVzabTdHR0RowYIBOnz7t1MeTa8XPz09t27bVt99+e9kxcdevv/4qi8Xi8pqbP3++LBaLvvvuO0lSixYt8vzjqEaNGqpbt662b9/u0XGLcl9AUWJmFihmuX9ZlilTxtG2bds2tWzZUhUrVtTzzz+v4OBgffnll+ratau++uor3XvvvZKks2fPqlWrVtq+fbseeeQRNW7cWCdOnNCcOXP0v//9T+Hh4UpNTdVHH32knj176rHHHtOZM2f08ccfKy4uTmvWrFHDhg2v+Bw2b96sVq1ayc/PT48//riqVq2qPXv26L///a9ef/31fLebOnWqQkJClJCQoJCQEC1evFjDhg1Tamqq3n77bUkXwnhcXJwyMjL01FNPKSoqSocOHdJ3332n06dPKywsTNu2bdNdd92l+vXr65VXXpHNZtPu3budApvdbtfdd9+tX375RY8//rhq166tLVu2aMyYMfr999/dWjd56tQp3XnnnbrvvvvUvXt3zZo1S0OGDFG9evXUsWNHSdK5c+fUtm1b7d69WwMHDlRMTIxmzpypPn366PTp03rmmWfcGtOxY8fq008/1TfffKPx48crJCRE9evXL3CbV199Vf7+/ho0aJAyMjLk7++vxYsXq2PHjmrSpIkSExPl4+PjCJg///yzmjVrlu/+Dh06pAMHDqhx48ZO7T169FDv3r21du1a3XzzzY72/fv3a9WqVY7fO0kaP3686tatq7vvvlu+vr7673//qyeffFJ2u10DBgxwayxy/fjjj7r//vtVp04djRo1SidPnlTfvn1VqVKlPH3fe+893X333erVq5cyMzP1xRdfqFu3bvruu+/UuXNnSRe+XNevXz81a9ZMjz/+uCQV+FH/8OHDNWLECLVv3179+/fXzp07NX78eK1du1bLly93WhLhzrWSq0mTJvr222+Vmpqq0NBQj8bElaZNm6patWr68ssvFR8f7/TejBkzVKZMGcXFxeW7vWEYSkpKUt26da+4lqLcF1BoBoAiMWXKFEOSsXDhQuP48ePGwYMHjVmzZhkRERGGzWYzDh486Ojbrl07o169esb58+cdbXa73WjRooVRo0YNR9uwYcMMScbXX3+d53h2u90wDMPIzs42MjIynN47deqUERkZaTzyyCNO7ZKMxMTEPDXv3bu3wHNr3bq1UapUKWP//v0ua8hvX+np6Xn29Y9//MMICgpynPuGDRsMScbMmTPzPf6YMWMMScbx48fz7TNt2jTDx8fH+Pnnn53aJ0yYYEgyli9fXuA5tmnTxpBkfPrpp462jIwMIyoqyrj//vsdbWPHjjUkGZ999pmjLTMz04iNjTVCQkKM1NTUAo9zscTERJfn1aZNG6NNmzaO10uWLDEkGdWqVXMaU7vdbtSoUcOIi4tz+r1IT083YmJijA4dOhR4/IULFxqSjP/+979O7SkpKYbNZjP++c9/OrW/9dZbhsVicboOXP0ex8XFGdWqVSvwnPbu3WtIMqZMmeJoa9iwoVGhQgXj9OnTjrYff/zRkGRUqVLFaX+XHjczM9O46aabjNtvv92pPTg42IiPj89T46XX67Fjxwx/f3/jjjvuMHJychz93n//fUOSMXnyZKdzcedayTV9+nRDkrF69eo87xXW0KFDDT8/PyM5OdmphtKlS+f5c3+padOmGZKMjz/++IrrKMp9AYXFMgOgiLVv314RERGqXLmyHnjgAQUHB2vOnDmO2aXk5GQtXrxY3bt315kzZ3TixAmdOHFCJ0+eVFxcnHbt2uW4+8FXX32lBg0aOGZqL5b7sbDVanV89Ge325WcnKzs7Gw1bdpU69evv+LzOX78uH766Sc98sgjuuGGG1zWkJ/AwEDHr3PPtVWrVkpPT9eOHTskSWFhYZIufDyanp7ucj+5a0q//fZb2e12l31mzpyp2rVrq1atWo4xPXHihG6//XZJcmvZRUhIiP7+9787Xvv7+6tZs2b6448/HG3ff/+9oqKi1LNnT0ebn5+fnn76aZ09e1bLli277HEKKz4+3mlMN27cqF27dumhhx7SyZMnHeeclpamdu3a6aeffsp3vCTp5MmTkpw/NZCk0NBQdezYUV9++aUMw3C0z5gxQ7fccovTdXBxPSkpKTpx4oTatGmjP/74w2mZyOUcOXJEGzduVHx8vOOakKQOHTqoTp06efpffNxTp04pJSVFrVq1KvQ1v3DhQmVmZurZZ591Wof82GOPKTQ0VHPnznXq7861kit3fHOXBhWFHj16KCsrS19//bWj7ccff9Tp06fVo0ePfLfbsWOHBgwYoNjY2Dyzup4qyn0BV4IwCxSxcePGacGCBZo1a5Y6deqkEydOOH1jevfu3TIMQy+//LIiIiKcfnLXUOZ+MWjPnj1ufUP4k08+Uf369RUQEKBy5copIiJCc+fO9ShM5Cf3L+fCfFN527ZtuvfeexUWFqbQ0FBFREQ4AkBubTExMUpISNBHH32k8PBwxcXFady4cU619+jRQy1btlS/fv0UGRmpBx98UF9++aVTUNu1a5e2bduWZ0z/9re/SfprTAtSqVKlPAG9TJkyOnXqlOP1/v37VaNGjTxfvKpdu7bj/eISExPj9HrXrl2SLoTcS8/7o48+UkZGhlvXwMWBNVePHj108OBBrVy5UtKFa3HdunV5gtLy5cvVvn17BQcHq3Tp0oqIiHCsZfbk+ssdtxo1auR5r2bNmnnavvvuO91yyy0KCAhQ2bJlFRERofHjxxf6ms89/qXH8vf3V7Vq1fL8vrpzreTKHd+C/vGXmZmpo0ePOv1curb8Yg0aNFCtWrU0Y8YMR9uMGTMUHh7u+AfcpY4eParOnTsrLCxMs2bNuqIvwBXlvoArxZpZoIg1a9bM8QWZrl276tZbb9VDDz2knTt3KiQkxBHABg0alO+6totv03Q5n332mfr06aOuXbvqX//6l8qXLy+r1apRo0bl+dJZSTp9+rTatGmj0NBQvfLKK6pevboCAgK0fv16DRkyxCmIvvvuu+rTp4++/fZb/fjjj3r66ac1atQorVq1SpUqVVJgYKB++uknLVmyRHPnztW8efM0Y8YM3X777frxxx9ltVplt9tVr149jR492mU9lStXvmzN+f2F7CrsecPFs5GSHGP49ttv57s2OiQkJN/9lStXTpJcBrAuXbooKChIX375pVq0aKEvv/xSPj4+6tatm6PPnj171K5dO9WqVUujR49W5cqV5e/vr++//15jxowpcFb4Svz888+6++671bp1a33wwQeqUKGC/Pz8NGXKFE2fPr1YjnkpT66V3PENDw/Pd38rVqzQbbfd5tS2d+/eAh8W0aNHD73++us6ceKESpUqpTlz5qhnz57y9c37V3tKSoo6duyo06dP6+eff1Z0dHS++72cotwXUBQIs0Axyg2Vt912m95//309//zzjm+J+/n5qX379gVuX7169cs+PWjWrFmqVq2avv76a6eZn9xZ3iuVW6+nTzFaunSpTp48qa+//lqtW7d2tO/du9dl/3r16qlevXp66aWXtGLFCrVs2VITJkzQa6+9Jkny8fFRu3bt1K5dO40ePVojR47Uiy++qCVLlqh9+/aqXr26Nm3apHbt2l12+cOVqFKlijZv3iy73e40O5u7bKIkHzyQ+2Wm0NDQy15LrtSqVUuS69+T4OBg3XXXXZo5c6ZGjx6tGTNmqFWrVk7B5b///a8yMjI0Z84cp6UHhbmTRu645c42X2znzp1Or7/66isFBARo/vz5Tp96TJkyJc+27l4LucffuXOn050cMjMztXfv3kKNb669e/fKx8fH8SmBKw0aNNCCBQuc2qKiogrcb48ePTRixAh99dVXioyMVGpqqh588ME8/c6fP68uXbro999/18KFC10u23BXUe4LKCosMwCKWdu2bdWsWTONHTtW58+fV/ny5dW2bVtNnDhRR44cydP/+PHjjl/ff//92rRpk8vbE+XOAOXOEF08I7R69WrHx8NXKiIiQq1bt9bkyZN14MABlzW44qquzMxMffDBB079UlNTlZ2d7dRWr149+fj4OG6plZycnGf/uTORuX26d++uQ4cOadKkSXn6njt3TmlpafnW6olOnTrp6NGjTh/vZmdn6z//+Y9CQkLUpk2bIjmOO5o0aaLq1avrnXfe0dmzZ/O8f/G15ErFihVVuXJl/frrry7f79Gjhw4fPqyPPvpImzZtyrPEwNXvcUpKistQeTkVKlRQw4YN9cknn+S5Jdtvv/2W57gWi8XpY/h9+/a5vGNFcHBwnltrudK+fXv5+/vr3//+t9P5fPzxx0pJSXHcIaEw1q1bp7p16zqtBb5UmTJl1L59e6efy92Ht3bt2qpXr55mzJihGTNmqEKFCk7/cJSknJwc9ejRQytXrtTMmTMVGxtb6PMoyn0BRYmZWaAE/Otf/1K3bt00depUPfHEExo3bpxuvfVW1atXT4899piqVaumpKQkrVy5Uv/73/+0adMmx3azZs1St27d9Mgjj6hJkyZKTk7WnDlzNGHCBDVo0EB33XWXvv76a917773q3Lmz9u7dqwkTJqhOnTouA05h/Pvf/9att96qxo0b6/HHH1dMTIz27dunuXPnauPGjS63adGihcqUKaP4+Hg9/fTTslgsmjZtWp4AvHjxYg0cOFDdunXT3/72N2VnZ2vatGmyWq26//77JV14qtpPP/2kzp07q0qVKjp27Jg++OADVapUSbfeequkC090+vLLL/XEE09oyZIlatmypXJycrRjxw59+eWXmj9/vtP9UQvr8ccf18SJE9WnTx+tW7dOVatW1axZs7R8+XKNHTtWpUqVuuJjuMvHx0cfffSROnbsqLp166pv376qWLGiDh06pCVLlig0NFT//e9/C9zHPffco2+++UaGYeSZxezUqZNKlSqlQYMGOf1+5Lrjjjvk7++vLl266B//+IfOnj2rSZMmqXz58i7/oXY5o0aNUufOnXXrrbfqkUceUXJysv7zn/+obt26Ttdy586dNXr0aN1555166KGHdOzYMY0bN0433nijNm/e7LTPJk2aaOHChRo9erSio6MVExOj5s2b5zl2RESEhg4dqhEjRujOO+/U3XffrZ07d+qDDz7QzTff7PRlL09kZWVp2bJlevLJJwu1/eX06NFDw4YNU0BAgB599NE8a7n/+c9/as6cOerSpYuSk5PzPNjAk/Mqyn0BRcobt1AArkW5t/pZu3ZtnvdycnKM6tWrG9WrVzeys7MNwzCMPXv2GL179zaioqIMPz8/o2LFisZdd91lzJo1y2nbkydPGgMHDjQqVqxo+Pv7G5UqVTLi4+ONEydOGIZx4fZMI0eONKpUqWLYbDajUaNGxnfffWfEx8fnuZ2RCnlrLsMwjK1btxr33nuvUbp0aSMg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oqioKB07dkzShS9wNWjQwBFkJally5ay2+3auXNngWHWE02aNHF6vWnTJi1ZssRp7WuuPXv2uAyz586dk81mK/QDDgIDA5Wenl6obd1FmAUA4DpjsVgK/VF/SQsODtaNN94o6cIsYoMGDTRt2jQNGDDAscZ07ty5qlixotN2NptN0oUwVZD4+HidPHlS7733nqpUqSKbzabY2Ngr+sKUpDzh2WKxyG63X9E+PXVxWJaks2fPOmZ/L1WhQgWX+wgPD1d6errTeOTOCCclJTltl5SUpIYNGzptn5ycrIiIiMKeglv4AhgAADAFHx8fPf/883r99dd17tw51alTRzabTQcOHNCNN97o9FO5cmVJF2ZIf/75Z2VlZbnc5/Lly/X000+rU6dOqlu3rmw2W4FfiCoKtWvX1qZNm5SWluZUh4+Pj2rWrFlsx23cuLG2bdumqlWr5hmvS4Nvrtxw+ttvvznaYmJiFBUVpUWLFjnaUlNTtXr1asdyj1xbt251zJIXF8IsAAAwjW7duslqteqDDz5QqVKlNGjQID333HP65JNPtGfPHq1fv17/+c9/9Mknn0iSBg4cqNTUVD344IP69ddftWvXLk2bNk07d+6UdGFd6bRp07R9+3atXr1avXr1uuxs7pXq1auXAgICFB8fr61bt2rJkiV66qmn9PDDDxfZEgNXBgwYoOTkZPXs2VNr167Vnj17NH/+fPXt21c5OTkut4mIiFDjxo0dXyKTLswyP/vss3rttdc0Z84cbdmyRb1791Z0dLTTHRXS09O1bt063XHHHcV2ThJhFgAAmIivr6/69eunt99+W2lpaXr11Vf18ssva9SoUapdu7buvPNOzZ07VzExMZKkcuXKafHixTp79qzatGmjJk2aaNKkSY5lAB9//LFOnTqlxo0b6+GHH9bTTz+t8uXLF+s5BAUFaf78+UpOTtbNN9+sBx54QO3atdP7779frMeNjo7W8uXLlZOTozvuuEP16tXTs88+q9KlS8vHJ/9I2K9fP02fPt2pbfDgwXrqqaf0+OOP6+abb9bZs2c1b948BQQEOPp8++23uuGGG9SqVatiOydJshie3vDN5FJTUxUWFqaUlBSFhoaWyDGzsrL0/fffq1OnTvkuQEfRY9xLHmPuHYy7d5hl3M+fP6+9e/cqJibGKWiYld1uV2pqqkJDQwsMYCg6586d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8r2lS5fmaYuNjdWqVas8Pg4AAACuLR4vM3juuefk6+urAwcOON3aqkePHpo3b16RFgcAAAAUxOOZ2R9//FHz589XpUqVnNpr1Kih/fv3F1lhAAAAwOV4PDOblpbm8mEDycnJLm+BBQAAABQXj8Nsq1at9OmnnzpeWywW2e12vfXWW7rtttuKtDgAAACgIB4vM3jrrbfUrl07/frrr8rMzNTgwYO1bds2JScna/ny5cVRIwAAAOCSxzOzN910k37//Xfdeuutuueee5SWlqb77rtPGzZsUPXq1YujRgAAAMAlj2Zms7KydOedd2rChAl68cUXi6smAAAAwC0ezcz6+flp8+bNxVULAAAA4BGPlxn8/e9/18cff1wctQAAAAAe8fgLYNnZ2Zo8ebIWLlyoJk2aKDg42On90aNHF1lxAAAAQEE8DrNbt25V48aNJUm///6703sWi6VoqgIAAADc4HGYXbJkSXHUAQAAAHjM4zWzAAAAwNXCrZnZ++67T1OnTlVoaKjuu+++Avt+/fXXRVIYAAAAcDluhdmwsDDHetjQ0FDWxgIAAOCq4FaYvffeexUQECBJmjp1anHWAwAAALjNrTWz9957r06fPi1JslqtOnbsWHHWBAAAALjFrTAbERGhVatWSZIMw2CZAQAAAK4Kbi0zeOKJJ3TPPffIYrHIYrEoKioq3745OTlFVhwAAABQELfC7PDhw/Xggw9q9+7duvvuuzVlyhSVLl26mEsDAAAACub2QxNq1aqlWrVqKTExUd26dVNQUFCB/ZcvX66mTZvKZrNdcZEAAACAKx4/NCExMfGyQVaSOnbsqEOHDhWqKAAAAMAdxfYEMMMwimvXAAAAgCQeZwsAAAATI8wCAADAtAizAAAAMK1iC7M8WAEAAADFjS+AAQAAwLTcvs/spY4fP66dO3dKkmrWrKmIiAin98+cOXNllQEAAACX4fHMbFpamh555BFFR0erdevWat26taKjo/Xoo48qPT29OGoEAAAAXPI4zCYkJGjZsmWaM2eOTp8+rdOnT+vbb7/VsmXL9M9//rM4agQAAABc8niZwVdffaVZs2apbdu2jrZOnTopMDBQ3bt31/jx44uyPgAAACBfHs/MpqenKzIyMk97+fLlWWYAAACAEuVxmI2NjVViYqLOnz/vaDt37pxGjBih2NjYIi0OAAAAKIjHywze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AgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA0yLMAgAAwLQIswAAADAtwiwAAABMizALAAAA07oqwuy4ceNUtWpVBQQEqHnz5lqzZk2B/WfOnKlatWopICBA9erV0/fff19ClQIAAOBq4vUwO2PGDCUkJCgxMVHr169XgwYNFBcXp2PHjrnsv2LFCvXs2VOPPvqoNmzYoK5du6pr167aunVrCVcOAAAAb/N6mB09erQee+wx9e3bV3Xq1NGECRMUFBSkyZMnu+z/3nvv6c4779S//vUv1a5dW6+++qoaN26s999/v4QrBwAAgLf5evPgmZmZWrdunYYOHepo8/HxUfv27bVy5UqX26xcuVIJCQlObXFxcZo9e7bL/hkZGcrIyHC8TklJkSQlJycrKyvrCs/APVlZWUpPT9fJkyfl5+dXIscE4+4NjLl3MO7ewbh7B+PuHSU97mfOnJEkGYZx2b5eDbMnTpxQTk6OIiMjndojIyO1Y8cOl9scPXrUZf+jR4+67D9q1CiNGDEiT3tMTEwhqwYAAEBJOHPmjMLCwgrs49UwWxKGDh3qNJNrt9uVnJyscuXKyWKxlEgNqampqly5sg4ePKjQ0NASOSYYd29gzL2DcfcOxt07GHfvKOlxNwxDZ86cUXR09GX7ejXMhoeHy2q1Kikpyak9KSlJUVFRLreJioryqL/NZpPNZnNqK126dOGLvgKhoaH8wfMCxr3kMebewbh7B+PuHYy7d5TkuF9uRjaXV78A5u/vryZNmmjRokWONrvdrkWLFik2NtblNrGxsU79JWnBggX59gcAAMC1y+vLDBISEhQfH6+mTZuqWbNmGjt2rNLS0tS3b19JUu/evVWxYkWNGjVKkvTMM8+oTZs2evfdd9W5c2d98cUX+vXXX/Xhhx968zQAAADgBV4Psz169NDx48c1bNgwHT16VA0bNtS8efMcX/I6cOCAfHz+mkBu0aKFpk+frpdeekkvvPCCatSoodmzZ+umm27y1ilcls1mU2JiYp7lDihejHvJY8y9g3H3DsbdOxh377iax91iuHPPAwAAAOAq5PWHJgAAAACFRZgFAACAaRFmAQAA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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAASNlJREFUeJzt3Xd4FPXaxvF70zYJEFogoYcmRSlSDYqgglEwiooC8kIoBxtRMAcVVAjIq1gQsSAcC9howgFejnDQGERUoiAQKVKkiSIJIEJCgGSTnfcPzMqyaQubDAPfz3XlMvub38w882Q4585kdtZmGIYhAAAAwIL8zC4AAAAAOF+EWQAAAFgWYRYAAACWRZgFAACAZRFmAQAAYFmEWQAAAFgWYRYAAACWRZgFAACAZRFmAQAAYFmEWQC4hK1atUo2m02rVq1yjQ0aNEhRUVHFrrtv3z7ZbDa9//77Pq0pKipKgwYN8uk2AVy+CLPAZeatt96SzWZTx44dzS4Fl7A1a9Zo/PjxOnbsmNmllKp169YpPj5eV155pcqVK6e6devq3nvv1c6dO03dFnA5CTC7AABla/bs2YqKitLatWu1a9cuNWrUyOySUMbeeecdOZ3OUt3HmjVrNGHCBA0aNEiVKlVyW7Zjxw75+V0a11JefPFFffvtt7rnnnvUsmVLpaWl6c0331SbNm303Xff6aqrrjJlW8DlhDALXEb27t2rNWvWaNGiRXrggQc0e/ZsJSYmml1WgbKyslSuXDmzy7gkBQYGmrp/u91u6v59KSEhQXPmzFFQUJBrrE+fPmrRooVeeOEFffzxx6ZsC7icXBq/GgMokdmzZ6ty5crq2bOnevfurdmzZxc479ixY3rssccUFRUlu92u2rVra+DAgTpy5IhrzunTpzV+/HhdccUVCg4OVo0aNXTXXXdp9+7dkgq+V1Mq+D7MQYMGqXz58tq9e7d69OihChUqqH///pKkr7/+Wvfcc4/q1q0ru92uOnXq6LHHHtOpU6c86t6+fbvuvfdeVatWTSEhIWrSpImefvppSdKXX34pm82mxYsXe6w3Z84c2Ww2paSkFNm/Y8eOaeTIkapTp47sdrsaNWqkF1980e0qZ/7xTZ48WW+//bYaNmwou92u9u3ba926dUVu/4cffpDNZtMHH3zgseyzzz6TzWbTp59+Kkn65Zdf9PDDD6tJkyYKCQlR1apVdc8992jfvn1F7kMq+J7ZY8eOadCgQapYsaIqVaqkuLi4Am8R2LRpkwYNGqQGDRooODhYkZGRGjJkiP744w/XnPHjx+vxxx+XJNWvX182m002m81VW0H3zO7Zs0f33HOPqlSpotDQUF1zzTVatmyZ25z8c+qTTz7Rc889p9q1ays4OFg33XSTdu3aVexxl5Q3P4dOnTq5hU9Jaty4sa688kpt27bNq/36clvA5YQrs8BlZPbs2brrrrsUFBSkfv36afr06Vq3bp3at2/vmnPixAl17txZ27Zt05AhQ9SmTRsdOXJES5cu1W+//abw8HDl5eXptttuU3Jysvr27asRI0YoMzNTSUlJ2rJlixo2bOh1bbm5uYqJidF1112nyZMnKzQ0VJK0YMECnTx5Ug899JCqVq2qtWvX6o033tBvv/2mBQsWuNbftGmTOnfurMDAQN1///2KiorS7t279Z///EfPPfecunbtqjp16mj27Nm68847PfrSsGFDRUdHF1rfyZMn1aVLFx04cEAPPPCA6tatqzVr1mjMmDE6ePCgpk6d6jZ/zpw5yszM1AMPPCCbzaaXXnpJd911l/bs2VPoldF27dqpQYMG+uSTTxQXF+e2bP78+apcubJiYmIknbm/cs2aNerbt69q166tffv2afr06eratat++uknV/9KwjAM3XHHHfrmm2/04IMPqlmzZlq8eLFHDZKUlJSkPXv2aPDgwYqMjNTWrVv19ttva+vWrfruu+9ks9l01113aefOnZo7d65effVVhYeHS5KqVatW4P7T09PVqVMnnTx5Uo8++qiqVq2qDz74QLfffrsWLlzo8fN64YUX5Ofnp1GjRun48eN66aWX1L9/f33//fclPuaiePNzKIhhGEpPT9eVV155wbX4clvAJcsAcFn44YcfDElGUlKSYRiG4XQ6jdq1axsjRoxwmzdu3DhDkrFo0SKPbTidTsMwDGPmzJmGJGPKlCmFzvnyyy8NScaXX37ptnzv3r2GJGPWrFmusbi4OEOSMXr0aI/tnTx50mNs0qRJhs1mM3755RfX2PXXX29UqFDBbezsegzDMMaMGWPY7Xbj2LFjrrFDhw4ZAQEBRmJiosd+zjZx4kSjXLlyxs6dO93GR48ebfj7+xv79+93O76qVasaR48edc37v//7P0OS8Z///KfI/YwZM8YIDAx0Wzc7O9uoVKmSMWTIENdYQX1JSUkxJBkffviha6ygn0NcXJxRr1491+slS5YYkoyXXnrJNZabm2t07tzZ42dV0H7nzp1rSDJWr17tGnv55ZcNScbevXs95terV8+Ii4tzvR45cqQhyfj6669dY5mZmUb9+vWNqKgoIy8vz+1YmjVrZmRnZ7vmvvbaa4YkY/PmzR77Ol8l/TkU5KOPPjIkGe+9994F1+HLbQGXKm4zAC4Ts2fPVkREhG644QZJks1mU58+fTRv3jzl5eW55v373/9Wq1atPK6G5a+TPyc8PFyPPPJIoXPOx0MPPeQxFhIS4vo+KytLR44cUadOnWQYhjZu3ChJOnz4sFavXq0hQ4aobt26hdYzcOBAZWdna+HCha6x+fPnKzc3V//zP/9TZG0LFixQ586dVblyZR05csT11a1bN+Xl5Wn16tVu8/v06aPKlSu7Xnfu3FnSmT+nF6VPnz5yOBxatGiRa+zzzz/XsWPH1KdPnwL74nA49Mcff6hRo0aqVKmSNmzYUOQ+zrV8+XIFBAS49d/f37/An+/Z+z19+rSOHDmia665RpK83u/Z++/QoYOuu+4611j58uV1//33a9++ffrpp5/c5g8ePNjtz/El7a03SvpzONf27ds1fPhwRUdHF3hl2xu+3BZwKSPMApeBvLw8zZs3TzfccIP27t2rXbt2adeuXerYsaPS09OVnJzsmrt79+5i3zW9e/duNWnSRAEBvrtTKSAgQLVr1/YY379/vwYNGqQqVaqofPnyqlatmrp06SJJOn78uKS/Q0xxdTdt2lTt27d3u1d49uzZuuaaa4p9qsPPP/+sFStWqFq1am5f3bp1kyQdOnTIbf65oTo/2P75559F7qdVq1Zq2rSp5s+f7xqbP3++wsPDdeONN7rGTp06pXHjxrnu3w0PD1e1atV07NgxV19K6pdfflGNGjVUvnx5t/EmTZp4zD169KhGjBihiIgIhYSEqFq1aqpfv74keb3fs/df0L6aNWvmWn628+ltTk6O0tLS3L7O/iXuXCX9OZwtLS1NPXv2VMWKFbVw4UL5+/sXuv3i+HJbwKWOe2aBy8DKlSt18OBBzZs3T/PmzfNYPnv2bN18880+3WdhV2gLCxB2u93jcU15eXnq3r27jh49qieffFJNmzZVuXLldODAAQ0aNOi8Hi81cOBAjRgxQr/99puys7P13Xff6c033yx2PafTqe7du+uJJ54ocPkVV1zh9rqw8GEYRrH76tOnj5577jkdOXJEFSpU0NKlS9WvXz+3Xx4eeeQRzZo1SyNHjlR0dLQqVqwom82mvn37lupjt+69916tWbNGjz/+uFq3bq3y5cvL6XTqlltuKfXHfeU7n96uWbPG9VeJfHv37i3ywyNK8nPId/z4cd166606duyYvv76a9WsWbNkB1MAX24LuBwQZoHLwOzZs1W9enVNmzbNY9miRYu0ePFizZgxQyEhIWrYsKG2bNlS5PYaNmyo77//Xg6Ho9A3M+VfLTv3HfHnXmUryubNm7Vz50598MEHGjhwoGs8KSnJbV6DBg0kqdi6Jalv375KSEjQ3LlzderUKQUGBhb5Z+N8DRs21IkTJ1xXYktTnz59NGHCBP373/9WRESEMjIy1LdvX7c5CxcuVFxcnF555RXX2OnTp8/rQwrq1aun5ORknThxwu3q7I4dO9zm/fnnn0pOTtaECRM0btw41/jPP//ssU1vbjepV6+ex76kM39mz19+oVq1auVx3kRGRha5Tkl+DtKZvsfGxmrnzp364osv1Lx58/Ou05fbAi4X3GYAXOJOnTqlRYsW6bbbblPv3r09vuLj45WZmamlS5dKku6++279+OOPBT7CKv/K1913360jR44UeEUzf069evXk7+/vcS/pW2+9VeLa86/AnX3FzTAMvfbaa27zqlWrpuuvv14zZ87U/v37C6wnX3h4uG699VZ9/PHHmj17tm655RbXu+2Lcu+99yolJUWfffaZx7Jjx44pNze3xMdVnGbNmqlFixaaP3++5s+frxo1auj66693m+Pv7+9xbG+88UaRfzovTI8ePZSbm6vp06e7xvLy8vTGG2947FPy7Om5T3KQ5HpGcEnCdY8ePbR27Vq3R6NlZWXp7bffVlRUlE8CXeXKldWtWze3r+Dg4CLXKcnPIS8vT3369FFKSooWLFhQ5BMxiuPLbQGXE67MApe4pUuXKjMzU7fffnuBy6+55hpVq1ZNs2fPVp8+ffT4449r4cKFuueeezRkyBC1bdtWR48e1dKlSzVjxgy1atVKAwcO1IcffqiEhAStXbtWnTt3VlZWlr744gs9/PDDuuOOO1SxYkXdc889euONN2Sz2dSwYUN9+umnHveWFqVp06Zq2LCh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uT75OpWT59X8oj5t9Gy33XabqlWr5vEJpCdOnNCCBQs0dOhQ/fHHH+rXr59q1aql0NBQtWjRQnPnzvWqF7t379Ydd9yhiIgIlS9fXu3bt9cXX3zhNic7O1tPPvmk6tSpI7vdrkaNGum9995zLd+6datuu+02hYWFqUKFCurcubN2794tqeDbHHr16qVBgwa5XkdFRWnixIkaOHCgwsLCdP/990uSnnzySV1xxRUKDQ1VgwYNNHbsWDkcDrdt/ec//1H79u0VHBys8PBw3XnnnZKkZ599VldddZXH8bZu3Vpjx471qkfe4DmzAACg1J1y5Kn5uM9M2fdPz8YoNKj4yBMQEKCBAwfq/fff19NPP+16dNSCBQuUl5enfv366cSJE2rbtq2efPJJhYWFadmyZRowYIAaNmyoDh06lKieEydOqEePHnruuedkt9v14YcfKjY2Vjt27FDdunUlSQMHDlRKSopef/11tWrVSnv37tWRI0ckSQcOHND111+vrl27auXKlQoLC9O3336r3Nxcr/oyefJkjRs3TomJia6xChUq6P3331fNmjW1efNmDRs2TBUqVNCoUaMkScuWLdOdd96pp59+Wh9++KFycnK0fPlySdKQIUM0YcIErVu3Tu3bt5ckbdy4UZs2bdKiRYu8qs0bhFkAAIC/DBkyRC+//LK++uorde3aVdKZWwzuvvtuVaxYURUrVnQFO0l65JFH9Nlnn+mTTz4pcZht1aqVWrVq5Xo9ceJELV68WEuXLlV8fLx27typTz75RElJSerWrZskqUGDBq7506ZNU8WKFTVv3jwFBgZKkq644gqvj/XGG2/UP//5T7exZ555xvV9VFSURo0apXnz5rmOedKkSerbt68mTJjgdjySVLt2bcXExGjWrFmuMDtr1ix16dLFrX5fI8wCAIBSFxLor5+ejbng7TidTmVmZKpCWIUSfyhDSGDJP12qadOm6tSpk2bOnKmuXbtq165d+vrrr/Xss89KkvLy8vT888/rk08+0YEDB5STk6Ps7GyvPunsxIkTGj9+vJYtW6aDBw8qNzdXp06d0v79+yVJqamp8vf3V5cuXQpcPzU1VZ07d3YF2fPVrl07j7H58+fr9ddf1+7du3XixAnl5uYqLCzMbd/Dhg0rdJvDhg3TkCFDNGXKFPn5+WnOnDl69dVXL6jO4hBmAQBAqbPZbCX6U39xnE6ncoP8FRoUUGqfMDZ06FA98sgjmjZtmmbNmqWGDRu6guXLL7+s1157TVOnTlWLFi1Urlw5jRw50qs3UI0aNUpJSUmaPHmyGjVqpJCQEPXu3du1jZCQkCLXL265n5+fx33C5973KknlypVze52SkqL+/ftrwoQJiomJcV39feWVV0q879jYWNntdi1evFhBQUFyOBzq3bt3ketcKN4ABgAAcJZ7773XdVXxww8/1JAhQ1z3z3777be644479D//8z9q1aqVGjRooJ07d3q1/W+//VaDBg3SnXfeqRYtWigyMlL79u1zLW/RooWcTqe++uqrAtdv2bKlvv766wIDqiRVq1ZNBw8edL3Oy8vTli1biq1rzZo1qlevnp5++mm1a9dOjRs31i+//OKx7+Tk5EK3ERAQoLi4OM2aNUuzZs1S3759iw3AF4owCwAAcJby5curT58+GjNmjA4ePOj2FIDGjRsrKSlJa9as0bZt2/TAAw8oPT3dq+03btxYixYtUmpqqn788Ufdd999cjqdruVRUVGKi4vTkCFDtGTJEu3du1erVq3SJ598IkmKj49XRkaG+vbtqx9++EE///yzPvroI+3YsUPSmXthly1bpmXLlmn79u166KGHdOzYsRLVtX//fs2bN0+7d+/W66+/rsWLF7vNGTt2rObOnavExERt27ZNmzdv1osvvug25x//+IdWrlypFStWaMiQIV715nwQZgEAAM4xdOhQ/fnnn4qJiVHNmjVd488884zatGmjmJgYde3aVZGRkerVq5dX254yZYoqV66sTp06KTY2VjExMWrTpo3bnOnTp6t37956+OGH1bRpUw0bNkxZWVmSpKpVq2rlypU6ceKEunTporZt2+qdd95x3UM7ZMgQxcXFaeDAga43X91www3F1nX77bfrscceU3x8vFq3bq01a9Z4PFKra9euWrBggZYuXarWrVvrxhtv1Nq1a93mNG7cWJ06dVLTpk3VsWNHr3pzPmxGSR++donIyMhQxYoVdfz4cbcbmkuLw+HQ8uXL1aNHjwu+URslR9/NQd/NQd/NQd8Ld/r0ae3du1f169dXcHCwT7ftdDqVkZGhsLCwUrtnFp686bthGGrcuLEefvhhJSQkFDqvqPPEm7zGG8AAAADgE4cPH9a8efOUlpamwYMHl8k+CbMAAADwierVqys8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aWlpysnJUVBQkMc6drtddrvdYzwwMLBM/xGU9f5wBn03B303B303B303B303R1n13Zt9mPZorqCgILVt21bJycmuMafTqeTkZEVHRxe4zrXXXqtdu3bJ6XS6xnbu3KkaNWoUGGQBAABwaTP1ObMJCQl655139MEHH2jbtm166KGHlJWV5Xq6wcCBA93eIPbQQw/p6NGjGjFihHbu3Klly5bp+eef1/Dhw806BAAAAJjI1Htm+/Tpo8OHD2vcuHFKS0tT69attWLFCtebwvbv3y8/v7/zdp06dfTZZ5/pscceU8uWLVWrVi2NGDFCTz75pFmHAAAAABOZ/gaw+Ph4xcfHF7hs1apVHmPR0dH67rvvSrkqAAAAWIHpH2cLAAAAnC/CLAAAACyLMAsAAADL8jrMRkVF6dlnn9X+/ftLox4AAACgxLwOsyNHjtSiRYvUoEEDde/eXfPmzVN2dnZp1AYAAAAU6bzCbGpqqtauXatmzZrpkUceUY0aNRQfH68NGzaURo0AAABAgc77ntk2bdro9ddf1++//67ExES9++67at++vVq3bq2ZM2fKMAxf1gkAAAB4OO/nzDocDi1evFizZs1SUlKSrrnmGg0dOlS//fabnnrqKX3xxReaM2eOL2sFAAAA3HgdZjds2KBZs2Zp7ty58vPz08CBA/Xqq6+qadOmrjl33nmn2rdv79NCAQAAgHN5HWbbt2+v7t27a/r06erVq5cCAwM95tSvX199+/b1SYEAAABAYbwOs3v27FG9evWKnFOuXDnNmjXrvIsCAAAASsLrN4AdOnRI33//vcf4999/rx9++MEnRQEAAAAl4XWYHT58uH799VeP8QMHDmj48OE+KQoAAAAoCa/D7E8//aQ2bdp4jF999dX66aeffFIUAAAAUBJeh1m73a709HSP8YMHDyog4Lyf9AUAAAB4zeswe/PNN2vMmDE6fvy4a+zYsWN66qmn1L17d58WBwAAABTF60upkydP1vXXX6969erp6quvliSlpqYqIiJCH330kc8LBAAAAArjdZitVauWNm3apNmzZ+vHH39USEiIBg8erH79+hX4zFkAAACgtJzXTa7lypXT/fff7+taAAAAAK+c9zu2fvrpJ+3fv185OTlu47fffvsFFwUAAACUxHl9Atidd96pzZs3y2azyTAMSZLNZpMk5eXl+bZCAAAAoBBeP81gxIgRql+/vg4dOqTQ0FBt3bpVq1evVrt27bRq1apSKBEAAAAomNdXZlNSUrRy5UqFh4fLz89Pfn5+uu666zRp0iQ9+uij2rhxY2nUCQAAAHjw+spsXl6eKlSoIEkKDw/X77//LkmqV6+eduzY4dvqAAAAgCJ4fWX2qquu0o8//qj69eurY8eOeumllxQUFKS3335bDRo0KI0aAQAAgAJ5HWafeeYZZWVlSZKeffZZ3XbbbercubOqVq2q+fPn+7xAAAAAoDBeh9mYmBjX940aNdL27dt19OhRVa5c2fVEAwAAAKAseHXPrMPhUEBAgLZs2eI2XqVKFYIsAAAAypxXYTYwMFB169blWbIAAAC4KHj9NIOnn35aTz31lI4ePVoa9QAAAAAl5vU9s2+++aZ27dqlmjVrql69eipXrpzb8g0bNvisOAAAAKAoXofZXr16lUIZAAAAgPe8DrOJiYmlUQcAAADgNa/vmQUAAAAuFl5fmfXz8yvyMVw86QAAAABlxeswu3jxYrfXDodDGzdu1AcffKAJEyb4rDAAAACgOF6H2TvuuMNjrHfv3rryyis1f/58DR061CeFAQAAAMXx2T2z11xzjZKTk321OQAAAKBYPgmzp06d0uuvv65atWr5YnMAAABAiXh9m0HlypXd3gBmGIYyMzMVGhqqjz/+2KfFAQAAAEXxOsy++uqrbmHWz89P1apVU8eOHVW5cmWfFgcAAAAUxeswO2jQoFIoAwAAAPCe1/fMzpo1SwsWLPAYX7BggT744AOfFAUAAACUhNdhdtKkSQoPD/cYr169up5//nmfFAUAAACUhNdhdv/+/apfv77HeL169bR//36fFAUAAACUhNdhtnr16tq0aZPH+I8//qiqVav6pCgAAACgJLwOs/369dOjjz6qL7/8Unl5ecrLy9PKlSs1YsQI9e3btzRqBAAAAArk9dMMJk6cqH379ummm25SQMCZ1Z1OpwYOHMg9swAAAChTXofZoKAgzZ8/X//7v/+r1NRUhYSEqEWLFqpXr15p1AcAAAAUyuswm69x48Zq3LixL2sBAAAAvOL1PbN33323XnzxRY/xl156Sffcc49PigIAAABKwuswu3r1avXo0cNj/NZbb9Xq1at9UhQAAABQEl6H2RMnTigoKMhjPDAwUBkZGT4pCgAAACgJr8NsixYtNH/+fI/xefPmqXnz5j4pCgAAACgJr98ANnbsWN11113avXu3brzxRklScnKy5syZo4ULF/q8QAAAAKAwXofZ2NhYLVmyRM8//7wWLlyokJAQtWrVSitXrlSVKlVKo0YAAACgQOf1aK6ePXuqZ8+ekqSMjAzNnTtXo0aN0vr165WXl+fTAgEAAIDCeH3PbL7Vq1crLi5ONWvW1CuvvKIbb7xR3333nS9rAwAAAIrk1ZXZtLQ0vf/++3rvvfeUkZGhe++9V9nZ2VqyZAlv/gIAAECZK/GV2djYWDVp0kSbNm3S1KlT9fvvv+uNN94ozdoAAACAIpX4yux///tfPfroo3rooYf4GFsAAABcFEp8Zfabb75RZmam2rZtq44dO+rNN9/UkSNHSrM2AAAAoEglDrPXXHON3nnnHR08eFAPPPCA5s2bp5o1a8rpdCopKUmZmZmlWScAAADgweunGZQrV05DhgzRN998o82bN+uf//ynXnjhBVWvXl233357adQIAAAAFOi8H80lSU2aNNFLL72k3377TXPnzvVVTQAAAECJXFCYzefv769evXpp6dKlvtgcAAAAUCI+CbMXatq0aYqKilJwcLA6duyotWvXlmi9efPmyWazqVevXqVbIAAAAC5KpofZ+fPnKyEhQYmJidqwYYNatWqlmJgYHTp0qMj19u3bp1GjRqlz585lVCkAAAAuNqaH2SlTpmjYsGEaPHiwmjdvrhkzZig0NFQzZ84sdJ28vDz1799fEyZMUIMGDcqwWgAAAFxMvPo4W1/LycnR+vXrNWbMGNeYn5+funXrppSUlELXe/bZZ1W9enUNHTpUX3/9dZH7yM7OVnZ2tut1RkaGJMnhcMjhcFzgERQvfx9lsS/8jb6bg76bg76bg76bg76bo6z77s1+TA2zR44cUV5eniIiItzGIyIitH379gLX+eabb/Tee+8pNTW1RPuYNGmSJkyY4DH++eefKzQ01Ouaz1dSUlKZ7Qt/o+/moO/moO/moO/moO/mKKu+nzx5ssRzTQ2z3srMzNSAAQP0zjvvKDw8vETrjBkzRgkJCa7XGRkZqlOnjm6++WaFhYWVVqkuDodDSUlJ6t69uwIDA0t9fziDvpuDvpuDvpuDvpuDvpujrPue/5f0kjA1zIaHh8vf31/p6elu4+np6YqMjPSYv3v3bu3bt0+xsbGuMafTKUkKCAjQjh071LBhQ7d17Ha77Ha7x7YCAwPL9B9BWe8PZ9B3c9B3c9B3c9B3c9B3c5RV373Zh6lvAAsKClLbtm2VnJzsGnM6nUpOTlZ0dLTH/KZNm2rz5s1KTU11fd1+++264YYblJqaqjp16pRl+QAAADCZ6bcZJCQkKC4uTu3atVOHDh00depUZWVlafDgwZKkgQMHqlatWpo0aZKCg4N11VVXua1fqVIlSfIYBwAAwKXP9DDbp08fHT58WOPGjVNaWppat26tFStWuN4Utn//fvn5mf4EMQAAAFyETA+zkhQfH6/4+PgCl61atarIdd9//33fFwQAAABL4JInAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMu6KMLstGnTFBUVpeDgYHXs2FFr164tdO4777yjzp07q3LlyqpcubK6detW5HwAAABcukwPs/Pnz1dCQoISExO1YcMGtWrVSjExMTp06FCB81etWqV+/frpyy+/VEpKiurUqaObb75ZBw4cKOPKAQAAYDbTw+yUKVM0bNgwDR48WM2bN9eMGTMUGhqqmTNnFjh/9uzZevjhh9W6dWs1bdpU7777rpxOp5KTk8u4cgAAAJgtwMyd5+TkaP369RozZoxrzM/PT926dVNKSkqJtnHy5Ek5HA5VqVKlwOXZ2dnKzs52vc7IyJAkORwOORyOC6i+ZPL3URb7wt/ouznouznouznouznouznKuu/e7MdmGIZRirUU6ffff1etWrW0Zs0aRUdHu8afeOIJffXVV/r++++L3cbDDz+szz77TFu3blVwcLDH8vHjx2vChAke43PmzFFoaOiFHQAAAAB87uTJk7rvvvt0/PhxhYWFFTnX1CuzF+qFF17QvHnztGrVqgKDrCSNGTNGCQkJrtcZGRmu+2yLa44vOBwOJSUlqXv37goMDCz1/eEM+m4O+m4O+m4O+m4O+m6Osu57/l/SS8LUMBseHi5/f3+lp6e7jaenpysyMrLIdSdPnqwXXnhBX3zxhVq2bFnoPLvdLrvd7jEeGBhYpv8Iynp/OIO+m4O+m4O+m4O+m4O+m6Os+u7NPkx9A1hQUJDatm3r9uat/DdznX3bwbleeuklTZw4UStWrFC7du3KolQAAABchEy/zSAhIUFxcXFq166dOnTooKlTpyorK0uDBw+WJA0cOFC1atXSpEmTJEkvvviixo0bpzlz5igqKkppaWmSpPLly6t8+fKmHQcAAADKnulhtk+fPjp8+LDGjRuntLQ0tW7dWitWrFBERIQkaf/+/fLz+/sC8vTp05WTk6PevXu7bScxMVHjx48vy9IBAABgMtPDrCTFx8crPj6+wGWrVq1ye71v377SLwgAAACWYPqHJgAAAADnizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAy7oowuy0adMUFRWl4OBgdezYUWvXri1y/oIFC9S0aVMFBwerRYsWWr58eRlVCgAAgIuJ6WF2/vz5SkhIUGJiojZs2KBWrVopJiZGhw4dKnD+mjVr1K9fPw0dOlQbN25Ur1691KtXL23ZsqWMKwcAAIDZTA+zU6ZM0bBhwzR48GA1b95cM2bMUGhoqGbOnFng/Ndee0233HKLHn/8cTVr1kwTJ05UmzZt9Oabb5Zx5QAAADBbgJk7z8nJ0fr16zVmzBjXmJ+fn7p166aUlJQC10lJSVFCQoLbWExMjJYsWVLg/OzsbGVnZ7teHz9+XJJ09OhRORyOCzyC4jkcDp08eVJ//PGHAgMDS31/OIO+m4O+m4O+m4O+m4O+m6Os+56ZmSlJMgyj2LmmhtkjR44oLy9PERERbuMRERHavn17geukpaUVOD8tLa3A+ZMmTdKECRM8xuvXr3+eVQMAAKAsZGZmqmLFikXOMTXMloUxY8a4Xcl1Op06evSoqlatKpvNVur7z8jIUJ06dfTrr78qLCys1PeHM+i7Oei7Oei7Oei7Oei7Ocq674ZhKDMzUzVr1ix2rqlhNjw8XP7+/kpPT3cbT09PV2RkZIHrREZGejXfbrfLbre7jVWqVOn8iz5PYWFh/KMzAX03B303B303B303B303R1n2vbgrsvlMfQNYUFCQ2rZtq+TkZNeY0+lUcnKyoqOjC1wnOjrabb4kJSUlFTofAAAAly7TbzNISEhQXFyc2rVrpw4dOmjq1KnKysrS4MGDJUkDBw5UrVq1NGnSJEnSiBEj1KVLF73yyivq2bOn5s2bpx9++EFvv/22mYcBAAAAE5geZvv06aPDhw9r3LhxSktLU+vWrbVixQrXm7z2798vP7+/LyB36tRJc+bM0TPPPKOnnnpKjRs31pIlS3TVVVeZdQhFstvtSkxM9LjVAaWLvpuDvpuDvpuDvpuDvpvjYu67zSjJMw8AAACAi5DpH5oAAAAAnC/CLAAAACyLMAsAAADLIswCAADAsgizF2j16tWKjY1VzZo1ZbPZtGTJkmLXWbVqldq0aSO73a5GjRrp/fffL/U6LzXe9n3VqlWy2WweX4V9DDI8TZo0Se3bt1eFChVUvXp19erVSzt27Ch2vQULFqhp06YKDg5WixYttHz58jKo9tJxPn1///33Pc714ODgMqr40jB9+nS1bNnS9YD46Oho/fe//y1yHc71C+dt3znXS8cLL7wgm82mkSNHFjnvYjnnCbMXKCsrS61atdK0adNKNH/v3r3q2bOnbrjhBqWmpmrkyJH6xz/+oc8++6yUK720eNv3fDt27NDBgwddX9WrVy+lCi89X331lYYPH67vvvtOSUlJcjgcuvnmm5WVlVXoOmvWrFG/fv00dOhQbdy4Ub169VKvXr20ZcuWMqzc2s6n79KZT+k5+1z/5ZdfyqjiS0Pt2rX1wgsvaP369frhhx9044036o477tDWrVsLnM+57hve9l3iXPe1devW6V//+pdatmxZ5LyL6pw34DOSjMWLFxc554knnjCuvPJKt7E+ffoYMTExpVjZpa0kff/yyy8NScaff/5ZJjVdDg4dOmRIMr766qtC59x7771Gz5493cY6duxoPPDAA6Vd3iWrJH2fNWuWUbFixbIr6jJRuXJl49133y1wGed66Smq75zrvpWZmWk0btzYSEpKMrp06WKMGDGi0LkX0znPldkylpKSom7durmNxcTEKCUlxaSKLi+tW7dWjRo11L17d3377bdml2Npx48flyRVqVKl0Dmc775Xkr5L0okTJ1SvXj3VqVOn2CtbKFpeXp7mzZunrKysQj86nXPd90rSd4lz3ZeGDx+unj17epzLBbmYznnTPwHscpOWlub6dLN8ERERysjI0KlTpxQSEmJSZZe2GjVqaMaMGWrXrp2ys7P17rvvqmvXrvr+++/Vpk0bs8uzHKfTqZEjR+raa68t8tP3CjvfuVf5/JS0702aNNHMmTPVsmVLHT9+XJMnT1anTp20detW1a5duwwrtrbNmzcrOjpap0+fVvny5bV48WI1b968wLmc677jTd85131n3rx52rBhg9atW1ei+RfTOU+YxWWhSZMmatKkiet1p06dtHv3br366qv66KOPTKzMmoYPH64tW7bom2++MbuUy0pJ+x4dHe12JatTp05q1qyZ/vWvf2nixImlXeYlo0mTJkpNTdXx48e1cOFCxcXF6auvvio0WME3vOk757pv/PrrrxoxYoSSkpIs+QY6wmwZi4yMVHp6uttYenq6wsLCuCpbxjp06EAYOw/x8fH69NNPtXr16mKvfBR2vkdGRpZmiZckb/p+rsDAQF199dXatWtXKVV3aQoKClKjRo0kSW3bttW6dev02muv6V//+pfHXM513/Gm7+fiXD8/69ev16FDh9z+UpmXl6fVq1frzTffVHZ2tvz9/d3WuZjOee6ZLWPR0dFKTk52G0tKSiryfiCUjtTUVNWoUcPsMizDMAzFx8dr8eLFWrlyperXr1/sOpzvF+58+n6uvLw8bd68mfP9AjmdTmVnZxe4jHO99BTV93Nxrp+fm266SZs3b1Zqaqrrq127durfv79SU1M9gqx0kZ3zZf6Ws0tMZmamsXHjRmPjxo2GJGPKlCnGxo0bjV9++cUwDMMYPXq0MWDAANf8PXv2GKGhocbjjz9ubNu2zZg2bZrh7+9vrFixwqxDsCRv+/7qq68aS5YsMX7++Wdj8+bNxogRIww/Pz/jiy++MOsQLOehhx4yKlasaKxatco4ePCg6+vkyZOuOQMGDDBGjx7tev3tt98aAQEBxuTJk41t27YZiYmJRmBgoLF582YzDsGSzqfvEyZMMD777DNj9+7dxvr1642+ffsawcHBxtatW804BEsaPXq08dVXXxl79+41Nm3aZIwePdqw2WzG559/bhgG53pp8bbvnOul59ynGVzM5zxh9gLlP/Lp3K+4uDjDMAwjLi7O6NKli8c6rVu3NoKCgowGDRoYs2bNKvO6rc7bvr/44otGw4YNjeDgYKNKlSpG165djZUrV5pTvEUV1G9Jbudvly5dXD+DfJ988olxxRVXGEFBQcaVV15pLFu2rGwLt7jz6fvIkSONunXrGkFBQUZERITRo0cPY8OGDWVfvIUNGTLEqFevnhEUFGRUq1bNuOmmm1yByjA410uLt33nXC8954bZi/mctxmGYZTddWAAAADAd7hnFgAAAJZFmAUAAIBlEWYBAABgWYRZAAAAWBZhFgAAAJZFmAUAAIBlEWYBAABgWYRZAAAAWBZhFgAuUzabTUuWLDG7DAC4IIRZADDBoEGDZLPZPL5uueUWs0sDAEsJMLsAALhc3XLLLZo1a5bbmN1uN6kaALAmrswCgEnsdrsiIyPdvipXrizpzC0A06dP16233qqQkBA1aNBACxcudFt/8+bNuvHGGxUSEqKqVavq/vvv14kTJ9zmzJw5U1deeaXsdrtq1Kih+Ph4t+VHjhzRnXfeqdDQUDVu3FhLly4t3YMGAB8jzALARWrs2LG6++679eOPP6p///7q27evtm3bJknKyspSTEyMKleurHXr1mnBggX64osv3MLq9OnTNXz4cN1///3avHmzli5dqkaNGrntY8KECbr33nu1adMm9ejRQ/3799fRo0fL9DgB4ELYDMMwzC4CAC43gwYN0scff6zg4GC38aeeekpPPfWUbDabHnzwQU2fPt217JprrlGbNm301ltv6Z133tGTTz6pX3/9VeXKlZMkLV++XLGxsfr9998VERGhWrVqafDgwfrf//3fAmuw2Wx65plnNHHiRElnAnL58uX13//+l3t3AVgG98wCgEluuOEGt7AqSVWqVHF9Hx0d7bYsOjpaqampkqRt27apVatWriArSddee62cTqd27Nghm82m33//XTfddFORNbRs2dL1fbly5RQWFqZDhw6d7yEBQJkjzAKAScqVK+fxZ39fCQkJKdG8wMBAt9c2m01Op7M0SgKAUsE9swBwkfruu+88Xjdr1kyS1KxZM/3444/KyspyLf/222/l5+enJk2aqEKFCoqKilJycnKZ1gwAZY0rswBgkuzsbKWlpbmNBQQEKDw8XJK0YMECtWvXTtddd51mz56ttWvX6r333pMk9e/fX4mJiYqLi9P48eN1+PBhPfLIIxowYIAiIiIkSePHj9eDDz6o6tWr69Zbb1VmZqa+/fZbPfLII2V7oABQigizAGCSFStWqEaNGm5jTZo00fbt2yWdedLAvHnz9PDDD6tGjRqaO3eumjdvLkkKDQ3VZ599phEjRqh9+/YKDQ3V3XffrSlTpri2FRcXp9OnT+vVV1/VqFGjFB4ert69e5fdAQJAGeBpBgBwEbLZbFq8eLF69epldikAcFHjnlkAAABYFmEWAAAAlsU9swBwEeIOMAAoGa7MAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAy/p/p4KKGPKZNmsAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "epochs = range(1, len(train_losses) + 1)\n", "\n", "# ---- Losses ----\n", "plt.figure(figsize=(8, 5))\n", "plt.plot(epochs, train_losses, label=\"Train loss\")\n", "plt.plot(epochs, val_losses, label=\"Val loss\")\n", "plt.title(\"Évolution des losses (fine-tuning v2_2)\")\n", "plt.xlabel(\"Epoch\")\n", "plt.ylabel(\"Loss\")\n", "plt.legend()\n", "plt.grid(True)\n", "plt.show()\n", "\n", "# ---- Recall feu (1) ----\n", "plt.figure(figsize=(8, 5))\n", "plt.plot(epochs, val_recalls_fire, label=\"Recall feu (1)\")\n", "plt.title(\"Recall classe feu (validation) - v2_2\")\n", "plt.xlabel(\"Epoch\")\n", "plt.ylabel(\"Recall feu (1)\")\n", "plt.ylim(0, 1)\n", "plt.legend()\n", "plt.grid(True)\n", "plt.show()\n", "\n", "# ---- Recall no_fire (0) ----\n", "plt.figure(figsize=(8, 5))\n", "plt.plot(epochs, val_recalls_no_fire, label=\"Recall no_fire (0)\")\n", "plt.title(\"Recall classe no_fire (validation) - v2_2\")\n", "plt.xlabel(\"Epoch\")\n", "plt.ylabel(\"Recall no_fire (0)\")\n", "plt.ylim(0, 1)\n", "plt.legend()\n", "plt.grid(True)\n", "plt.show()\n", "\n", "# ---- Accuracy validation ----\n", "plt.figure(figsize=(8, 5))\n", "plt.plot(epochs, val_accs, label=\"Val accuracy\")\n", "plt.title(\"Accuracy en validation - v2_2\")\n", "plt.xlabel(\"Epoch\")\n", "plt.ylabel(\"Accuracy\")\n", "plt.ylim(0, 1)\n", "plt.legend()\n", "plt.grid(True)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": { "id": "unTAbc7Tyvtz" }, "source": [ "### Val évaluation, classification report, matrices de confusion" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (96631920 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (94487082 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n", "/teamspace/studios/this_studio/.conda/lib/python3.11/site-packages/PIL/Image.py:3432: DecompressionBombWarning: Image size (101859328 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "===== Évaluation sur Validation v2_2_finetuned =====\n", "Loss moyenne : 0.9622\n", "Accuracy : 0.7717\n", "Recall feu (1) : 0.8142\n", "Recall no_fire (0) : 0.6472\n", "\n", "--- Classification report {split_name} ---\n", " precision recall f1-score support\n", "\n", " 0 0.5427 0.6472 0.5903 1247\n", " 1 0.8713 0.8142 0.8418 3659\n", "\n", " accuracy 0.7717 4906\n", " macro avg 0.7070 0.7307 0.7161 4906\n", "weighted avg 0.7878 0.7717 0.7779 4906\n", "\n", "\n", "--- Distribution des classes ---\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
splitfire (1)no_fire (0)total% fire% no_fire
0train2551358923140581.2418.76
1val36591247490674.5825.42
2train+val2917271393631180.3419.66
\n", "
" ], "text/plain": [ " split fire (1) no_fire (0) total % fire % no_fire\n", "0 train 25513 5892 31405 81.24 18.76\n", "1 val 3659 1247 4906 74.58 25.42\n", "2 train+val 29172 7139 36311 80.34 19.66" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "--- Matrice de confusion (brute) ---\n", "[[ 807 440]\n", " [ 680 2979]]\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "--- Matrice de confusion (normalisée) ---\n", "[[0.6472 0.3528]\n", " [0.1858 0.8142]]\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "results_val_v2_2 = evaluate_model(\n", " model=model,\n", " loader=val_loader,\n", " device=device,\n", " loss_fn=loss_fn,\n", " split_name=\"Validation v2_2_finetuned\"\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 12. Comparaison entrainements" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "v2_1 - Recall feu : 0.7704290789833288\n", "v2_2 - Recall feu : 0.8141568734626947\n", "v2_1 - Recall no_fire : 0.7794707297514034\n", "v2_2 - Recall no_fire : 0.6471531676022454\n" ] } ], "source": [ "print(\"v2_1 - Recall feu :\", results_val[\"recall_fire\"])\n", "print(\"v2_2 - Recall feu :\", results_val_v2_2[\"recall_fire\"])\n", "\n", "print(\"v2_1 - Recall no_fire :\", results_val[\"recall_no_fire\"])\n", "print(\"v2_2 - Recall no_fire :\", results_val_v2_2[\"recall_no_fire\"])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13. Export du modèle" ] }, { "cell_type": "markdown", "metadata": { "id": "wR2xNPOoCfEh" }, "source": [ "### Sauvegarder les poids du modèle dans Colab" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "executionInfo": { "elapsed": 4, "status": "ok", "timestamp": 1763675330327, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "PVgmlaE3Cjbd" }, "outputs": [], "source": [ "# model_path = \"/content/efficientnet_fire.pt\"\n", "# torch.save(model.state_dict(), model_path)\n", "\n", "# print(\"Modèle sauvegardé à :\", model_path)" ] }, { "cell_type": "markdown", "metadata": { "id": "_bfuy5RmC5Sm" }, "source": [ "### Copier le modèle dans le Google Drive" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "executionInfo": { "elapsed": 4, "status": "ok", "timestamp": 1763675330328, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "kEZ73x9yC-kd" }, "outputs": [], "source": [ "# from google.colab import drive\n", "# drive.mount('/content/drive')\n" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "executionInfo": { "elapsed": 3, "status": "ok", "timestamp": 1763675330328, "user": { "displayName": "Nina BIAO", "userId": "01787547558561747396" }, "user_tz": -60 }, "id": "RdIKaL1wDBV6" }, "outputs": [], "source": [ "# drive_model_path = \"/content/drive/MyDrive/Colab_Notebooks/Fire_Detection_Project/Lightning_AI_Merged_Dataset_App_Run/efficientnet_fire.pt\"\n", "\n", "# !cp /content/efficientnet_fire.pt $drive_model_path\n", "\n", "# print(\"Modèle copié dans ton Drive :\", drive_model_path)" ] }, { "cell_type": "markdown", "metadata": { "id": "cDAjuq24PYbk" }, "source": [ "## 14. Intégration dans le dashboard (Streamlit)" ] }, { "cell_type": "markdown", "metadata": { "id": "Ol9FkaV9M8j4" }, "source": [ "Script inference.py" ] }, { "cell_type": "markdown", "metadata": { "id": "cOkF4bRPNBpV" }, "source": [ "Script app.py" ] }, { "cell_type": "markdown", "metadata": { "id": "XNzIn52s88Oo" }, "source": [ "modèle.pt" ] } ], "metadata": { "accelerator": "GPU", "colab": { "authorship_tag": "ABX9TyN9utOYnr3xSfSQMGr81Rsj", "collapsed_sections": [ "KQaA6Onj_yBX", "25SFHB8Ubu9E", "KOeFgTLO9lTE", "7SvQAhRZBoha", "0vCXjzNdB1Bb", "g5qmMg3yOmyt", "sLp-t_3mB8bL", "sP4T761KB-87", "7ke6hckv7_OI", "-ZWr_fHS6BPA", "kchF0c646p04", "sAsH6vHe6obv", "amN1Odv1CMUA" ], "gpuType": "T4", "mount_file_id": "1YiTPEJDRVnI39NJnFg-8djXgyzyg1SKe", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "027a588b9e7a479995120c5095833f05": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "028856ad5e814891989d848e56f18786": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_4e9c1cc5abfa4eb9a94aad8bc5c7fe8d", "max": 389834936, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_8709a1d0041b45d5a13f009f06bf9e9b", "value": 389834936 } }, "029dd99529504121b70328b5a7cd0b59": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "038611466d4f46d89e9673c0595bab6c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "055c447ffd554c729e6b0529df791e5f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "20px" } }, "05e9c78e7f284794be50ceb25153f443": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_1000ba9b3224476aac8389897f1a2ad7", "placeholder": "​", "style": "IPY_MODEL_1c9f6c904d344aabbe3567d2fcd9b8fb", "value": "Resolving data files: 100%" } }, "062febff8426411ba96d6eb72bbbf3c6": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "065a8e3faf3b432382bdb9235ed1b84d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "06eff1030a364d05a96e4941340eec99": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "078dcdb23bba429d89525d1f8a7de173": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "07d0d77fd65040eea64951c4e09df711": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_248fe2bcbb444023a445a887bf688b27", "IPY_MODEL_2c8b82db845344cc94e150e40d424351", "IPY_MODEL_c69c8e2290ef455b86200857c3482106" ], "layout": "IPY_MODEL_7981ffa7b98143c292112a3d7c351add" } }, "07f2ef73c0d54687902b26f1fbf8841f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0b2e60ff42034c60a5b550dada4d1566": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "0b8ceec04573495e97034284df7436a9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_5e377375f0f8451e8551c294bdfb436a", "max": 480959863, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_d6782238a7b546f480a7669b44b2e62c", "value": 480959863 } }, "0c5d84eb22c247f6a000189b36505bd0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "0c76d19ddef248e3814539f16b943ca7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_a6f5cf818c6543e687b0982415358592", "IPY_MODEL_028856ad5e814891989d848e56f18786", "IPY_MODEL_baffcf2fad0f40d18332a4ca5eb34a9a" ], "layout": "IPY_MODEL_5964d89a5815483fb9060f2e11cfb8a6" } }, "0cb85730b37e4d52b356cc7268d8a053": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_55eaca71643f4adaa32ba0b07f80fd10", "IPY_MODEL_5031fa1853e84119acde1d33af311c19", "IPY_MODEL_7c15c0265fe748e6b1ee60646bad9b5c" ], "layout": "IPY_MODEL_34f5906fa607401f8c3b23db2ca07a1f" } }, "0d95308389304777810db83dbc2ce20b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_7a48e555648d460c9610fa5fed9e6b44", "placeholder": "​", "style": "IPY_MODEL_c1a2a9ad14b544eabe341855bce1973e", "value": "Generating test split: " } }, "0de8095dc4304baea4f84788a54f4d7e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c98f1f0aac584814bbfaea37e58f34da", "placeholder": "​", "style": "IPY_MODEL_7ff4ba47703846759c87aefb73fb512c", "value": "Map: 100%" } }, "0f6293184ca64734b574973e0a9be97d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_26560443529f43ef97472416f050f8ba", "max": 90, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_563d0d1c6c24495cae77048f0ed3f5ab", "value": 90 } }, "1000ba9b3224476aac8389897f1a2ad7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1065370f723242f8984e05cf26530cf1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "1148884deba6411d85447b58a797e8fa": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "12517746223248329e57a51f9255697f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "12bca3cd16ac48368ace037f72efa2c7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "14601c70ac0b4386a0e5155fef935bad": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1611597d62fc4d2b84089537386415a0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "1616716dcb284651a96ddf51cea3edea": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "1635f452f3e54cf886963843fd3ad05c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "1648524f76824a668f27c61a9af2c45f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "165a408737884567a22d639f23bf46c8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "19178f0e98784436bac393b6e89ef13a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_ba5c7170e84a4ca399f0635da7a6a64a", "max": 482115894, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_1b0f8759c3ad40308c19ffce8fd824f5", "value": 482115894 } }, "1a5f04da107042059386270c787276bf": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1b06e21554464be2b43aaa6097b5978a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1b0f8759c3ad40308c19ffce8fd824f5": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "1c12f680b75747c89dd70dd1b8bb1809": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_055c447ffd554c729e6b0529df791e5f", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_5e8ce8c0b3504522b5a0cee11d3e5e33", "value": 1 } }, "1c9f6c904d344aabbe3567d2fcd9b8fb": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "1d928394369044a6ad6961f489313873": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_af61668e80554744b12cbe9860637dd6", "placeholder": "​", "style": "IPY_MODEL_d61d8d4963404e53aa89a59de0c1e759", "value": " 4099/4099 [00:04<00:00, 1014.57 examples/s]" } }, "220ebd39ffb54a5fa7117e9660371692": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2b3eca64843040969aeace7a342b344c", "max": 97, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_317456f1105b4faf8854ba57aac48c5b", "value": 97 } }, "222ee258baa24bdabdb63d989e2461c0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_062febff8426411ba96d6eb72bbbf3c6", "placeholder": "​", "style": "IPY_MODEL_28acb5c6aa0d44649d0bbffbf23e70f2", "value": "Map: 100%" } }, "22385e9c909443e1ac83b52f4a9ba5e3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_fa21c96b946c4ce6bbbec3e0235ac678", "placeholder": "​", "style": "IPY_MODEL_76ca0734e39b43eb9f9bcadc204ca040", "value": "Map: 100%" } }, "22c9464c083c4bad803a4cf1a4171064": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "235a6b91beb14f5aba800d0429d89276": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e134c1d2ee63496aad019e492da89330", "placeholder": "​", "style": "IPY_MODEL_e88b8887fbfa4db98b240184334dd524", "value": " 90/90 [00:00<00:00, 2740.38 examples/s]" } }, "236c87878e4a443aa460e47c48951689": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2383e6b3a55a4b4cbe694a564f51ca4f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "248fe2bcbb444023a445a887bf688b27": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_6da849fc98cd4924ae31b73888ad5c57", "placeholder": "​", "style": "IPY_MODEL_1611597d62fc4d2b84089537386415a0", "value": "Generating val split: 100%" } }, "251cd4dabfcd4c91b6ffc6ce5ad9050c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "258c8afacee6490783d004503bf97e15": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "25de4555d95d4f3a9c396a2f76f4ad79": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "26560443529f43ef97472416f050f8ba": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "26ce9144aa264394a3622d1c76eb5dbe": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2752f8ac31bf45a086bb2edfbc22b134": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "276ca767ec374eafbb30eef90b8dddaa": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "28140bf1bb9b40ff93098856da5beeba": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "28530dce656d4eb9ae9c068305aeae05": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "28acb5c6aa0d44649d0bbffbf23e70f2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "297a437ca9b24bdeacd4a183788a33cd": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "2995394d0e53421ca746fd4e0b788f5f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_52affcc64ccd4064950103cb639063bd", "max": 90, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_f2c8cfae2c0f420f9955ad8abd96915b", "value": 90 } }, "2a93bdfdc77d4968aab3b7e1f47d4af8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "2b3eca64843040969aeace7a342b344c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2b5931d786e547ffab49ffe39432cdc4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "2c8b82db845344cc94e150e40d424351": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f10ebb2690704f88948b9d2a61e58eca", "max": 4099, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_f6cefc0ca9074c6c8325e5e632a008c3", "value": 4099 } }, "2d26c4640ed5434fbe51dfd73a98d9e9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "2db14f1ccc1e4433b0126106cb047423": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_3aa3d424726349bea5ac4f713e618cc2", "IPY_MODEL_220ebd39ffb54a5fa7117e9660371692", "IPY_MODEL_54141319eb0c44eeb933a57ccac51cfe" ], "layout": "IPY_MODEL_1a5f04da107042059386270c787276bf" } }, "2ef7f8be1b3e428c8376faca713e64b6": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2ffa2492dc5842fa802c6afef9ffc97b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "317456f1105b4faf8854ba57aac48c5b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "3210be2579d6479ba5b5553153e9dcf4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "322cdbb3af664f82a82f85ede840bcaa": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "32a3f811f6314bf2bce102c09c5b24b1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_1b06e21554464be2b43aaa6097b5978a", "placeholder": "​", "style": "IPY_MODEL_aa94028e495a4f9794675dd8a3c52743", "value": " 7.37k/? [00:00<00:00, 561kB/s]" } }, "32d31eb8238f4c42b09bc57b7da2e9a8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_8b715c248b9d4508b27e9bd75e07280e", "IPY_MODEL_d27265f1667b41cb850aaf7be0729fd5", "IPY_MODEL_aab2e8f673f9478988a45885e8addcba" ], "layout": "IPY_MODEL_650a2502b8e14885b67ffa3a8342449a" } }, "32f01addc4de42718413e1603f522c4e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "33b80482fa904bde88b0f25ffceab2fb": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_b70ec72471b24e8fa8276527acce8219", "IPY_MODEL_d5ae23277cd049e58f4c18f8474919d8", "IPY_MODEL_1d928394369044a6ad6961f489313873" ], "layout": "IPY_MODEL_038611466d4f46d89e9673c0595bab6c" } }, "33c09de7793047c7a3e29e4e9e714610": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_027a588b9e7a479995120c5095833f05", "max": 423, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_9e07016a56ab4faeb4f59b94b547de4a", "value": 423 } }, "34524bc506a849f98088b69ddd43c680": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_4158efb2405d4ee1af980da9cb69329e", "placeholder": "​", "style": "IPY_MODEL_42399cc072df450d958b7153f87580ab", "value": "data/train-00003-of-00006.parquet: 100%" } }, "34f5906fa607401f8c3b23db2ca07a1f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "37bd568af2da43bbb37e1e8a906e51fc": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "385c19dc2ed14de89a5040b8d00b245a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "3868b2895dc84606bf4b49ed7eb0587b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "390758764d414663a370d9289701ed79": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_509ceb3d8ed94bf9acde149149372a21", "placeholder": "​", "style": "IPY_MODEL_a6ae6ce38bb048209025dacc6d3d26d2", "value": "data/train-00000-of-00006.parquet: 100%" } }, "39a229ece0bd42cfbed4a8fd397ee08f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "39d31f47fff340c0856f3b288f720d9a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_cfa15c8637e642169eca830474038029", "max": 29537, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_93644279f33d417a98d3d114562b89d5", "value": 29537 } }, "3aa3d424726349bea5ac4f713e618cc2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_06eff1030a364d05a96e4941340eec99", "placeholder": "​", "style": "IPY_MODEL_e6132baed48449f1b352b9952c13e75e", "value": "Downloading data: 100%" } }, "3c5b1f070d1d40818ea2b939b766b1e4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3c64431d66404104bf2f303273a5841e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "3d2db729758e438093dde27f56333280": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "3d444fb8ae1749079cc5b1fbbbf9ecd7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "3d68373832bc45f5982cf75eda51e349": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "3fc83a03729b41e5a7831ddd42f3b3c1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_3c5b1f070d1d40818ea2b939b766b1e4", "max": 482865791, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_165a408737884567a22d639f23bf46c8", "value": 482865791 } }, "40d934f8c6eb400188290e033b6365d7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "4158efb2405d4ee1af980da9cb69329e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "41b3991d65db41379015a97944dba52e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4210511966aa427da7806a352fe2eb45": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_1148884deba6411d85447b58a797e8fa", "max": 482940251, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_cae6b994c5b34a3bb9c56ddcfbb3647c", "value": 482940251 } }, "4234f98bd38c40deb38c607bcc26fa4a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e1462ab40baf4f8ea689cab53cc84cc1", "placeholder": "​", "style": "IPY_MODEL_1648524f76824a668f27c61a9af2c45f", "value": " 29537/29537 [00:19<00:00, 1344.52 examples/s]" } }, "42399cc072df450d958b7153f87580ab": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "43720b089e1e4625a37a3ba0e3d8cd97": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e8fc86af42fe4bdf91441d7f994f7bd9", "placeholder": "​", "style": "IPY_MODEL_d78ea1ea22c8444295a7b388505a9846", "value": " 423/423 [00:00<00:00, 5528.30it/s]" } }, "445b9556353e449bb8bd96769e2bc644": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "455f6b92fc5645e3b727632325bacf56": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_cd039f9394e84955b69ec8b3d7c4d683", "placeholder": "​", "style": "IPY_MODEL_e7efdd59f10d4f02b6c449c39d11e90f", "value": "Map: 100%" } }, "456bd21616334467b2aba4e8fcbc303b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "467d9bf1568f4164bde63b4f3037b4f4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2383e6b3a55a4b4cbe694a564f51ca4f", "placeholder": "​", "style": "IPY_MODEL_28530dce656d4eb9ae9c068305aeae05", "value": "Generating validation split: " } }, "46fa56bcb25f448ba328df36d302490a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "487d1363a87b4a8db5e0ddc33154e9c2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a96ee20bfa8d47e0942ccade6b61fbcb", "placeholder": "​", "style": "IPY_MODEL_c4d7846fb86d44b58a595da665dd7b08", "value": " 483M/483M [00:06<00:00, 77.7MB/s]" } }, "4c86fa1664b4476293a4b1dadbc5ebd3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4e063f01b7c64fd29a2fd0a336525cf8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_c17f835c7f814dcc86a3c891267258f0", "IPY_MODEL_0f6293184ca64734b574973e0a9be97d", "IPY_MODEL_91776c26cfc44698bed53378d32cd4df" ], "layout": "IPY_MODEL_37bd568af2da43bbb37e1e8a906e51fc" } }, "4e12eb559d1a4248b41df45de39a8984": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_9b4503330fe74a0ea468087a4ed8ee8e", "placeholder": "​", "style": "IPY_MODEL_c3e46f0f68aa4c4facf46d3908160b69", "value": "Map: 100%" } }, "4e9c1cc5abfa4eb9a94aad8bc5c7fe8d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4f2bd171940346368c652ea04bb2b7da": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5031fa1853e84119acde1d33af311c19": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_ee742a3d8cb045ac8e1405f8b371422e", "max": 21355344, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_0b2e60ff42034c60a5b550dada4d1566", "value": 21355344 } }, "508ff1e78fcb4912a68bc68a63582b6f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "509ceb3d8ed94bf9acde149149372a21": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "51f99e28bc7e4df689af9233eec41c7f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_05e9c78e7f284794be50ceb25153f443", "IPY_MODEL_8fd32e222cdc430a9c1131e922f6eaad", "IPY_MODEL_6354b206898a4b039b534e28b69d1464" ], "layout": "IPY_MODEL_5d36d17eb924479ebf680385857d8fc1" } }, "5212b9677a8d4766b6d6f6587b76722b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "529d26e0c69343b3ba08d4fbd00f6126": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "52affcc64ccd4064950103cb639063bd": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "531f0cbeb8eb4cd3b46012613bc6f842": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_0d95308389304777810db83dbc2ce20b", "IPY_MODEL_9dec1036c3da48f78379edfc7ad7e880", "IPY_MODEL_ad9cf81713124af18dbe2ead730cafa7" ], "layout": "IPY_MODEL_a9dd2cfa26e0429eb4cb0c346fb1616d" } }, "538e6b227ce249b1894ab72f20d6e9ff": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "54141319eb0c44eeb933a57ccac51cfe": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_07f2ef73c0d54687902b26f1fbf8841f", "placeholder": "​", "style": "IPY_MODEL_8134972724414f9c9923c02036813ead", "value": " 97/97 [00:00<00:00, 3736.76files/s]" } }, "541cb75209384d789c4e39d074f89f1c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_c6d11036685342cf909fab02262c336b", "IPY_MODEL_4210511966aa427da7806a352fe2eb45", "IPY_MODEL_487d1363a87b4a8db5e0ddc33154e9c2" ], "layout": "IPY_MODEL_9a0c6b149a204ff389c5271c39385772" } }, "55eaca71643f4adaa32ba0b07f80fd10": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e2d114401bc24a38a02e75272dbe5ea4", "placeholder": "​", "style": "IPY_MODEL_f6178bbcebb44d1095d2d46b22a5ef41", "value": "model.safetensors: 100%" } }, "563d0d1c6c24495cae77048f0ed3f5ab": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "57d2d317f9254400ad385db25a465590": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "585dfa7f044445a8a96be79a921bc205": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "58eacfeefc504790be3dad1f83b49a2a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5964d89a5815483fb9060f2e11cfb8a6": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5bc1c2fd08784b0d822d2127c31a22ad": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5d04b99264ed48bead1831bc926958ec": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_258c8afacee6490783d004503bf97e15", "placeholder": "​", "style": "IPY_MODEL_2a93bdfdc77d4968aab3b7e1f47d4af8", "value": "data/train-00004-of-00006.parquet: 100%" } }, "5d36d17eb924479ebf680385857d8fc1": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5d99bbca57874d1295f9afa3defe1c96": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_e656b25e80674924b4d7a008bb23ded7", "IPY_MODEL_94c72ae9936f485aba7e97404e4cd317", "IPY_MODEL_610482cbeae14aba995da08c6d93b4f9" ], "layout": "IPY_MODEL_3210be2579d6479ba5b5553153e9dcf4" } }, "5e377375f0f8451e8551c294bdfb436a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5e8ce8c0b3504522b5a0cee11d3e5e33": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "5f54f8c87a2149dca50bde3c196ec8d4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_222ee258baa24bdabdb63d989e2461c0", "IPY_MODEL_fd24f9abc9e642fdb1ae117471a3c9c9", "IPY_MODEL_235a6b91beb14f5aba800d0429d89276" ], "layout": "IPY_MODEL_c3239db42a6a4fb8acb01b634ef6357e" } }, "5f66bb4879024f6890d60bba21e72b7f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "5f8e97b8337248eabdff99293c57e540": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_6fbba52c95c7418d880c2064b2e412a3", "IPY_MODEL_8dc95f07f074463794353f91799f932a", "IPY_MODEL_32a3f811f6314bf2bce102c09c5b24b1" ], "layout": "IPY_MODEL_f0648bc9b6e4447e959901741f9c4f3b" } }, "610482cbeae14aba995da08c6d93b4f9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_bbe8f811baf444e4b25f2d8dd8d8cb47", "placeholder": "​", "style": "IPY_MODEL_3d2db729758e438093dde27f56333280", "value": " 485M/485M [00:06<00:00, 69.5MB/s]" } }, "623add02aa8a4c6aa28444163f2bcbe6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_7a2b5d74cfb94644ad5070897dc37323", "placeholder": "​", "style": "IPY_MODEL_538e6b227ce249b1894ab72f20d6e9ff", "value": " 90/90 [00:00<00:00, 3539.00files/s]" } }, "629a1a72d1324a63a35293a7cf5d84e2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "62f7abbc46544945a0bee23b4bf34617": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_5d04b99264ed48bead1831bc926958ec", "IPY_MODEL_f2dbda06615d4b178f9b0a6eb391be08", "IPY_MODEL_f032fa15824a42b7ae3a8e100d577abd" ], "layout": "IPY_MODEL_2ef7f8be1b3e428c8376faca713e64b6" } }, "6354b206898a4b039b534e28b69d1464": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d65c35da7dbf4a13ab233c7b786e96c2", "placeholder": "​", "style": "IPY_MODEL_ef21e988c54b4cc7944a5a6922d1f049", "value": " 98/98 [00:00<00:00, 3034.03it/s]" } }, "649d08e896b941778168d283e05a3729": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_7c491a3b5b564a839e8b3a993fc2a1d4", "IPY_MODEL_2995394d0e53421ca746fd4e0b788f5f", "IPY_MODEL_d297a999f6f54077b930afa1ce26e676" ], "layout": "IPY_MODEL_8ef72ccb34bf4bcf9cef93ace54a085e" } }, "650a2502b8e14885b67ffa3a8342449a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6610f0a33210438fa6ce91515a7986a6": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "691b986ebfc146549cb1006ffb274e81": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_508ff1e78fcb4912a68bc68a63582b6f", "placeholder": "​", "style": "IPY_MODEL_1635f452f3e54cf886963843fd3ad05c", "value": " 4099/4099 [00:03<00:00, 1304.86 examples/s]" } }, "69725bfa7ac04fcda80ca678c84fe186": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "6b06f80e902e4e539c9656d35c8ab64c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6bbe3b99c4e14cb6b099e9aaec78123a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_86d0583a2b924ca7bceae2a4f12f3982", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_22c9464c083c4bad803a4cf1a4171064", "value": 1 } }, "6da849fc98cd4924ae31b73888ad5c57": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6fbba52c95c7418d880c2064b2e412a3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a09d30a0ca9f4a7484374a7931757330", "placeholder": "​", "style": "IPY_MODEL_a7f799eee3504064b5f14fb534af0e4c", "value": "README.md: " } }, "73c2322487864186b5342fa27b22d015": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_77c17184a6b54f4eb88a9c2f7e045d00", "placeholder": "​", "style": "IPY_MODEL_f1c9f61b9a484d0ca71395dd30130c17", "value": " 29537/29537 [00:26<00:00, 758.83 examples/s]" } }, "76ca0734e39b43eb9f9bcadc204ca040": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "77c17184a6b54f4eb88a9c2f7e045d00": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "77e77595474f4605b6b5bc5badfc8449": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7981ffa7b98143c292112a3d7c351add": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7a2b5d74cfb94644ad5070897dc37323": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7a48e555648d460c9610fa5fed9e6b44": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7a6e5c6084304c2d8248e43b0425e697": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_22385e9c909443e1ac83b52f4a9ba5e3", "IPY_MODEL_85441f292d21430d9778c612b2f08e66", "IPY_MODEL_d384a8364cb4442284f25dd50c297ec3" ], "layout": "IPY_MODEL_f8781ed0341347659182abf6cc3d9b98" } }, "7c15c0265fe748e6b1ee60646bad9b5c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_078dcdb23bba429d89525d1f8a7de173", "placeholder": "​", "style": "IPY_MODEL_a9479a15f95b4c89b5c4127214379e45", "value": " 21.4M/21.4M [00:01<00:00, 69.3kB/s]" } }, "7c491a3b5b564a839e8b3a993fc2a1d4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_26ce9144aa264394a3622d1c76eb5dbe", "placeholder": "​", "style": "IPY_MODEL_d2029da3ffe44619bab3056abc8e3964", "value": "Resolving data files: 100%" } }, "7c82bc9e779748dd90342f5a62f0f9a7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "7eb6633d9e5143bd855397970061873b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_251cd4dabfcd4c91b6ffc6ce5ad9050c", "placeholder": "​", "style": "IPY_MODEL_5f66bb4879024f6890d60bba21e72b7f", "value": "Generating train split: " } }, "7ff4ba47703846759c87aefb73fb512c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "8134972724414f9c9923c02036813ead": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "81c5c7e742cd4f7c89ae7ef9adf17e9e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_236c87878e4a443aa460e47c48951689", "placeholder": "​", "style": "IPY_MODEL_57d2d317f9254400ad385db25a465590", "value": " 481M/481M [00:07<00:00, 43.9MB/s]" } }, "8492e90bfe9242eaa4cb0a37e9b649d8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_7eb6633d9e5143bd855397970061873b", "IPY_MODEL_6bbe3b99c4e14cb6b099e9aaec78123a", "IPY_MODEL_cc1ae3d6752e4f4a8c064aae30baf120" ], "layout": "IPY_MODEL_dfbdb4cf9bc44d61a4369722c6fc30b3" } }, "85441f292d21430d9778c612b2f08e66": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a61f5652878f40a9b2f09e969267bfa1", "max": 423, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_a814ace4d9d84a319bd3d6bb3ddbae4f", "value": 423 } }, "856c69c2b5fa4addb62700ba09975405": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_ef49b9456f1041a8ad5d74701378c3ea", "IPY_MODEL_33c09de7793047c7a3e29e4e9e714610", "IPY_MODEL_43720b089e1e4625a37a3ba0e3d8cd97" ], "layout": "IPY_MODEL_d86b1abfb4644e35be5244a053822860" } }, "85fb8efe99194fff8edfc87e25bb1d35": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "86d0583a2b924ca7bceae2a4f12f3982": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "20px" } }, "8709a1d0041b45d5a13f009f06bf9e9b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "87b1bc0ecff8489d8f80f879084681f7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8a2a71816f4642c0bf366c4adb35f963": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8b715c248b9d4508b27e9bd75e07280e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_12517746223248329e57a51f9255697f", "placeholder": "​", "style": "IPY_MODEL_902df8eb9c07440eba03946ba0dfb5a5", "value": "Downloading data: 100%" } }, "8bbd8e58417b4bafb05b37f0f4f69025": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "8dc95f07f074463794353f91799f932a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_afa930b62c9340b4b68404a4d634d5db", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_385c19dc2ed14de89a5040b8d00b245a", "value": 1 } }, "8ef72ccb34bf4bcf9cef93ace54a085e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8f6ccf98a08c4fa29a0be38b4f5f972d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "8fd32e222cdc430a9c1131e922f6eaad": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_322cdbb3af664f82a82f85ede840bcaa", "max": 98, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_28140bf1bb9b40ff93098856da5beeba", "value": 98 } }, "902df8eb9c07440eba03946ba0dfb5a5": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "9083aaeb524e4b7f89cf2b2f8d475236": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "91776c26cfc44698bed53378d32cd4df": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d1e54f193a7d41caa2ea58a9e4959b59", "placeholder": "​", "style": "IPY_MODEL_69725bfa7ac04fcda80ca678c84fe186", "value": " 90/90 [01:18<00:00,  1.15 examples/s]" } }, "92f8af95ee2b4b49a4b6ae3b2420a92a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_b508fde0b3194cec845114ee75efe674", "max": 4099, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_297a437ca9b24bdeacd4a183788a33cd", "value": 4099 } }, "93644279f33d417a98d3d114562b89d5": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "9498faa9e0c94045b5f51a3cdde01e10": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_8a2a71816f4642c0bf366c4adb35f963", "max": 90, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_b85b0fb0fb61498da8774254e9cdab58", "value": 90 } }, "94c72ae9936f485aba7e97404e4cd317": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_fcbcfff276b4489fa10132436f7344b9", "max": 485351693, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_445b9556353e449bb8bd96769e2bc644", "value": 485351693 } }, "97836b7dd2634825b3e11086c86921d3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "9a0c6b149a204ff389c5271c39385772": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9b4503330fe74a0ea468087a4ed8ee8e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9cf01e946c54405bb74e07bf430041b5": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9dec1036c3da48f78379edfc7ad7e880": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f76fee2586af4a2e9664c7781b5c883c", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_8bbd8e58417b4bafb05b37f0f4f69025", "value": 1 } }, "9e07016a56ab4faeb4f59b94b547de4a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "9eac6c07af764c27beabc3d203483386": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_0de8095dc4304baea4f84788a54f4d7e", "IPY_MODEL_39d31f47fff340c0856f3b288f720d9a", "IPY_MODEL_b22e3db1900d4255b8ea8d48387b8bf7" ], "layout": "IPY_MODEL_4c86fa1664b4476293a4b1dadbc5ebd3" } }, "9fb9a40554ff4e6cbad2e05666835827": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "a062d3a9eed94eec98d0bb41d9e330d4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a09d30a0ca9f4a7484374a7931757330": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a14f3347620848b2ac88c3d1e4fac37d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a205ac65a9074bd484a8340778f2a68d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "a61f5652878f40a9b2f09e969267bfa1": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a698ced7582643d19a91db9294698aff": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "a6ae6ce38bb048209025dacc6d3d26d2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "a6f5cf818c6543e687b0982415358592": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_6b06f80e902e4e539c9656d35c8ab64c", "placeholder": "​", "style": "IPY_MODEL_c9cde596625446799641b8164a3c45db", "value": "data/val-00000-of-00001.parquet: 100%" } }, "a7ea3a0931d241d28e4ff1a97c705a6d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "a7f799eee3504064b5f14fb534af0e4c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "a814ace4d9d84a319bd3d6bb3ddbae4f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "a9479a15f95b4c89b5c4127214379e45": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "a96ee20bfa8d47e0942ccade6b61fbcb": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a980529f6fd34e4895f4b418fd0942c1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_e4b336cf37e34a57a7659f2634da8c51", "IPY_MODEL_f97706d13c2546318c772067974368d6", "IPY_MODEL_4234f98bd38c40deb38c607bcc26fa4a" ], "layout": "IPY_MODEL_065a8e3faf3b432382bdb9235ed1b84d" } }, "a9b8b5ed732f46e78c68fe7ab34cbfa4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "a9dd2cfa26e0429eb4cb0c346fb1616d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "aa94028e495a4f9794675dd8a3c52743": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "aab2e8f673f9478988a45885e8addcba": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_029dd99529504121b70328b5a7cd0b59", "placeholder": "​", "style": "IPY_MODEL_12bca3cd16ac48368ace037f72efa2c7", "value": " 423/423 [00:00<00:00, 3164.79files/s]" } }, "aba382bd8f494347b7c82e5c2e828e82": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_34524bc506a849f98088b69ddd43c680", "IPY_MODEL_3fc83a03729b41e5a7831ddd42f3b3c1", "IPY_MODEL_ee66c89216b242c9908d11e4f4dedfc4" ], "layout": "IPY_MODEL_77e77595474f4605b6b5bc5badfc8449" } }, "acca78a63d314b38a3b16b8a68efb95c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2752f8ac31bf45a086bb2edfbc22b134", "placeholder": "​", "style": "IPY_MODEL_e9b883b69d194b10ac1e5486523d3b45", "value": "data/train-00002-of-00006.parquet: 100%" } }, "ad9cf81713124af18dbe2ead730cafa7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_276ca767ec374eafbb30eef90b8dddaa", "placeholder": "​", "style": "IPY_MODEL_a9b8b5ed732f46e78c68fe7ab34cbfa4", "value": " 90/0 [00:00<00:00, 3671.06 examples/s]" } }, "ae5f6bbcfcbb4b2b9c940acdb71d1508": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_4e12eb559d1a4248b41df45de39a8984", "IPY_MODEL_d870c6ac9f574993bd39a47c5e452a92", "IPY_MODEL_73c2322487864186b5342fa27b22d015" ], "layout": "IPY_MODEL_32f01addc4de42718413e1603f522c4e" } }, "af17a4f4c8a34c9a83f55b7084aa7ec7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "af61668e80554744b12cbe9860637dd6": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "afa930b62c9340b4b68404a4d634d5db": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "20px" } }, "b04be4a5ff604ab58dc9ad29353d5bdf": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b22e3db1900d4255b8ea8d48387b8bf7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e3eb0e4681cd4e708560cccd5636d7ef", "placeholder": "​", "style": "IPY_MODEL_0c5d84eb22c247f6a000189b36505bd0", "value": " 29537/29537 [00:18<00:00, 835.59 examples/s]" } }, "b4105d3f41944408a3a958b634a701b6": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b508fde0b3194cec845114ee75efe674": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b61a302ba9f247cc8b446a5cf46d341b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_390758764d414663a370d9289701ed79", "IPY_MODEL_0b8ceec04573495e97034284df7436a9", "IPY_MODEL_81c5c7e742cd4f7c89ae7ef9adf17e9e" ], "layout": "IPY_MODEL_b4105d3f41944408a3a958b634a701b6" } }, "b70ec72471b24e8fa8276527acce8219": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c610b4e2cf9d4f678b84975f91976da3", "placeholder": "​", "style": "IPY_MODEL_a205ac65a9074bd484a8340778f2a68d", "value": "Map: 100%" } }, "b85b0fb0fb61498da8774254e9cdab58": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "ba5c7170e84a4ca399f0635da7a6a64a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "baffcf2fad0f40d18332a4ca5eb34a9a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_b04be4a5ff604ab58dc9ad29353d5bdf", "placeholder": "​", "style": "IPY_MODEL_e86e0c7f442c4bb6805d6c2514e213ac", "value": " 390M/390M [00:07<00:00, 58.5MB/s]" } }, "bb0ba9fd2cdd4f63a9c6285c89254baa": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_bf782aae97db4576912c142c5fd979d8", "IPY_MODEL_9498faa9e0c94045b5f51a3cdde01e10", "IPY_MODEL_623add02aa8a4c6aa28444163f2bcbe6" ], "layout": "IPY_MODEL_87b1bc0ecff8489d8f80f879084681f7" } }, "bbd3845d02bf458d97afd6436f1e280a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "bbe8f811baf444e4b25f2d8dd8d8cb47": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "bed698c9f23743eaad00e9a3f03327e2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "bf782aae97db4576912c142c5fd979d8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a14f3347620848b2ac88c3d1e4fac37d", "placeholder": "​", "style": "IPY_MODEL_e7e42d486c954eb5a27bc0b86da7753e", "value": "Downloading data: 100%" } }, "c17f835c7f814dcc86a3c891267258f0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_5bc1c2fd08784b0d822d2127c31a22ad", "placeholder": "​", "style": "IPY_MODEL_585dfa7f044445a8a96be79a921bc205", "value": "Filter: 100%" } }, "c1a2a9ad14b544eabe341855bce1973e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "c3239db42a6a4fb8acb01b634ef6357e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c3460885a39a452c85bda819661b7b59": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2ffa2492dc5842fa802c6afef9ffc97b", "placeholder": "​", "style": "IPY_MODEL_8f6ccf98a08c4fa29a0be38b4f5f972d", "value": " 97/0 [00:00<00:00, 3649.58 examples/s]" } }, "c3e46f0f68aa4c4facf46d3908160b69": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "c3e549d91ecc46e18c3ab53695035a4f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_629a1a72d1324a63a35293a7cf5d84e2", "max": 97, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_faddfb678f14488f92f6419551d469f3", "value": 97 } }, "c4d7846fb86d44b58a595da665dd7b08": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "c610b4e2cf9d4f678b84975f91976da3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c69c8e2290ef455b86200857c3482106": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_41b3991d65db41379015a97944dba52e", "placeholder": "​", "style": "IPY_MODEL_40d934f8c6eb400188290e033b6365d7", "value": " 4099/4099 [00:01<00:00, 2823.35 examples/s]" } }, "c6d11036685342cf909fab02262c336b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a062d3a9eed94eec98d0bb41d9e330d4", "placeholder": "​", "style": "IPY_MODEL_bed698c9f23743eaad00e9a3f03327e2", "value": "data/train-00005-of-00006.parquet: 100%" } }, "c98f1f0aac584814bbfaea37e58f34da": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c9cde596625446799641b8164a3c45db": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "cae6b994c5b34a3bb9c56ddcfbb3647c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "cc1ae3d6752e4f4a8c064aae30baf120": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e8eca330f4df44c288837c3cc8c49955", "placeholder": "​", "style": "IPY_MODEL_9fb9a40554ff4e6cbad2e05666835827", "value": " 423/0 [00:00<00:00, 4967.76 examples/s]" } }, "cd039f9394e84955b69ec8b3d7c4d683": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "cd6b867f78b74b1eb1ee30c2e8a8a58a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_fd953b12712f467097d97d856784ff02", "IPY_MODEL_92f8af95ee2b4b49a4b6ae3b2420a92a", "IPY_MODEL_691b986ebfc146549cb1006ffb274e81" ], "layout": "IPY_MODEL_25de4555d95d4f3a9c396a2f76f4ad79" } }, "ce20d91ea162451cba5eec4acafe169f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "cfa15c8637e642169eca830474038029": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d1e54f193a7d41caa2ea58a9e4959b59": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d2029da3ffe44619bab3056abc8e3964": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "d27265f1667b41cb850aaf7be0729fd5": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_46fa56bcb25f448ba328df36d302490a", "max": 423, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_2b5931d786e547ffab49ffe39432cdc4", "value": 423 } }, "d297a999f6f54077b930afa1ce26e676": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e42c2a7e714b4ee387892a21049e55d0", "placeholder": "​", "style": "IPY_MODEL_7c82bc9e779748dd90342f5a62f0f9a7", "value": " 90/90 [00:00<00:00, 2348.38it/s]" } }, "d384a8364cb4442284f25dd50c297ec3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f0c1ac4e45884a2bb571272803d8d1e7", "placeholder": "​", "style": "IPY_MODEL_2d26c4640ed5434fbe51dfd73a98d9e9", "value": " 423/423 [00:00<00:00, 9296.99 examples/s]" } }, "d5ae23277cd049e58f4c18f8474919d8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_9083aaeb524e4b7f89cf2b2f8d475236", "max": 4099, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_af17a4f4c8a34c9a83f55b7084aa7ec7", "value": 4099 } }, "d5ce2363ee0a474b82e23ae307560074": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "d61d8d4963404e53aa89a59de0c1e759": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "d65c35da7dbf4a13ab233c7b786e96c2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d6782238a7b546f480a7669b44b2e62c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "d78ea1ea22c8444295a7b388505a9846": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "d86b1abfb4644e35be5244a053822860": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d870c6ac9f574993bd39a47c5e452a92": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_daa19ff25c164a018c399e1f5599750e", "max": 29537, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_a698ced7582643d19a91db9294698aff", "value": 29537 } }, "d89d5f94aa5d40409ad1ccbcd3af050e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "daa19ff25c164a018c399e1f5599750e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "db746f267e294039b44e1a11b7db19b7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "dfbdb4cf9bc44d61a4369722c6fc30b3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e134c1d2ee63496aad019e492da89330": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e1462ab40baf4f8ea689cab53cc84cc1": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e2d114401bc24a38a02e75272dbe5ea4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e3eb0e4681cd4e708560cccd5636d7ef": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e42c2a7e714b4ee387892a21049e55d0": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e4b336cf37e34a57a7659f2634da8c51": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_bbd3845d02bf458d97afd6436f1e280a", "placeholder": "​", "style": "IPY_MODEL_1065370f723242f8984e05cf26530cf1", "value": "Generating train split: 100%" } }, "e6132baed48449f1b352b9952c13e75e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "e656b25e80674924b4d7a008bb23ded7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_456bd21616334467b2aba4e8fcbc303b", "placeholder": "​", "style": "IPY_MODEL_3d68373832bc45f5982cf75eda51e349", "value": "data/train-00001-of-00006.parquet: 100%" } }, "e7b65cbc36054404bc8bf33bba924477": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_467d9bf1568f4164bde63b4f3037b4f4", "IPY_MODEL_1c12f680b75747c89dd70dd1b8bb1809", "IPY_MODEL_c3460885a39a452c85bda819661b7b59" ], "layout": "IPY_MODEL_e95b7dcef6c7445ca751923d50e81a59" } }, "e7e42d486c954eb5a27bc0b86da7753e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "e7efdd59f10d4f02b6c449c39d11e90f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "e86e0c7f442c4bb6805d6c2514e213ac": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "e88b8887fbfa4db98b240184334dd524": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "e8eca330f4df44c288837c3cc8c49955": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e8fc86af42fe4bdf91441d7f994f7bd9": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e90d5a63687e4883b2bdaaa27fb5d70b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_acca78a63d314b38a3b16b8a68efb95c", "IPY_MODEL_19178f0e98784436bac393b6e89ef13a", "IPY_MODEL_f58beac271be4e1d8f17bcde3fb07439" ], "layout": "IPY_MODEL_6610f0a33210438fa6ce91515a7986a6" } }, "e95b7dcef6c7445ca751923d50e81a59": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e9b883b69d194b10ac1e5486523d3b45": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "ee66c89216b242c9908d11e4f4dedfc4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_58eacfeefc504790be3dad1f83b49a2a", "placeholder": "​", "style": "IPY_MODEL_1616716dcb284651a96ddf51cea3edea", "value": " 483M/483M [00:11<00:00, 32.7MB/s]" } }, "ee742a3d8cb045ac8e1405f8b371422e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ef21e988c54b4cc7944a5a6922d1f049": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "ef49b9456f1041a8ad5d74701378c3ea": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_db746f267e294039b44e1a11b7db19b7", "placeholder": "​", "style": "IPY_MODEL_39a229ece0bd42cfbed4a8fd397ee08f", "value": "Resolving data files: 100%" } }, "f032fa15824a42b7ae3a8e100d577abd": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d89d5f94aa5d40409ad1ccbcd3af050e", "placeholder": "​", "style": "IPY_MODEL_3d444fb8ae1749079cc5b1fbbbf9ecd7", "value": " 480M/480M [00:06<00:00, 60.3MB/s]" } }, "f0648bc9b6e4447e959901741f9c4f3b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f0c1ac4e45884a2bb571272803d8d1e7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f10ebb2690704f88948b9d2a61e58eca": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f1c9f61b9a484d0ca71395dd30130c17": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "f2c8cfae2c0f420f9955ad8abd96915b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "f2dbda06615d4b178f9b0a6eb391be08": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f48a4251c2de4a97b6b5d839225736f2", "max": 479975330, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_d5ce2363ee0a474b82e23ae307560074", "value": 479975330 } }, "f48a4251c2de4a97b6b5d839225736f2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f4ba2701de594b918dd6b616211f8cc2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_455f6b92fc5645e3b727632325bacf56", "IPY_MODEL_c3e549d91ecc46e18c3ab53695035a4f", "IPY_MODEL_feda3e6929ec4caa993bd29e641c3d30" ], "layout": "IPY_MODEL_14601c70ac0b4386a0e5155fef935bad" } }, "f58beac271be4e1d8f17bcde3fb07439": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_ce20d91ea162451cba5eec4acafe169f", "placeholder": "​", "style": "IPY_MODEL_529d26e0c69343b3ba08d4fbd00f6126", "value": " 482M/482M [00:08<00:00, 60.2MB/s]" } }, "f6178bbcebb44d1095d2d46b22a5ef41": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "f6cefc0ca9074c6c8325e5e632a008c3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "f76fee2586af4a2e9664c7781b5c883c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "20px" } }, "f8781ed0341347659182abf6cc3d9b98": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f97706d13c2546318c772067974368d6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_9cf01e946c54405bb74e07bf430041b5", "max": 29537, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_3c64431d66404104bf2f303273a5841e", "value": 29537 } }, "fa21c96b946c4ce6bbbec3e0235ac678": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "faddfb678f14488f92f6419551d469f3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "fcbcfff276b4489fa10132436f7344b9": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "fd24f9abc9e642fdb1ae117471a3c9c9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_3868b2895dc84606bf4b49ed7eb0587b", "max": 90, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_a7ea3a0931d241d28e4ff1a97c705a6d", "value": 90 } }, "fd953b12712f467097d97d856784ff02": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_5212b9677a8d4766b6d6f6587b76722b", "placeholder": "​", "style": "IPY_MODEL_97836b7dd2634825b3e11086c86921d3", "value": "Map: 100%" } }, "feda3e6929ec4caa993bd29e641c3d30": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_4f2bd171940346368c652ea04bb2b7da", "placeholder": "​", "style": "IPY_MODEL_85fb8efe99194fff8edfc87e25bb1d35", "value": " 97/97 [00:00<00:00, 2597.64 examples/s]" } } } } }, "nbformat": 4, "nbformat_minor": 0 }