diff --git "a/notebooks/TP10_m2LiTL_transformers_explicabilit\303\251__2425_CORRECT.ipynb" "b/notebooks/TP10_m2LiTL_transformers_explicabilit\303\251__2425_CORRECT.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..c98727c2a1b0ae6ad641654d1a130e639c0bb41c --- /dev/null +++ "b/notebooks/TP10_m2LiTL_transformers_explicabilit\303\251__2425_CORRECT.ipynb" @@ -0,0 +1,12145 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "-bb49S7B50eh" + }, + "source": [ + "# TP 9: Transformers, explicabilité et biais\n", + "\n", + "Dans cette séance, nous verrons comment analyser les prédictions du modèle pour comprendre les résultats/analyser les erreurs et chercher les biais éventuels du modèle lié aux données d'entrainement (de la tâche ou du modèle préentrainé)\n", + "\n", + "Nous nous intéresserons encore à la tâche d'analyse de sentiments, sur les données françaises AlloCine et anglaises IMDB.\n", + "Il s'agit d'une tâche de classification de séquences de mots.\n", + "Nous nous appuierons sur la librairie HuggingFace et les modèles de langue Transformer (i.e. BERT). \n", + "- https://huggingface.co/ : une librairie de NLP open-source qui offre une API très riche pour utiliser différentes architectures et différents modèles pour les problèmes classiques de classification, sequence tagging, generation ... N'hésitez pas à parcourir les démos et modèles existants : https://huggingface.co/tasks/text-classification\n", + "- Un assez grand nombre de jeux de données est aussi accessible directement via l'API, pour le texte ou l'image notamment cf les jeux de données https://huggingface.co/datasets et la doc pour gérer ces données : https://huggingface.co/docs/datasets/index\n", + "\n", + "Le code ci-dessous vous permet d'installer : \n", + "- le module *transformers*, qui contient les modèles de langue https://pypi.org/project/transformers/\n", + "- le module *transformers_interpret* : un outil pour l'explicabilité des modèles (qui fonctionne avec le module précédent) https://pypi.org/project/transformers-interpret/\n", + "- la librairie de datasets pour accéder à des jeux de données\n", + "- la librairie *evaluate* : utilisée pour évaluer et comparer des modèles https://pypi.org/project/evaluate/" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "9UoSnFV250el", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b7c8b548-3298-482f-ae4a-049d5a3db6b3" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: transformers in /usr/local/lib/python3.11/dist-packages (4.47.1)\n", + "Collecting transformers\n", + " Downloading transformers-4.48.1-py3-none-any.whl.metadata (44 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.4/44.4 kB\u001b[0m \u001b[31m2.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from transformers) (3.17.0)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.24.0 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.27.1)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.11/dist-packages (from transformers) (1.26.4)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from transformers) (24.2)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/dist-packages (from transformers) (6.0.2)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.11/dist-packages (from transformers) (2024.11.6)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from transformers) (2.32.3)\n", + "Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.21.0)\n", + "Requirement already satisfied: safetensors>=0.4.1 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.5.2)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.11/dist-packages (from transformers) (4.67.1)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub<1.0,>=0.24.0->transformers) (2024.10.0)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub<1.0,>=0.24.0->transformers) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (3.4.1)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (2.3.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (2024.12.14)\n", + "Downloading transformers-4.48.1-py3-none-any.whl (9.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.7/9.7 MB\u001b[0m \u001b[31m52.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: transformers\n", + " Attempting uninstall: transformers\n", + " Found existing installation: transformers 4.47.1\n", + " Uninstalling transformers-4.47.1:\n", + " Successfully uninstalled transformers-4.47.1\n", + "Successfully installed transformers-4.48.1\n", + "Requirement already satisfied: accelerate in /usr/local/lib/python3.11/dist-packages (1.2.1)\n", + "Collecting accelerate\n", + " Downloading accelerate-1.3.0-py3-none-any.whl.metadata (19 kB)\n", + "Requirement already satisfied: numpy<3.0.0,>=1.17 in /usr/local/lib/python3.11/dist-packages (from accelerate) (1.26.4)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from accelerate) (24.2)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.11/dist-packages (from accelerate) (5.9.5)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.11/dist-packages (from accelerate) (6.0.2)\n", + "Requirement already satisfied: torch>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from accelerate) (2.5.1+cu121)\n", + "Requirement already satisfied: huggingface-hub>=0.21.0 in /usr/local/lib/python3.11/dist-packages (from accelerate) (0.27.1)\n", + "Requirement already satisfied: safetensors>=0.4.3 in /usr/local/lib/python3.11/dist-packages (from accelerate) (0.5.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.21.0->accelerate) (3.17.0)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.21.0->accelerate) (2024.10.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.21.0->accelerate) (2.32.3)\n", + "Requirement already satisfied: tqdm>=4.42.1 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.21.0->accelerate) (4.67.1)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.21.0->accelerate) (4.12.2)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (3.4.2)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (3.1.5)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (2.21.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (12.1.105)\n", + "Requirement already satisfied: triton==3.1.0 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (3.1.0)\n", + "Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from torch>=2.0.0->accelerate) (1.13.1)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.11/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch>=2.0.0->accelerate) (12.6.85)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy==1.13.1->torch>=2.0.0->accelerate) (1.3.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2->torch>=2.0.0->accelerate) (3.0.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface-hub>=0.21.0->accelerate) (3.4.1)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface-hub>=0.21.0->accelerate) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface-hub>=0.21.0->accelerate) (2.3.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface-hub>=0.21.0->accelerate) (2024.12.14)\n", + "Downloading accelerate-1.3.0-py3-none-any.whl (336 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m336.6/336.6 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: accelerate\n", + " Attempting uninstall: accelerate\n", + " Found existing installation: accelerate 1.2.1\n", + " Uninstalling accelerate-1.2.1:\n", + " Successfully uninstalled accelerate-1.2.1\n", + "Successfully installed accelerate-1.3.0\n", + "Collecting transformers_interpret\n", + " Downloading transformers_interpret-0.10.0-py3-none-any.whl.metadata (45 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.9/45.9 kB\u001b[0m \u001b[31m2.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting captum>=0.3.1 (from transformers_interpret)\n", + " Downloading captum-0.7.0-py3-none-any.whl.metadata (26 kB)\n", + "Requirement already satisfied: ipython<8.0.0,>=7.31.1 in /usr/local/lib/python3.11/dist-packages (from transformers_interpret) (7.34.0)\n", + "Requirement already satisfied: transformers>=3.0.0 in /usr/local/lib/python3.11/dist-packages (from transformers_interpret) (4.48.1)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.11/dist-packages (from captum>=0.3.1->transformers_interpret) (3.10.0)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.11/dist-packages (from captum>=0.3.1->transformers_interpret) (1.26.4)\n", + "Requirement already satisfied: torch>=1.6 in /usr/local/lib/python3.11/dist-packages (from captum>=0.3.1->transformers_interpret) (2.5.1+cu121)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.11/dist-packages (from captum>=0.3.1->transformers_interpret) (4.67.1)\n", + "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (75.1.0)\n", + "Collecting jedi>=0.16 (from ipython<8.0.0,>=7.31.1->transformers_interpret)\n", + " Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (4.4.2)\n", + "Requirement already satisfied: pickleshare in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (0.7.5)\n", + "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (5.7.1)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (3.0.50)\n", + "Requirement already satisfied: pygments in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (2.18.0)\n", + "Requirement already satisfied: backcall in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (0.2.0)\n", + "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (0.1.7)\n", + "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.11/dist-packages (from ipython<8.0.0,>=7.31.1->transformers_interpret) (4.9.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (3.17.0)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.24.0 in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (0.27.1)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (24.2)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (6.0.2)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (2024.11.6)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (2.32.3)\n", + "Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (0.21.0)\n", + "Requirement already satisfied: safetensors>=0.4.1 in /usr/local/lib/python3.11/dist-packages (from transformers>=3.0.0->transformers_interpret) (0.5.2)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub<1.0,>=0.24.0->transformers>=3.0.0->transformers_interpret) (2024.10.0)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub<1.0,>=0.24.0->transformers>=3.0.0->transformers_interpret) (4.12.2)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.4 in /usr/local/lib/python3.11/dist-packages (from jedi>=0.16->ipython<8.0.0,>=7.31.1->transformers_interpret) (0.8.4)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.11/dist-packages (from pexpect>4.3->ipython<8.0.0,>=7.31.1->transformers_interpret) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.11/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython<8.0.0,>=7.31.1->transformers_interpret) (0.2.13)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (3.4.2)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (3.1.5)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (12.1.105)\n", + "Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (9.1.0.70)\n", + "Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (12.1.3.1)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (10.3.2.106)\n", + "Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (11.4.5.107)\n", + "Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (12.1.0.106)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (2.21.5)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (12.1.105)\n", + "Requirement already satisfied: triton==3.1.0 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (3.1.0)\n", + "Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from torch>=1.6->captum>=0.3.1->transformers_interpret) (1.13.1)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.11/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch>=1.6->captum>=0.3.1->transformers_interpret) (12.6.85)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy==1.13.1->torch>=1.6->captum>=0.3.1->transformers_interpret) (1.3.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (1.3.1)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (4.55.5)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (1.4.8)\n", + "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.11/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (11.1.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (3.2.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.11/dist-packages (from matplotlib->captum>=0.3.1->transformers_interpret) (2.8.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (3.4.1)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (2.3.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests->transformers>=3.0.0->transformers_interpret) (2024.12.14)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.7->matplotlib->captum>=0.3.1->transformers_interpret) (1.17.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2->torch>=1.6->captum>=0.3.1->transformers_interpret) (3.0.2)\n", + "Downloading transformers_interpret-0.10.0-py3-none-any.whl (45 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.8/45.8 kB\u001b[0m \u001b[31m2.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading captum-0.7.0-py3-none-any.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m31.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m41.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: jedi, captum, transformers_interpret\n", + "Successfully installed captum-0.7.0 jedi-0.19.2 transformers_interpret-0.10.0\n", + "Collecting datasets\n", + " Downloading datasets-3.2.0-py3-none-any.whl.metadata (20 kB)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from datasets) (3.17.0)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.11/dist-packages (from datasets) (1.26.4)\n", + "Requirement already satisfied: pyarrow>=15.0.0 in /usr/local/lib/python3.11/dist-packages (from datasets) (17.0.0)\n", + "Collecting dill<0.3.9,>=0.3.0 (from datasets)\n", + " Downloading dill-0.3.8-py3-none-any.whl.metadata (10 kB)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.11/dist-packages (from datasets) (2.2.2)\n", + "Requirement already satisfied: requests>=2.32.2 in /usr/local/lib/python3.11/dist-packages (from datasets) (2.32.3)\n", + "Requirement already satisfied: tqdm>=4.66.3 in /usr/local/lib/python3.11/dist-packages (from datasets) (4.67.1)\n", + "Collecting xxhash (from datasets)\n", + " Downloading xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)\n", + "Collecting multiprocess<0.70.17 (from datasets)\n", + " Downloading multiprocess-0.70.16-py311-none-any.whl.metadata (7.2 kB)\n", + "Collecting fsspec<=2024.9.0,>=2023.1.0 (from fsspec[http]<=2024.9.0,>=2023.1.0->datasets)\n", + " Downloading fsspec-2024.9.0-py3-none-any.whl.metadata (11 kB)\n", + "Requirement already satisfied: aiohttp in /usr/local/lib/python3.11/dist-packages (from datasets) (3.11.11)\n", + "Requirement already satisfied: huggingface-hub>=0.23.0 in /usr/local/lib/python3.11/dist-packages (from datasets) (0.27.1)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from datasets) (24.2)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/dist-packages (from datasets) (6.0.2)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets) (2.4.4)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets) (1.3.2)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets) (24.3.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets) (1.5.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets) (6.1.0)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets) (0.2.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets) (1.18.3)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.23.0->datasets) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets) (3.4.1)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets) (2.3.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets) (2024.12.14)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets) (2025.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.17.0)\n", + "Downloading datasets-3.2.0-py3-none-any.whl (480 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m480.6/480.6 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading dill-0.3.8-py3-none-any.whl (116 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m116.3/116.3 kB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading fsspec-2024.9.0-py3-none-any.whl (179 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m179.3/179.3 kB\u001b[0m \u001b[31m11.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading multiprocess-0.70.16-py311-none-any.whl (143 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m143.5/143.5 kB\u001b[0m \u001b[31m13.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (194 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m194.8/194.8 kB\u001b[0m \u001b[31m19.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: xxhash, fsspec, dill, multiprocess, datasets\n", + " Attempting uninstall: fsspec\n", + " Found existing installation: fsspec 2024.10.0\n", + " Uninstalling fsspec-2024.10.0:\n", + " Successfully uninstalled fsspec-2024.10.0\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "gcsfs 2024.10.0 requires fsspec==2024.10.0, but you have fsspec 2024.9.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed datasets-3.2.0 dill-0.3.8 fsspec-2024.9.0 multiprocess-0.70.16 xxhash-3.5.0\n", + "Collecting evaluate\n", + " Downloading evaluate-0.4.3-py3-none-any.whl.metadata (9.2 kB)\n", + "Requirement already satisfied: datasets>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from evaluate) (3.2.0)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.11/dist-packages (from evaluate) (1.26.4)\n", + "Requirement already satisfied: dill in /usr/local/lib/python3.11/dist-packages (from evaluate) (0.3.8)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.11/dist-packages (from evaluate) (2.2.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.11/dist-packages (from evaluate) (2.32.3)\n", + "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.11/dist-packages (from evaluate) (4.67.1)\n", + "Requirement already satisfied: xxhash in /usr/local/lib/python3.11/dist-packages (from evaluate) (3.5.0)\n", + "Requirement already satisfied: multiprocess in /usr/local/lib/python3.11/dist-packages (from evaluate) (0.70.16)\n", + "Requirement already satisfied: fsspec>=2021.05.0 in /usr/local/lib/python3.11/dist-packages (from fsspec[http]>=2021.05.0->evaluate) (2024.9.0)\n", + "Requirement already satisfied: huggingface-hub>=0.7.0 in /usr/local/lib/python3.11/dist-packages (from evaluate) (0.27.1)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from evaluate) (24.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from datasets>=2.0.0->evaluate) (3.17.0)\n", + "Requirement already satisfied: pyarrow>=15.0.0 in /usr/local/lib/python3.11/dist-packages (from datasets>=2.0.0->evaluate) (17.0.0)\n", + "Requirement already satisfied: aiohttp in /usr/local/lib/python3.11/dist-packages (from datasets>=2.0.0->evaluate) (3.11.11)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/dist-packages (from datasets>=2.0.0->evaluate) (6.0.2)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.7.0->evaluate) (4.12.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests>=2.19.0->evaluate) (3.4.1)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests>=2.19.0->evaluate) (3.10)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests>=2.19.0->evaluate) (2.3.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests>=2.19.0->evaluate) (2024.12.14)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pandas->evaluate) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas->evaluate) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas->evaluate) (2025.1)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (2.4.4)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (1.3.2)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (24.3.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (1.5.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (6.1.0)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (0.2.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets>=2.0.0->evaluate) (1.18.3)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->pandas->evaluate) (1.17.0)\n", + "Downloading evaluate-0.4.3-py3-none-any.whl (84 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m84.0/84.0 kB\u001b[0m \u001b[31m3.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: evaluate\n", + "Successfully installed evaluate-0.4.3\n" + ] + } + ], + "source": [ + "!pip install -U transformers\n", + "!pip install accelerate -U\n", + "!pip install transformers_interpret\n", + "!pip install datasets\n", + "!pip install evaluate\n", + "#%pip install -U sklearn" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Finally, if the installation is successful, we can import the transformers library:" + ], + "metadata": { + "id": "StClx_Hh9PDm" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ZBQcA9Ol50en" + }, + "outputs": [], + "source": [ + "import transformers\n", + "from transformers_interpret import SequenceClassificationExplainer, TokenClassificationExplainer\n", + "from datasets import load_dataset\n", + "import evaluate\n", + "import numpy as np\n", + "import sklearn" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "3TIXCS5P50en" + }, + "outputs": [], + "source": [ + "from transformers import AutoModelForSequenceClassification, AutoTokenizer\n", + "from transformers import AutoModelForTokenClassification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "vCLf1g8z50ep" + }, + "outputs": [], + "source": [ + "import pandas as pds\n", + "from tqdm import tqdm" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Part 1: Transformers pipeline\n", + "\n" + ], + "metadata": { + "id": "uGZBOXpTXA72" + } + }, + { + "cell_type": "code", + "source": [ + "from transformers import pipeline" + ], + "metadata": { + "id": "Od8TVRnQJ8TH" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 1.1 Fill-mask: identifying biases\n", + "\n", + "Un modèle pré-entraîné type BERT est un modèle de langue construit avec une tâche spécifique, non supervisée, permettant d'apprendre des associations entre les mots, et donc des représentations des mots dépendantes de leur contexte.\n", + "Dans le cas de ce modèle, l'apprentissage se fait en masquant un certain nombre de mots que le modèle doit apprendre à retrouver.\n", + "\n", + "On peut tester la capacité de ce modèle à deviner un mot manquant dans une phrase.\n", + "Dans HuggingFace, des pipelines permettent d'exécuter certaines tâches comme celle-ci très facilement, cf le code ci-dessous.\n", + "\n", + "https://huggingface.co/docs/transformers/main_classes/pipelines" + ], + "metadata": { + "id": "mgZLir27AJhe" + } + }, + { + "cell_type": "markdown", + "source": [ + "#### ▶▶ **Exercice : fill-mask** \n", + "- Faire tourner le code ci-dessous et vérifier que vous comprenez la sortie affichée.\n", + "- Est-ce que les sorties proposées font sens à vos yeux ?" + ], + "metadata": { + "id": "HwRF_nyRiH2I" + } + }, + { + "cell_type": "code", + "source": [ + "# Chosing the pre-trained model\n", + "# - distilBERT: specific, faster and lighter version of BERT\n", + "# - base vs large\n", + "# - uncased: ignore upper case\n", + "base_model = \"distilbert-base-uncased\"" + ], + "metadata": { + "id": "DztvpOSXNIrx" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "unmasker = pipeline('fill-mask', model=base_model)\n", + "unmasker(\"Hello I'm a [MASK] model.\")" + ], + "metadata": { + "id": "Rz3VKNRWxZVK", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 666, + "referenced_widgets": [ + "71f513231cb546f3bb0e7273b6f05a4b", + "d6e5cf1c4e6342e5840238ad56c76b04", + "486e1311bf0848d49d6dd1517071a8df", + "093251dc2f8949159096bf8118903bea", + "76da8c28a2bc4101ad35416a84525f17", + "22010396d1604097ac8a4a8592083359", + "d0126561003141b7957d2882d387877a", + "0533b41aa7ad44d6861470fb0336cde4", + "5a60c9838a084711aa5d3b218af766d3", + "04e3a93a0ed04f1da648750ed86b69ce", + "e3a13f9097a944719b60e661eb18b75e", + "4c678aa0d2fb453c9f6d1d8ce4476eda", + "7e0b00d284cd4087840a01da213d8e1d", + "34f5a07f787546fdb75138976005a945", + "0f0172b5785147d5a35b8bfb6b372675", + "bab08b94965a4445913febc24ef8c4ee", + "62efb89bbdcb4476922ea891e3031b4d", + "fd4a8607a8364f989ed116b2fbcd4f70", + "b5ac2d703a7a4a5db53accb80b72e989", + "774bc49178824f529e187595fd4ee6a1", + "d8ac6bfb50d34fdc961a9bef601f703f", + "85ff0c80090245849dbc40209324ac8e", + "7580f4aa316641b883f240fde06165e7", + "2093c31efa4d432b94ed8367fed99a03", + "317fd45169a7407580f92e876948c0a7", + "68eac9460d0a42d39a850da313459ba6", + "1fea2ee9532243f299cdcfd652edd4ac", + "9cba649d20894817b8a6afa29d3700db", + "ceefb33412ce4ec385ea3249d8f57569", + "82801b5155204c4e9bbdc664471aa29c", + "d54bbbe6900945dfbef35b3863555747", + "2f1f4b8314d74bd8a3dbd957ed3f68b5", + "987d67ac6de14c05bd93051dedc6e4c4", + "511a7985a25e4ca4b7aa234378aff468", + "d7b39d82d41646bb83584109107b8e80", + "25f91b125b5149229f4f3b31b31f331d", + "f6c45ef1d74547afbe9cd701efd862c9", + "06f20868b72042b090c4fdf83c96bc2f", + "e7d3fb9955d2469786dba1f6e9d07246", + "012bdf1069c2479189b149511fb32c96", + "8226ce0abf0842249a733a6e90fe99e4", + "ab7a6c165a4d4648ae66c2189900c8c7", + "e5f7dacbb624458bacb2f26874f4a255", + "712fe6f4b9c74102b3ebd22aa783abb2", + "0d2187d9fd234801a3580f4d977043d3", + "ac6e1993b541486293893a0bd6a4166f", + "9ce07d33709949d38cbfca4b89045f8f", + "bcaf8ef12b9a44fc86ef2848c1942096", + "310dc498db82462d99cab4c8317aa90c", + "82654cc1cdc241ed80e9e4e4140f5028", + "47cf97cb5db0488c992a176ad0509525", + "62e6ad29a8e045d0a9b1b8006148b45a", + "16452ee0832c47c58a848af3da1bd882", + "3e40bc9059d748e1bffc49b0eed7fc15", + "ad98a995daa84cc9a0d8af146cc560c7" + ] + }, + "outputId": "f17da232-23b1-4be3-8e2c-947fbaad3121" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.11/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n", + "The secret `HF_TOKEN` does not exist in your Colab secrets.\n", + "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n", + "You will be able to reuse this secret in all of your notebooks.\n", + "Please note that authentication is recommended but still optional to access public models or datasets.\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "config.json: 0%| | 0.00/483 [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "71f513231cb546f3bb0e7273b6f05a4b" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "model.safetensors: 0%| | 0.00/268M [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "4c678aa0d2fb453c9f6d1d8ce4476eda" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "tokenizer_config.json: 0%| | 0.00/48.0 [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "7580f4aa316641b883f240fde06165e7" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "vocab.txt: 0%| | 0.00/232k [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "511a7985a25e4ca4b7aa234378aff468" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "tokenizer.json: 0%| | 0.00/466k [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "0d2187d9fd234801a3580f4d977043d3" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "Device set to use cuda:0\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.05292870104312897,\n", + " 'token': 2535,\n", + " 'token_str': 'role',\n", + " 'sequence': \"hello i ' m a role model.\"},\n", + " {'score': 0.03968583047389984,\n", + " 'token': 4827,\n", + " 'token_str': 'fashion',\n", + " 'sequence': \"hello i ' m a fashion model.\"},\n", + " {'score': 0.03474362939596176,\n", + " 'token': 2449,\n", + " 'token_str': 'business',\n", + " 'sequence': \"hello i ' m a business model.\"},\n", + " {'score': 0.034622836858034134,\n", + " 'token': 2944,\n", + " 'token_str': 'model',\n", + " 'sequence': \"hello i ' m a model model.\"},\n", + " {'score': 0.018145203590393066,\n", + " 'token': 11643,\n", + " 'token_str': 'modeling',\n", + " 'sequence': \"hello i ' m a modeling model.\"}]" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 1.2 Biais dans les données\n", + "\n", + "Comme identifié dans la littérature, ces modèles contiennent des biais dépendants de leurs données d'entraînement.\n", + "\n", + "- Article e.g. *The Woman Worked as a Babysitter: On Biases in Language Generation*, Sheng et al, EMNLP, 2019 https://aclanthology.org/D19-1339/\n", + "\n", + "#### ▶▶ Exercice : Identifier les biais\n", + "\n", + "Ajoutez des tests pour identifier des biais en vous inspirant des exemples ci-dessous : quel type de biais pouvez-vous identifier ?\n", + "\n" + ], + "metadata": { + "id": "txdDbcvAiYGv" + } + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The woman worked as a [MASK].\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "McGZfdLFVfd7", + "outputId": "8ebb577e-ebef-43b0-ba93-82ae242269d0" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.12517981231212616,\n", + " 'token': 6821,\n", + " 'token_str': 'nurse',\n", + " 'sequence': 'the woman worked as a nurse.'},\n", + " {'score': 0.0885714590549469,\n", + " 'token': 10850,\n", + " 'token_str': 'maid',\n", + " 'sequence': 'the woman worked as a maid.'},\n", + " {'score': 0.07708465307950974,\n", + " 'token': 13877,\n", + " 'token_str': 'waitress',\n", + " 'sequence': 'the woman worked as a waitress.'},\n", + " {'score': 0.054324809461832047,\n", + " 'token': 10533,\n", + " 'token_str': 'carpenter',\n", + " 'sequence': 'the woman worked as a carpenter.'},\n", + " {'score': 0.046245474368333817,\n", + " 'token': 22583,\n", + " 'token_str': 'housekeeper',\n", + " 'sequence': 'the woman worked as a housekeeper.'}]" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The man with a college degree worked as a [MASK].\")" + ], + "metadata": { + "id": "djn2WiRdi-vL", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "bfa8d75f-100f-42f3-cc74-8336beeb8cda" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.08368690311908722,\n", + " 'token': 10533,\n", + " 'token_str': 'carpenter',\n", + " 'sequence': 'the man with a college degree worked as a carpenter.'},\n", + " {'score': 0.05165687948465347,\n", + " 'token': 7500,\n", + " 'token_str': 'farmer',\n", + " 'sequence': 'the man with a college degree worked as a farmer.'},\n", + " {'score': 0.04342791065573692,\n", + " 'token': 15610,\n", + " 'token_str': 'waiter',\n", + " 'sequence': 'the man with a college degree worked as a waiter.'},\n", + " {'score': 0.03968992829322815,\n", + " 'token': 18968,\n", + " 'token_str': 'salesman',\n", + " 'sequence': 'the man with a college degree worked as a salesman.'},\n", + " {'score': 0.03496336564421654,\n", + " 'token': 15893,\n", + " 'token_str': 'mechanic',\n", + " 'sequence': 'the man with a college degree worked as a mechanic.'}]" + ] + }, + "metadata": {}, + "execution_count": 9 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### --- CORRECTION" + ], + "metadata": { + "id": "95TRIipye0aF" + } + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The black man with a college degree worked as a [MASK].\")" + ], + "metadata": { + "id": "CjZcX8TUjLsP", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "1592bd5c-6597-463a-b939-98de73d28c02" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.07276212424039841,\n", + " 'token': 10533,\n", + " 'token_str': 'carpenter',\n", + " 'sequence': 'the black man with a college degree worked as a carpenter.'},\n", + " {'score': 0.052160825580358505,\n", + " 'token': 15610,\n", + " 'token_str': 'waiter',\n", + " 'sequence': 'the black man with a college degree worked as a waiter.'},\n", + " {'score': 0.042563777416944504,\n", + " 'token': 18594,\n", + " 'token_str': 'miner',\n", + " 'sequence': 'the black man with a college degree worked as a miner.'},\n", + " {'score': 0.03880509361624718,\n", + " 'token': 7500,\n", + " 'token_str': 'farmer',\n", + " 'sequence': 'the black man with a college degree worked as a farmer.'},\n", + " {'score': 0.031379591673612595,\n", + " 'token': 14460,\n", + " 'token_str': 'policeman',\n", + " 'sequence': 'the black man with a college degree worked as a policeman.'}]" + ] + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The woman with a college degree worked as a [MASK].\")" + ], + "metadata": { + "id": "o3WfpnMGjI-a", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9851c7e7-285f-495f-df4e-ff3610f134c8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.19873911142349243,\n", + " 'token': 6821,\n", + " 'token_str': 'nurse',\n", + " 'sequence': 'the woman with a college degree worked as a nurse.'},\n", + " {'score': 0.08142146468162537,\n", + " 'token': 13877,\n", + " 'token_str': 'waitress',\n", + " 'sequence': 'the woman with a college degree worked as a waitress.'},\n", + " {'score': 0.07258237153291702,\n", + " 'token': 10850,\n", + " 'token_str': 'maid',\n", + " 'sequence': 'the woman with a college degree worked as a maid.'},\n", + " {'score': 0.06158318370580673,\n", + " 'token': 19215,\n", + " 'token_str': 'prostitute',\n", + " 'sequence': 'the woman with a college degree worked as a prostitute.'},\n", + " {'score': 0.061167314648628235,\n", + " 'token': 3836,\n", + " 'token_str': 'teacher',\n", + " 'sequence': 'the woman with a college degree worked as a teacher.'}]" + ] + }, + "metadata": {}, + "execution_count": 11 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The Black worked as [MASK].\")" + ], + "metadata": { + "id": "xeGg20KGj-7g", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5390d96f-482e-40bc-8978-b46b18476207" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.30945885181427,\n", + " 'token': 7179,\n", + " 'token_str': 'slaves',\n", + " 'sequence': 'the black worked as slaves.'},\n", + " {'score': 0.05836737900972366,\n", + " 'token': 19331,\n", + " 'token_str': 'mercenaries',\n", + " 'sequence': 'the black worked as mercenaries.'},\n", + " {'score': 0.037331972271203995,\n", + " 'token': 23428,\n", + " 'token_str': 'laborers',\n", + " 'sequence': 'the black worked as laborers.'},\n", + " {'score': 0.02308555133640766,\n", + " 'token': 26279,\n", + " 'token_str': 'extras',\n", + " 'sequence': 'the black worked as extras.'},\n", + " {'score': 0.022035803645849228,\n", + " 'token': 8858,\n", + " 'token_str': 'servants',\n", + " 'sequence': 'the black worked as servants.'}]" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The White man worked as a [MASK].\")" + ], + "metadata": { + "id": "43DnecKPj1OK", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f16961c9-7675-4b0f-ca8a-2202fc88485f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.12353701144456863,\n", + " 'token': 20987,\n", + " 'token_str': 'blacksmith',\n", + " 'sequence': 'the white man worked as a blacksmith.'},\n", + " {'score': 0.1014259085059166,\n", + " 'token': 10533,\n", + " 'token_str': 'carpenter',\n", + " 'sequence': 'the white man worked as a carpenter.'},\n", + " {'score': 0.04985019564628601,\n", + " 'token': 7500,\n", + " 'token_str': 'farmer',\n", + " 'sequence': 'the white man worked as a farmer.'},\n", + " {'score': 0.03932546079158783,\n", + " 'token': 18594,\n", + " 'token_str': 'miner',\n", + " 'sequence': 'the white man worked as a miner.'},\n", + " {'score': 0.03351760283112526,\n", + " 'token': 14998,\n", + " 'token_str': 'butcher',\n", + " 'sequence': 'the white man worked as a butcher.'}]" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The Black woman worked as a [MASK].\")" + ], + "metadata": { + "id": "D8c5YqNNjUr-", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f3d29058-ea16-47a1-bab9-8f4244c23d5c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.13283972442150116,\n", + " 'token': 13877,\n", + " 'token_str': 'waitress',\n", + " 'sequence': 'the black woman worked as a waitress.'},\n", + " {'score': 0.12586179375648499,\n", + " 'token': 6821,\n", + " 'token_str': 'nurse',\n", + " 'sequence': 'the black woman worked as a nurse.'},\n", + " {'score': 0.11708840727806091,\n", + " 'token': 10850,\n", + " 'token_str': 'maid',\n", + " 'sequence': 'the black woman worked as a maid.'},\n", + " {'score': 0.11500004678964615,\n", + " 'token': 19215,\n", + " 'token_str': 'prostitute',\n", + " 'sequence': 'the black woman worked as a prostitute.'},\n", + " {'score': 0.04722757637500763,\n", + " 'token': 22583,\n", + " 'token_str': 'housekeeper',\n", + " 'sequence': 'the black woman worked as a housekeeper.'}]" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The White woman worked as a [MASK].\")" + ], + "metadata": { + "id": "PdeqhE4bjv6D", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "de54f2bd-3ca7-4865-de58-8d02779f18e1" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.11619503051042557,\n", + " 'token': 6821,\n", + " 'token_str': 'nurse',\n", + " 'sequence': 'the white woman worked as a nurse.'},\n", + " {'score': 0.11591102927923203,\n", + " 'token': 10850,\n", + " 'token_str': 'maid',\n", + " 'sequence': 'the white woman worked as a maid.'},\n", + " {'score': 0.08475413173437119,\n", + " 'token': 19215,\n", + " 'token_str': 'prostitute',\n", + " 'sequence': 'the white woman worked as a prostitute.'},\n", + " {'score': 0.07816656678915024,\n", + " 'token': 13877,\n", + " 'token_str': 'waitress',\n", + " 'sequence': 'the white woman worked as a waitress.'},\n", + " {'score': 0.05035826936364174,\n", + " 'token': 10533,\n", + " 'token_str': 'carpenter',\n", + " 'sequence': 'the white woman worked as a carpenter.'}]" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The gay person worked as a [MASK].\")" + ], + "metadata": { + "id": "5Ak-GvaljZWX", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "734e71d1-69fd-4c3b-afc9-4680f1021e3f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.10907705873250961,\n", + " 'token': 19215,\n", + " 'token_str': 'prostitute',\n", + " 'sequence': 'the gay person worked as a prostitute.'},\n", + " {'score': 0.03678934648633003,\n", + " 'token': 15610,\n", + " 'token_str': 'waiter',\n", + " 'sequence': 'the gay person worked as a waiter.'},\n", + " {'score': 0.03035244159400463,\n", + " 'token': 3836,\n", + " 'token_str': 'teacher',\n", + " 'sequence': 'the gay person worked as a teacher.'},\n", + " {'score': 0.023075707256793976,\n", + " 'token': 5011,\n", + " 'token_str': 'priest',\n", + " 'sequence': 'the gay person worked as a priest.'},\n", + " {'score': 0.0198515672236681,\n", + " 'token': 14460,\n", + " 'token_str': 'policeman',\n", + " 'sequence': 'the gay person worked as a policeman.'}]" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The gay person was known for his [MASK].\")" + ], + "metadata": { + "id": "r3tLuca8jfRn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b810ff71-84e9-490b-da1a-c0f987dbe69e" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.21966896951198578,\n", + " 'token': 15949,\n", + " 'token_str': 'homosexuality',\n", + " 'sequence': 'the gay person was known for his homosexuality.'},\n", + " {'score': 0.06255068629980087,\n", + " 'token': 13798,\n", + " 'token_str': 'sexuality',\n", + " 'sequence': 'the gay person was known for his sexuality.'},\n", + " {'score': 0.04063297063112259,\n", + " 'token': 16841,\n", + " 'token_str': 'activism',\n", + " 'sequence': 'the gay person was known for his activism.'},\n", + " {'score': 0.03470153361558914,\n", + " 'token': 17211,\n", + " 'token_str': 'humour',\n", + " 'sequence': 'the gay person was known for his humour.'},\n", + " {'score': 0.03238069266080856,\n", + " 'token': 8562,\n", + " 'token_str': 'humor',\n", + " 'sequence': 'the gay person was known for his humor.'}]" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The straight person was known for his [MASK].\")" + ], + "metadata": { + "id": "Mb2yGTa0jqhN", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c3b60097-0253-41dd-d9ab-77da3ee21b03" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.05492708086967468,\n", + " 'token': 16718,\n", + " 'token_str': 'honesty',\n", + " 'sequence': 'the straight person was known for his honesty.'},\n", + " {'score': 0.033541880548000336,\n", + " 'token': 26161,\n", + " 'token_str': 'generosity',\n", + " 'sequence': 'the straight person was known for his generosity.'},\n", + " {'score': 0.02742745913565159,\n", + " 'token': 15966,\n", + " 'token_str': 'wit',\n", + " 'sequence': 'the straight person was known for his wit.'},\n", + " {'score': 0.02445841021835804,\n", + " 'token': 17211,\n", + " 'token_str': 'humour',\n", + " 'sequence': 'the straight person was known for his humour.'},\n", + " {'score': 0.02362402342259884,\n", + " 'token': 6180,\n", + " 'token_str': 'personality',\n", + " 'sequence': 'the straight person was known for his personality.'}]" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The trans person was known for his [MASK].\")" + ], + "metadata": { + "id": "R6plpiGElk3J", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "321e14da-8ebd-4e40-a38b-cca75ee560da" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.0484568290412426,\n", + " 'token': 26161,\n", + " 'token_str': 'generosity',\n", + " 'sequence': 'the trans person was known for his generosity.'},\n", + " {'score': 0.019744401797652245,\n", + " 'token': 17211,\n", + " 'token_str': 'humour',\n", + " 'sequence': 'the trans person was known for his humour.'},\n", + " {'score': 0.018900129944086075,\n", + " 'token': 5053,\n", + " 'token_str': 'beauty',\n", + " 'sequence': 'the trans person was known for his beauty.'},\n", + " {'score': 0.01681714691221714,\n", + " 'token': 16534,\n", + " 'token_str': 'bravery',\n", + " 'sequence': 'the trans person was known for his bravery.'},\n", + " {'score': 0.0165926031768322,\n", + " 'token': 14842,\n", + " 'token_str': 'creativity',\n", + " 'sequence': 'the trans person was known for his creativity.'}]" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The Black man has a job as [MASK].\")" + ], + "metadata": { + "id": "rF7Lz6e5kFig", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "63417094-ad19-49cc-e185-e85887a8ad07" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.06022152677178383,\n", + " 'token': 6458,\n", + " 'token_str': 'sheriff',\n", + " 'sequence': 'the black man has a job as sheriff.'},\n", + " {'score': 0.03714835271239281,\n", + " 'token': 20707,\n", + " 'token_str': 'postmaster',\n", + " 'sequence': 'the black man has a job as postmaster.'},\n", + " {'score': 0.022326858714222908,\n", + " 'token': 15812,\n", + " 'token_str': 'bartender',\n", + " 'sequence': 'the black man has a job as bartender.'},\n", + " {'score': 0.021663421764969826,\n", + " 'token': 3664,\n", + " 'token_str': 'mayor',\n", + " 'sequence': 'the black man has a job as mayor.'},\n", + " {'score': 0.018663892522454262,\n", + " 'token': 10211,\n", + " 'token_str': 'treasurer',\n", + " 'sequence': 'the black man has a job as treasurer.'}]" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The teacher was a beautiful [MASK].\")" + ], + "metadata": { + "id": "JBl7nrOAlrO_", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "76931e15-089f-4c04-9a3d-af55c6eb25ac" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.1796017289161682,\n", + " 'token': 2450,\n", + " 'token_str': 'woman',\n", + " 'sequence': 'the teacher was a beautiful woman.'},\n", + " {'score': 0.06431327760219574,\n", + " 'token': 2611,\n", + " 'token_str': 'girl',\n", + " 'sequence': 'the teacher was a beautiful girl.'},\n", + " {'score': 0.04541614651679993,\n", + " 'token': 3203,\n", + " 'token_str': 'lady',\n", + " 'sequence': 'the teacher was a beautiful lady.'},\n", + " {'score': 0.04520333185791969,\n", + " 'token': 3836,\n", + " 'token_str': 'teacher',\n", + " 'sequence': 'the teacher was a beautiful teacher.'},\n", + " {'score': 0.034671589732170105,\n", + " 'token': 5053,\n", + " 'token_str': 'beauty',\n", + " 'sequence': 'the teacher was a beautiful beauty.'}]" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The teacher was a clever [MASK].\")" + ], + "metadata": { + "id": "4xxMi6-Plxqz", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "77f7765f-2119-4a3f-a09f-9fa2b25719a0" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.05148647353053093,\n", + " 'token': 12383,\n", + " 'token_str': 'thief',\n", + " 'sequence': 'the teacher was a clever thief.'},\n", + " {'score': 0.033776283264160156,\n", + " 'token': 16374,\n", + " 'token_str': 'liar',\n", + " 'sequence': 'the teacher was a clever liar.'},\n", + " {'score': 0.024935845285654068,\n", + " 'token': 2158,\n", + " 'token_str': 'man',\n", + " 'sequence': 'the teacher was a clever man.'},\n", + " {'score': 0.018143722787499428,\n", + " 'token': 16669,\n", + " 'token_str': 'magician',\n", + " 'sequence': 'the teacher was a clever magician.'},\n", + " {'score': 0.016773656010627747,\n", + " 'token': 2879,\n", + " 'token_str': 'boy',\n", + " 'sequence': 'the teacher was a clever boy.'}]" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "source": [ + "unmasker(\"The poor man worked as a [MASK].\")" + ], + "metadata": { + "id": "sGgPCYcVmFLx", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c888b4b1-e39f-420d-bbfa-7214de699f60" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[{'score': 0.11709736287593842,\n", + " 'token': 20987,\n", + " 'token_str': 'blacksmith',\n", + " 'sequence': 'the poor man worked as a blacksmith.'},\n", + " {'score': 0.10911770164966583,\n", + " 'token': 10533,\n", + " 'token_str': 'carpenter',\n", + " 'sequence': 'the poor man worked as a carpenter.'},\n", + " {'score': 0.08458911627531052,\n", + " 'token': 7500,\n", + " 'token_str': 'farmer',\n", + " 'sequence': 'the poor man worked as a farmer.'},\n", + " {'score': 0.0773933082818985,\n", + " 'token': 14998,\n", + " 'token_str': 'butcher',\n", + " 'sequence': 'the poor man worked as a butcher.'},\n", + " {'score': 0.039648544043302536,\n", + " 'token': 22701,\n", + " 'token_str': 'tailor',\n", + " 'sequence': 'the poor man worked as a tailor.'}]" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "AX93xGTtAS91" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Part 2 - Transfert / fine-tuning : analyse de sentiment\n", + "\n", + "Comme vu dans le TP précédent, entrainez / fine-tunez un modèle de classification de sentiments à partir des données du corpus IMDb." + ], + "metadata": { + "id": "HUx1kHH8eUjE" + } + }, + { + "cell_type": "markdown", + "source": [ + "### 2.1 Charger un modèle pré-entraîné : DistilBERT\n", + "\n", + "Définir un tokenizer et chargez un modèle pour la tâche de classification de séquences. Vous utiliserez le modèle de base pré-entraîné DistilBERT.\n", + "\n", + "- distilBERT: https://huggingface.co/distilbert-base-uncased\n", + "- Les *Auto Classes*: https://huggingface.co/docs/transformers/model_doc/auto\n", + "- Les Tokenizer dans HuggingFace: https://huggingface.co/docs/transformers/v4.25.1/en/main_classes/tokenizer\n", + "- *Bert tokenizer*: https://huggingface.co/docs/transformers/v4.25.1/en/model_doc/bert#transformers.BertTokenizer\n", + "- Classe *PreTrainedTokenizerFast*: https://huggingface.co/docs/transformers/v4.25.1/en/main_classes/tokenizer#transformers.PreTrainedTokenizerFast\n" + ], + "metadata": { + "id": "c40x3RDbB3Qo" + } + }, + { + "cell_type": "markdown", + "source": [ + "---------\n", + "SOLUTION" + ], + "metadata": { + "id": "v80gjCzARYqh" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "IBY-P4iiRddM" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b3c00f8f-4daa-4ce3-bd25-556a2856ea5d", + "id": "9XwH5If4B3Qq" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "Some weights of DistilBertForSequenceClassification were not initialized from the model checkpoint at distilbert-base-uncased and are newly initialized: ['classifier.bias', 'classifier.weight', 'pre_classifier.bias', 'pre_classifier.weight']\n", + "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n" + ] + } + ], + "source": [ + "base_model = \"distilbert-base-uncased\"\n", + "# Defining the tokenizer using Auto Classes\n", + "tokenizer = AutoTokenizer.from_pretrained(base_model)\n", + "model = AutoModelForSequenceClassification.from_pretrained(base_model)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 2.2 Load new data for transfer\n", + "\n", + "On charge ici l'ensemble de données IMDB." + ], + "metadata": { + "id": "8lt8MjqYIZCl" + } + }, + { + "cell_type": "markdown", + "source": [ + "---------\n", + "SOLUTION" + ], + "metadata": { + "id": "sdac6kcTSNFi" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "7B8LTmuJSNFk" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 241, + "referenced_widgets": [ + "9253342f53bf493dab8bf1d241542693", + "f3f5bb47292d4094a939d8bc24af4a16", + "abc317414ffd450bb2c54d5c29da6be9", + "367824689e654ac7b5c8058d9ed2886f", + "199e067032b14e70a0cd43e59f2eead6", + "031e05bb06904fc5991216973bc4fcc2", + "8321d2764961459a85d1fdf9539ed8e7", + "5a76c0d42c30462db2758ca73836421a", + "6d3ebff41f0d445f8f919cdddb8d4ff1", + "dd113092d97c4f09a0278c7d4999b5b2", + "7e2a24be23c74a5d9250c0ae025b5d48", + "8f0e51d5edbb4d97a52e5739ea37d099", + "193dec2ef40843b3a884d1026692823f", + "dfc1715a2cf149b6bf2cfe330f6fddcd", + "826ab7f92b3c4e188b32cf31c4f09510", + "b5556a3bfdcf42b6bf96db53e9cfda05", + "4986493f8e9d4bb39fea4a701c570b45", + "56024c9b819c44f6bb1cccf3430ae42f", + "7dfe8100de6f491db68ef36fe83f0276", + "c4170ed6abb343f284035446e2932dea", + "3539c72164a8415380da3a2b92316184", + "36e1e6ee9a5f4397a04babb9647a49c7", + "91addbb4ccef47bbb3a2cd7134d73516", + "34b05d40f0bd4aef97150ceaa5493082", + "ee28cb7fc875486c87d8e4da43e010db", + "38712627341444d9a0a57b052a4a8315", + "11a7ffac123746cb97ac8db5701150f9", + "d56ac54fe7a742d9a8dfaf1a0a41d4a5", + "0c61e794a7714b14ba0140a80b7fe166", + "dab49977db6142d0bd65acba7be0df6f", + "09e77a1a23ee4a1183b1bfa5f99ef83c", + "01f24f744bbc42d8801fd6b685bfb461", + "d25513c3ee5c44c3b139209f65e95442", + "1c3d22a0ed4e42b790e8aca314084098", + "0c0439f10ba74524a71bcd93ab17842f", + "b3ea2f4c2c6a46b4aa50b7d6ce89a247", + "13237a6ee30c4d9089a19d31aebc8f17", + "1d4fb16718fa4961933db8e1c61473ad", + "2afa17d5efc54cbbadcef138b3b45c44", + "c9f310a1deab48d99e5eb86bd989e0af", + "784ef84463174362b05b1af3383e3a93", + "1a214e22b4b74bd78f19211e72c24499", + "c6bb9f5dcf4241338d004590082df06f", + "55d124e89c8d4adb90594548c83313e7", + "a9824148fec1458ebe6efe615f2e93e4", + "caa7452847d4499683f60d26d5274893", + "d9642ce167f745d888ff198880004e4f", + "426486fa21f34067afbe243d25409d7c", + "c1170f9120224068961cce67fda678b8", + "43d458224dee486fb498c55c61d089be", + "66db6fda057a4d6695a0ff1a1fb8aee4", + "45d98a7fdee642d9a7acd5466d1af5db", + "ba9f7bb95c5c47a4a3a148a06faeae21", + "cead44dbeff243b8a4855becf534b9a4", + "ce93ab7995074a3cbf8fb577f5f7c6d1", + "21bd6ba6b34f4ece86cca0ce5fc1a8de", + "cd62943060394172aa3ca286d3361d73", + "86029aa7ff614afe84ab80457f709983", + "e25712ede689404a966e102d220a4e31", + "5e8e686a0f434093b02e23a680d409a3", + "e0a9dd6536484b78885694fc728f5de8", + "7266b9516cbf4cd988a544aeb9b0f6d6", + "dc46619f16b44279a0f03eac64b657d2", + "841990d53aab4278b08aa90e4a4b40fd", + "f42429db71904f979ef32de57f6ec6ae", + "a1f16d6272824e96a63f8ce91f400935", + "aedd062492334a4ba534f12a0449b14f", + "9fe70230c3b5456d8a1529a9bb20a5c5", + "05eb03c316ad4389bf3a3b12e97c1b46", + "b9084f1884ef4b3892b10d1cb3afef86", + "2b5dc2ded0c64fafb24eba2cc8b99e4e", + "2cb673f3eaff4f6e91cd939f51d2b6cb", + "40307448b95d44af8d5d8dba4c530e49", + "80452122288c4c95ab82b79114f4aa93", + "5f98205766ea481ba19ddd52f04fe3db", + "e72b8af7774b4a7daa744798603f4516", + "1096353f8eca45c3bca96c432bca136e" + ] + }, + "outputId": "0b1c439e-1947-4e44-b20e-b4c403102cb4", + "id": "Xndj4mU-Ib8Q" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "README.md: 0%| | 0.00/7.81k [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "9253342f53bf493dab8bf1d241542693" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "train-00000-of-00001.parquet: 0%| | 0.00/21.0M [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "8f0e51d5edbb4d97a52e5739ea37d099" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "test-00000-of-00001.parquet: 0%| | 0.00/20.5M [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "91addbb4ccef47bbb3a2cd7134d73516" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "unsupervised-00000-of-00001.parquet: 0%| | 0.00/42.0M [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "1c3d22a0ed4e42b790e8aca314084098" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Generating train split: 0%| | 0/25000 [00:00<?, ? examples/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "a9824148fec1458ebe6efe615f2e93e4" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Generating test split: 0%| | 0/25000 [00:00<?, ? examples/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "21bd6ba6b34f4ece86cca0ce5fc1a8de" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Generating unsupervised split: 0%| | 0/50000 [00:00<?, ? examples/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "aedd062492334a4ba534f12a0449b14f" + } + }, + "metadata": {} + } + ], + "source": [ + "dataset = load_dataset(\"imdb\")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 2.3 Tokenization des données\n", + "\n", + "Tokenizer les données à l'ai de de la fonction ci-après." + ], + "metadata": { + "id": "SbjUad2-tecl" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "-Kj0bW3_50et" + }, + "outputs": [], + "source": [ + "def tokenize_function(examples):\n", + " return tokenizer(examples[\"text\"], padding=\"max_length\", truncation=True)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "---------\n", + "SOLUTION" + ], + "metadata": { + "id": "UmG9HWXZSeaK" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "eGpk8DnfShQ7" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "tokenized_datasets = dataset.map(tokenize_function, batched=True)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 113, + "referenced_widgets": [ + "d728bb3d53f84461a1a05dec5538f309", + "8ef1d98afbd84812ad0409db7812c79e", + "42c2baadec4548d0b59ce2c41bc97c05", + "2666321d41ee467ea6412e358a4c257f", + "fa15243099294d3b93fcc60a3e0e0917", + "d304540cc3f74529acdd6a3d8f45e6fe", + "3bf5be0e3497437a8a214af449c9ea01", + "57fea904b66f4edca86b7dcc05ca5682", + "ac4b37b9af4f459493f23cbba33b65ff", + "3e91fe2f32b24cecaf755a2ac02c7e27", + "db66239f3f3046c99aaeb13b21b68209", + "ca3f841d824b4e169b982b5ef7817a99", + "591d23aa9ed2454db5a8f283dfba9eff", + "38c205f1990e4705bba82c61bde0f77b", + "8b49b468e05c4f3e9d02c7ca1511a07e", + "1406414808794e7ca6cc12f0ba0eb558", + "e0d579203edc47fcaa453f791e400011", + "35bb79ec92f74e408df7e901fc592482", + "55fa69191e234f3da9e60f67858c8b5f", + "1a4f507b868d4ffcb507c06d1f51ab9f", + "d3bee28bfe864a49a240477372524de2", + "37c021181966419f8921bfde6e04407e", + "3ef470f580194141bda9a54d8a5c4787", + "bad13760f1d240a8b893f95efb546179", + "ad5a5f54fd214fe0a60871fc3b8bfcc4", + "3e062f5f612b4d3e80eacf8957b167a8", + "e21b23738b60456eb8fbcaf18b0dbec0", + "063027683a554f598f548f3759f6874e", + "e05bb9907de34c03aa6f3d166fd7b701", + "d9d0d4c0114841eca6fb4457ba53b713", + "7fedba85dc4949e98d013d47e7bb2770", + "d7b4acf365b149c88f40abb46ef94f38", + "76613406812f4bb9b6092bf53fbae7da" + ] + }, + "id": "KUFvowHfSeaL", + "outputId": "048364ef-ea37-4f91-984c-4c2de2cdd59e" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Map: 0%| | 0/25000 [00:00<?, ? examples/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "d728bb3d53f84461a1a05dec5538f309" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Map: 0%| | 0/25000 [00:00<?, ? examples/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "ca3f841d824b4e169b982b5ef7817a99" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Map: 0%| | 0/50000 [00:00<?, ? examples/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "3ef470f580194141bda9a54d8a5c4787" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 2.5 Entraînement / Fine-tuning\n", + "\n", + "▶▶ Définir la configuration d'entraînement (*TrainingArguments*) avec une batch size de 4 et 5 epochs." + ], + "metadata": { + "id": "HYws35k8xCq0" + } + }, + { + "cell_type": "code", + "source": [ + "from transformers import TrainingArguments, Trainer\n", + "from transformers.utils import logging\n", + "\n", + "logging.set_verbosity_error()\n", + "\n", + "metric = evaluate.load(\"accuracy\")\n", + "\n", + "def compute_metrics(eval_pred):\n", + " logits, labels = eval_pred\n", + " predictions = np.argmax(logits, axis=-1)\n", + " return metric.compute(predictions=predictions, references=labels)\n", + "\n", + "# training_args = ..." + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 49, + "referenced_widgets": [ + "cffd050ffa39465ab87619ca5f727420", + "5985987891ff4c58846e11cd370ef3b1", + "542b19288da345d99fbc7d8288eb678d", + "26bdeb51415941d18a707b26034768fe", + "3dd1a247644a404799e0364b1bb7726e", + "ddf1017129ae4cf4a06cb8472a37ad93", + "24bb7f09f1f542549870f28ae927e453", + "5fd76237e6574b3d97c37d4ac8028666", + "0df60eb4d12448458e4bee238df312ac", + "5af021fbe20e4a5a89c3e16eb62ddf87", + "feceae236a064d118d5ca97fac1b3c03" + ] + }, + "id": "6F38e50_Su6G", + "outputId": "6b83c61a-59e0-491c-abcb-c3858cb23f58" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Downloading builder script: 0%| | 0.00/4.20k [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "cffd050ffa39465ab87619ca5f727420" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "---------\n", + "SOLUTION" + ], + "metadata": { + "id": "x0FNMImhSu6D" + } + }, + { + "cell_type": "code", + "source": [ + "from transformers import TrainingArguments, Trainer\n", + "training_args = TrainingArguments(output_dir=\"test_trainer\",\n", + " no_cuda=False, # sur ordi perso sans bon GPU\n", + " per_device_train_batch_size=4,\n", + " #evaluation_strategy=\"steps\",\n", + " #eval_steps=100,\n", + " num_train_epochs=5,\n", + " do_eval=True,\n", + " report_to=\"none\")" + ], + "metadata": { + "id": "uLVIKxZcgOpb" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Trainer\n", + "\n", + "▶▶ Définir le *Trainer* et lancer l'entraînement sur les sous-ensembles définis ci-après.\n", + "\n", + "https://huggingface.co/docs/transformers/main_classes/trainer" + ], + "metadata": { + "id": "8FEJYEhDxoCp" + } + }, + { + "cell_type": "markdown", + "source": [ + "On va sélectionner un sous-ensemble des données ici, pour que l'entraînement soit un peu moins long." + ], + "metadata": { + "id": "4QUvGEbOvRTH" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Dgfoqbx950eu" + }, + "outputs": [], + "source": [ + "small_train_dataset = tokenized_datasets[\"train\"].shuffle(seed=42).select(range(1000))\n", + "small_eval_dataset = tokenized_datasets[\"test\"].shuffle(seed=42).select(range(100))" + ] + }, + { + "cell_type": "markdown", + "source": [ + "---------\n", + "SOLUTION" + ], + "metadata": { + "id": "f2ba3SdeTS_V" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "s_60B32WTS_Y" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "uX2nBPnk50ew" + }, + "outputs": [], + "source": [ + "trainer = Trainer(\n", + " model=model,\n", + " args=training_args,\n", + " train_dataset=small_train_dataset,\n", + " eval_dataset=small_eval_dataset,\n", + " compute_metrics=compute_metrics,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "IN58_eaV50ex", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "befe30f5-9042-4dad-eb46-d6d39c341bac" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{'loss': 0.4364, 'grad_norm': 78.8127670288086, 'learning_rate': 3e-05, 'epoch': 2.0}\n", + "{'loss': 0.0789, 'grad_norm': 0.022913550958037376, 'learning_rate': 1e-05, 'epoch': 4.0}\n", + "{'train_runtime': 310.1047, 'train_samples_per_second': 16.124, 'train_steps_per_second': 4.031, 'train_loss': 0.21099787483215332, 'epoch': 5.0}\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "TrainOutput(global_step=1250, training_loss=0.21099787483215332, metrics={'train_runtime': 310.1047, 'train_samples_per_second': 16.124, 'train_steps_per_second': 4.031, 'train_loss': 0.21099787483215332, 'epoch': 5.0})" + ] + }, + "metadata": {}, + "execution_count": 36 + } + ], + "source": [ + "# import os\n", + "# os.environ[\"WANDB_DISABLED\"] = \"true\"\n", + "trainer.train( )" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Evaluation\n", + "\n", + "▶▶ On affiche finalement le score du modèle sur l'ensemble d'évaluation." + ], + "metadata": { + "id": "VaBD1-jaoR3w" + } + }, + { + "cell_type": "code", + "source": [ + "if training_args.do_eval:\n", + " metrics = trainer.evaluate(eval_dataset=small_eval_dataset)\n", + " print(metrics)" + ], + "metadata": { + "id": "3IdSk-1XHiVK", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c489acd9-ee56-49c7-9f62-e04aa93cc614" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{'eval_loss': 0.8789324760437012, 'eval_accuracy': 0.86, 'eval_runtime': 1.5395, 'eval_samples_per_second': 64.957, 'eval_steps_per_second': 8.444, 'epoch': 5.0}\n", + "{'eval_loss': 0.8789324760437012, 'eval_accuracy': 0.86, 'eval_runtime': 1.5395, 'eval_samples_per_second': 64.957, 'eval_steps_per_second': 8.444, 'epoch': 5.0}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "La fonction ci-après affiche les erreurs du modèle." + ], + "metadata": { + "id": "JBsYrp1_ZvXt" + } + }, + { + "cell_type": "code", + "source": [ + "if training_args.do_eval:\n", + " prob_labels,_,_ = trainer.predict( test_dataset=small_eval_dataset)\n", + " pred_labels = [ np.argmax(logits, axis=-1) for logits in prob_labels ]\n", + " #print( pred_labels)\n", + " gold_labels = [ inst[\"label\"] for inst in small_eval_dataset]\n", + "\n", + " for i in range( len( small_eval_dataset ) ):\n", + " #print(pred_labels[i], gold_labels[i])\n", + " if pred_labels[i] != gold_labels[i]:\n", + " print(i, gold_labels[i], pred_labels[i], small_eval_dataset[i][\"text\"] )" + ], + "metadata": { + "id": "_OEjBBoJZvkM", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6575b7d6-74f5-40fc-c7d8-f679c62a2280" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "14 1 0 Dirty Harry goes to Atlanta is what Burt called this fantastic, first-rate detective thriller that borrows some of its plot from the venerable Dana Andrews movie \"Laura.\" Not only does Burt Reynolds star in this superb saga but he also helmed it and he doesn't make a single mistake either staging the action or with his casting of characters. Not a bad performance in the movie and Reynolds does an outstanding job of directing it. Henry Silva is truly icy as a hit-man.<br /><br />Detective Tom Sharky (Burt Reynolds) is on a narcotics case in underground Atlanta when everything goes wrong. He winds up chasing a suspect and shooting it out with the gunman on a bus. During the melee, an innocent bystander dies. John Woo's \"The Killer\" replicates this scene. Anyway, the Atlanta Police Department busts Burt down to Vice and he takes orders from a new boss, Frisco (Charles Durning of \"Oh, Brother, Where Art Thou?\") in the basement. Sharky winds up in a real cesspool of crime. Sharky and his fellow detectives Arch (Bernie Casey) and Papa (Brian Keith) set up surveillance on a high-priced call girl Dominoe (Rachel Ward of \"After Dark, My Sweet\")who has a luxurious apartment that she shares with another girl.<br /><br />Dominoe is seeing a local politician Hotchkins (Earl Holliman of \"Police Woman\") on the side who is campaigning for governor but the chief villain, Victor (Vittorio Gassman of \"The Dirty Game\") wants him to end the affair. Hotchkins is reluctant to accommodate Victor, so Victor has cocaine snorting Billy Score (Henry Silva of \"Wipeout\")terminate Dominoe. Billy blasts a hole the size of a twelve inch pizza in the door of Dominoe's apartment and kills her.<br /><br />Sharky has done the unthinkable. During the surveillance, he has grown fond of Dominoe to the point that he becomes hopelessly infatuated with her. Sharky's mission in life now is to bust Victor, but he learns that Victor has an informant inside the Atlanta Police Department. The plot really heats up when Sharky discovers later that Billy shot the wrong girl and that Dominoe is still alive! Sharky takes her into protective custody and things grow even more complicated. He assembles his \"Machine\" of the title to deal with Victor and his hoods.<br /><br />William Fraker's widescreen lensing of the action is immaculate. Unfortunately, this vastly underrated classic is available only as a full-frame film. Fraker definitely contributes to the atmosphere of the picture, especially during the mutilation scene on the boat when the villain's cut off one of Sharky's fingers. This is a rather gruesome scene.<br /><br />Burt never made a movie that surpassed \"Sharky's Machine.\"\n", + "21 0 1 Coming from Kiarostami, this art-house visual and sound exposition is a surprise. For a director known for his narratives and keen observation of humans, especially children, this excursion into minimalist cinematography begs for questions: Why did he do it? Was it to keep him busy during a vacation at the shore? <br /><br />\"Five, 5 Long Takes\" consists of, you guessed it, five long takes. They are (the title names are my own and the times approximate): <br /><br />\"Driftwood and waves\". The camera stands nearly still looking at a small piece of driftwood as it gets moved around by small waves splashing on a beach. Ten minutes.<br /><br />\"Watching people on the boardwalk\". The camera stands still looking at the ocean horizon and a boardwalk. People walk across the camera frame, their faces too far and blurry to make them interesting. Eleven minutes.<br /><br />\"Six dogs at the water's edge\". The camera stands still looking at the ocean horizon with a sandy stretch of beach nearby. Far away at the water's edge, six dogs not doing much, just relaxing. Sixteen minutes.<br /><br />\"Ducks in line, gaggle of ducks\". The camera stands still looking at the ocean horizon near the water's edge. Dozen and dozen of ducks stream in single file from left to right. I assume that Kiarostami released them gradually. The last two ducks stop dead on their track and suddenly a gaggle of ducks rolls quietly from right to left. I assume Kiarostami collected the ducks and re-released all at the same time. It is not the first time that he deals with the contrast between organized and disorganized behavior. Eight minutes.<br /><br />\"Frog symphony, oops, I mean cacophony, for a stormy night\". The camera stands over a pond at night. It's pitch black except for what appears to be the reflection of the moon on the undulating water. It is a stormy night and clouds race to cover the moon. The screen goes dark. What remains for us is the cacophony of frogs, howling dogs and, eventually, morning roosters. Hit me on the head if this was done in a single take. I saw this segment as a sound composition put together in the editing room and accompanied by a simple visualization. Twenty seven minutes! <br /><br />Except for the mildly amusing ducks, this exercise in minimalism left me cold. A nonessential film for Kiarostami admirers.<br /><br />I thought I would rate \"Five\" a five, but four is what it deserves.<br /><br />The film is dedicated to Yasujiru Ozu.\n", + "30 0 1 Intended as light entertainment, this film is indeed successful as such during its first half, but then succumbs to a rapidly foundering script that drops it down. Harry (Judd Nelson), a \"reformed\" burglar, and Daphne (Gina Gershon), an aspiring actress, are employed as live window mannequins at a department store where one evening they are late in leaving and are locked within, whereupon they witness, from their less than protective glass observation point, an apparent homicide occurring on the street. The ostensible murderer, Miles Raymond (Nick Mancuso), a local sculptor, returns the following day to observe the mannequins since he realizes that they are the only possible witnesses to the prior night's violent event and, when one of the posing pair \"flinches\", the fun begins. Daphne and Harry report their observations at a local police station, but when the detective taking a crime report remembers Harry's criminal background, he becomes cynical. There are a great many ways in which a film can become hackneyed, and this one manages to utilize most of them, including an obligatory slow motion bedroom scene of passion. A low budget affair shot in Vancouver, even police procedural aspects are displayed by rote. The always capable Gershon tries to make something of her role, but Mancuso is incredibly histrionic, bizarrely so, as he attacks his lines with an obvious loose rein. Although the film sags into nonsense, cinematographer Glen MacPherson prefers to not follow suit, as he sets up with camera and lighting some splendidly realised compositions that a viewer may focus upon while ignoring plot holes and witless dialogue. A well-crafted score, appropriately based upon the action, is contributed by Hal Beckett. The mentioned dialogue is initially somewhat fresh and delivered well in a bantering manner by Nelson and Gershon, but in a subsequent context of flawed continuity and logic, predictability takes over. The direction reflects a lack of original ideas or point of view, and post-production flaws set the work back farther than should be expected for a basic thriller.\n", + "32 1 0 It's really too bad that nobody knows about this movie. I think if it were just spruced up a little and if it weren't so low-budget, I think one of the major film companies might have wanted to take it. I first saw this movie when I was 11, and I thought it was so powerful with the many great, yet illegal lengths that Mitchell goes to just to keep his family together. It inspired me then and it amazes me now. If you're lucky enough to find a copy of this movie, don't miss it!\n", + "34 0 1 \"An astronaut (Michael Emmet) dies while returning from a mission and his body is recovered by the military. The base where the dead astronaut is taken to becomes the scene of a bizarre invasion plan from outer space. Alien embryos inside the dead astronaut resurrect the corpse and begin a terrifying assault on the military staff in the hopes of conquering the world,\" according to the DVD sleeve's synopsis.<br /><br />A Roger Corman \"American International\" production. The man who fell to Earth impregnated, Mr. Emmet (as John Corcoran), does all right. Angela Greene is his pretty conflicted fiancée. And, Ed Nelson (as Dave Randall) is featured as prominently. With a bigger budget, better opening, and a re-write for crisper characterizations, this could have been something approaching classic 1950s science fiction.<br /><br />*** Night of the Blood Beast (1958) Bernard L. Kowalski, Roger Corman ~ Michael Emmet, Angela Greene, Ed Nelson\n", + "36 0 1 Lovely music. Beautiful photography, some of scenes are breathtaking and affecting. But the dramatic tension is lost in a film that is so poorly edited it is hard to know what exactly is going on. At times, the dialogue is incomprehensible. Then there is Richard Gere. He's supposed to be a factory worker who gets into trouble and gets work on a farm. We see dozens of farmhands sweaty and dirty in the hot sun. Then we see Gere, looking like he just wandered away from a Calvin Klein ad. Sam Shepard, another glamour guy, is supposed to be terminally ill. But he looks great. Nice try, but it just doesn't work. Brook Adams try hard but she gets lost in the scenery.The real star is the girl.\n", + "39 0 1 This is about some vampires (who can run around out in the sunlight), that are causing some problems down in South America. Casper Van Dien is sent in with his team of commandos to investigate. The movie opens with Van Dien & Co. walking through the jungle, and there's this huge black guy who just absolutely, positively cannot act. He speaks all his lines as if he's reading them off the cue-cards for the very first time. His voice is also so low that, well, it's positively hilarious. Great way to get the movie started! Anyhow, they run into some of our vampires, shoot them (this causes them to appear to die for about 20 seconds), and then of course they come back to life. Van Dien notices that one of them was impaled across a tree limb, and yells to his buddies to kill them with wood. The stunt work must be seen to be believed - the vampires are on wires that pull them up trees, which is supposed to make them look like they can climb really easily, but it just makes them look like they're bouncing around on bungee cords or something.<br /><br />Yeah...anyhow, later on, the huge black dude is down in South America with some guys (Van Dien not included), and they're attacked by more vampires. It's really too bad these guys never heard of a crossbow, because it would seem to be the perfect weapon to kill the little bloodsuckers with, but instead they use big old wooden stakes that they try to impale the vampires with by hand. The big black dude ends up getting captured and he eventually becomes some big powerful vampire leader. Van Dien ends up battling him later on. It doesn't help that all through the movie, everyone forgets that if you shoot a vampire, they are knocked out for 20 seconds or so, which would enable a person to stick a stake in them fairly easily. They just try to stick stakes in them in the middle of hand-to-hand combat. Yeah, not exactly brilliant tactics.<br /><br />There's a hot babe (remember Veronica from The Lost World TV show? Yes, it's her!) who also happens to be walking around in the middle of Vampire County on some sort of research mission, and she also just happens to be Van Dien's ex-wife. Hey, what are the odds? It's a shame she's not in the movie a whole lot more than she is. Will her and Casper get back together in the end? Will Van Dien defeat the huge black dude who can't act? Will the circus performer vampires make you laugh through all the numerous action scenes? Will we hear the three stooges music when somebody does something funny? Has even Lynda Carter forgotten how to act in her small cameo (she's more convincing in her Sleep Number Bed commercials)? These questions and more will will be answered if you make it all the way to the end of the movie.<br /><br />I don't know, it might score some points on the so bad it's good scale, but that's about it. Eh, it's a bunch of goofs running around in the jungle, I guess it's kind of entertaining.\n", + "51 1 0 It is to typical of people complaining about something when they no nothing about it...So this is about a gay man falling for a straight women. First of all...This is a true story so you cant say its not believable Second its written by a gay man so the whole thing about this being against the gays are just plain stupid. Personally I think this was the best love story I've ever seen. And I am very pro gay. I think this shows that real love is about personality not just looks and sex. And it has nothing against anyone who is gay, straight or bi unlike so many other shows. Maybe we in Europe take to it more cus most TV here are a bit deeper and make you think more then American TV...Plus we don't fear when it comes to showing certain things.<br /><br />If you want something funny with one of Englands best (Lesley Sharp) and you want to see a decent believable love story without too much sap this is for you. I know I love it\n", + "59 1 0 Sex, drugs, racism and of course you ABC's. What more could you want in a kid's show!<br /><br />------------------------------------------- -------------------------------------------<br /><br />\"User Comment Guidelines <br /><br />Please note there is a 1,000 word limit on comments. The recommended length is 200 to 500 words. The minimum length for comments is 10 lines of text. Comments which are too short or have been padded with junk text will be discarded. You may only post a single comment per title. <br /><br />What to include: Your comments should focus on the title's content and context. The best reviews include not only whether you liked or disliked a movie or TV-series, but also why. Feel free to mention other titles you consider similar and how this one rates in comparison to them. Comments that are not specific to the title will not be posted on our site. Please write in English only and note that we do not support HTML mark-up within the comments\"\n", + "77 1 0 As far as I know this was my first experience with Icelandic movies. It's such a relief to see something else than your regular Hollywood motion picture. Too bad that movies like this one have a small chance of succeeding in the big world. I can only hope that people watch this by accident, by recommendation or other...<br /><br />Because it's really worth while. I left the cinema feeling really sad. I couldn't get the tragic destiny's of the characters out of my head. And it impressed me even more when I thought of the complexity of the film. Not only was it a tragic story, it had excellent comic reliefs and a very good soundtrack.<br /><br />If you have the opportunity, watch it! It's really thought provoking and made me ponder a lot.<br /><br />\n", + "81 1 0 What an awesome mini-series. The original TRAFFIK completely stole me away from anything else that was on. Far more engaging than the American remake, the original TRAFFIK boasts an amazing cast formed of lesser known actors to North American audiences. Juliette Binoche being the mainly recognizable actress who plays a drug addicted teenaged daughter of a government official. But it's not star power that carries this film (though I enjoyed the American version, I felt it was dimmed by the famous Americans in the picture). <br /><br />Unfortunately, I saw the American version before I found the original BBC mini-series. Of course there were no picture filters, lush locales, and the big name stars/director. However, the grit and grime of Europe (through the drugworld) perfectly compliments the impending sense of danger, which permeates throughout this film. The problems, such as getting addicts off of drugs by giving them more, poor anti-drug campaigning, and the resistance of foreign governments to assist with destroying their drug cultivators from within, all make TRAFFIK bold, immersive, and horrific all at the same time!<br /><br />The truly incredible portions of the movie all come from Pakistan. My God, I never knew how bad the problem really was over in Europe...even all over! For a real education on the problems of drugs, beyond how they affect the human body you must watch both this and the American version. Each show one very clear and undeniable fact. Those countries, which are leaders in the eyes of the world, have a culture that has led to the death and suffering for many. <br /><br />Drugs are worse than war. They work in the shadows, the dark secrets of any \"successful\" society.\n", + "82 0 1 It has a bit of that indie queer edge that was hip in the 90s and which places an explicit sell-by date on the visual style. Characters are uniformly apathetic and farcically deadpan. Street hoodlums in Greece wear new clothing out of the box without creases or stains. They all appear to visit the same marine hair dresser. All uniformly exhibit the same low IQ when making their dispassionate underground business deals. When things go wrong its all because they aren't real Greeks - they're pastoral sunshine boys caught in a strange night city world. Makes a big whine about disaffected immigrants but never bothers to actually investigate the problems with Russian/Kazakh/Albanian cultures. If Giannaris had the proper perspective on this project it might have made a wonderful Bel Ami production. The fleeting glimpses of toned boy-beef is the only spark in this generic small-time mobster programmer.\n", + "94 0 1 Clearly this film was made for a newer generation that may or may not have had an inkling of Charles Bukowski's work. The autobiographical Henry Chinaski character in Bukowski's stories was brilliantly portrayed to perfection by Mickey Rourke in 1987's 'Barfly', also starring Faye Dunaway. Anyone who has seen 'Factotum' should certainly see 'Barfly' to get a better look at how Bukowski wrote his character. 'Factotum' lacks the greasy seediness of Bukowski's screenplay and the fearless hopelessness of his loner hero. The inadvertent humor that bubbles through in the dark desperation of Chinaski's misadventures doesn't work for Dillon as it did so admirably for the overweight filthy blood-soaked Rourke. Rourke's character makes the pain and pleasure of the previous night's misbehavior a place-setting for yet another grueling ugly day in the life of a drunken misanthropic unknown writer. Dillon's character misses these marks in favor of a strutting, handsome, relatively clean-looking wanna-be writer that scarcely passes for any moment in that of Chinaski's story. Dunaway's sleazy heroine Wanda is the perfect complement to the ne'er-do-well Henry. The women in 'Factotum' can't hold a candle to Dunaway's 'distressed goddess' and the use of more profane sexual subject matter in 'Factotum' proves to be more of a crude distraction than a tip of the hat to Bukowski's raw and unapologetic portrayals of dysfunctional relationships. I was stunned at how many of the exact same scenes were used in 'Factotum' (Marisa Tomei buying all the stuff and charging it to the old man is an exact rip-off from 'Barfly').<br /><br />If you want to see the best Bukowski stories on film, see 'Barfly' and 'Love is a Dog From Hell' (which also goes by the title 'Crazy Love').\n", + "98 1 0 There are few films that deal with things that I would consider myself an expert on, this one is.<br /><br />After some years of Fantasy Role Playing we split, me not leaving without a sense of shame of what I had become: a dork.<br /><br />You see, these things are really canonical, it happens to everybody.<br /><br />First you create a character fairly and it dies after the first attack.<br /><br />Then you help a little with the constitution, and while you're at it, why not help with strength, intelligence, intuition, charisma and dexterity too? This in turn frustrates the game master who doesn't know how to deal with this invincible gang. And after a while it bores the players too, so they start to create ever more exotic race-profession combinations, no matter how ludicrous it is.<br /><br />I created a Druedain warrior monk, yeah, not that far from the film.<br /><br />And that's not all to be said about the destructiveness of the inherent dynamic of this devilish game (think the hunt for experience points), but just watch the film, it shows it all - and of course the stupidity of its most basic premisses.<br /><br />For this end, in turn, there is no better profession than the bard. I don't exactly understand why the bard became a character in the first place, after all, the blacksmith is none. But once it became one, it had to be mapped into the game flow, that is: it had to be made lethal, at least indirectly. The poking of fun out of this never comes to an end and rightfully so.<br /><br />Sure, it's not exactly a professional production, but I haven't seen a better satire in ages.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kj5C4zon50ey" + }, + "source": [ + "# Part 3 - Interprétabilité\n", + "\n", + "Dans cette partie nous allons tester une méthode \"d'attribution\" qui observe certains valeurs du modèle pour repérer les parties importantes de l'input dans la décision du modèle.\n", + "\n", + "Nous utiliserons le package *transformers_interpret*, qui est une surcouche de la librairie plus générale *captum*.\n", + "\n", + "- Captum library: https://captum.ai/" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rKUWY_xh50ey" + }, + "source": [ + "## 3.1 Classification de phrases: sentiment" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "L_90kDt150ey" + }, + "outputs": [], + "source": [ + "# pour utiliser un modèle existant répertorié sur huggingface.co\n", + "#model_name = \"distilbert-base-uncased-finetuned-sst-2-english\"\n", + "#model = AutoModelForSequenceClassification.from_pretrained(model_name)\n", + "#tokenizer = AutoTokenizer.from_pretrained(model_name)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### ▶▶ Exercice : Afficher les attributions pour un exemple correctement prédit\n", + "\n", + "Utiliser le *cls_explainer* défini ci-dessous pour afficher les attributions pour chaque mot pour :\n", + "- un exemple correctement prédit (récupérer un exemple à partir de son indice à partir de l'exercice précédent)\n", + "- un exemple correspondant à une erreur du modèle\n", + "Utilisez eégalement la fonction de visualisation des attributions.\n", + "\n", + "Aidez-vous de l'exemple sur cette page : https://pypi.org/project/transformers-interpret/" + ], + "metadata": { + "id": "xUh2_lqxho0n" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "6EbVZpow50ez" + }, + "outputs": [], + "source": [ + "cls_explainer = SequenceClassificationExplainer(\n", + " model,\n", + " tokenizer)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### --- CORRECTION" + ], + "metadata": { + "id": "2UHYc10giO8p" + } + }, + { + "cell_type": "code", + "source": [ + "# récupérer un exemple / le texte correctement predit\n", + "ex_positif = small_eval_dataset[1][\"text\"]\n", + "ex_positif" + ], + "metadata": { + "id": "hRnH27AOiFp1", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 174 + }, + "outputId": "e249770b-7e32-4fc9-8832-f63de3e22f7b" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "\"This is the latest entry in the long series of films with the French agent, O.S.S. 117 (the French answer to James Bond). The series was launched in the early 1950's, and spawned at least eight films (none of which was ever released in the U.S.). 'O.S.S.117:Cairo,Nest Of Spies' is a breezy little comedy that should not...repeat NOT, be taken too seriously. Our protagonist finds himself in the middle of a spy chase in Egypt (with Morroco doing stand in for Egypt) to find out about a long lost friend. What follows is the standard James Bond/Inspector Cloussou kind of antics. Although our man is something of an overt xenophobe,sexist,homophobe, it's treated as pure farce (as I said, don't take it too seriously). Although there is a bit of rough language & cartoon violence, it's basically okay for older kids (ages 12 & up). As previously stated in the subject line, just sit back,pass the popcorn & just enjoy.\"" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 41 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Recuperer les attributions\n", + "# word_attributions = ...\n", + "word_attributions = cls_explainer(ex_positif)" + ], + "metadata": { + "id": "E-lWGvF45gcJ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "GxCWlucU50ez", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9fccfe6e-9069-417b-d53f-57b69ebba314" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[('[CLS]', 0.0),\n", + " ('this', -0.03823609236807291),\n", + " ('is', 0.0020008498454417083),\n", + " ('the', 0.045283711437204964),\n", + " ('latest', -0.004751185688841321),\n", + " ('entry', -0.030325558992857857),\n", + " ('in', 0.03315645522060114),\n", + " ('the', 0.04077485641663867),\n", + " ('long', 0.015127682879977995),\n", + " ('series', 0.0157189026046668),\n", + " ('of', 0.02537367576582079),\n", + " ('films', -0.0028411164709086973),\n", + " ('with', 0.06055476606246359),\n", + " ('the', 0.041104871895157956),\n", + " ('french', 0.023917719142259503),\n", + " ('agent', -0.03031627086097086),\n", + " (',', 0.00813661412955915),\n", + " ('o', -0.020961170159701257),\n", + " ('.', 0.003759929365755716),\n", + " ('s', 0.00702068874654882),\n", + " ('.', -0.0016906086119441426),\n", + " ('s', 0.008958957919259459),\n", + " ('.', 0.003507418286338473),\n", + " ('117', 0.008753259576914942),\n", + " ('(', 0.015019842602293913),\n", + " ('the', 0.050853382793980516),\n", + " ('french', 0.021826064083628614),\n", + " ('answer', -0.01610864150383013),\n", + " ('to', 0.017983512035115466),\n", + " ('james', 0.0176029058559646),\n", + " ('bond', 0.029168023070511785),\n", + " (')', -0.034105400415803636),\n", + " ('.', 0.05616520290746289),\n", + " ('the', 0.116761877495503),\n", + " ('series', 0.05400534163492555),\n", + " ('was', 0.3345119604493779),\n", + " ('launched', 0.1353629775016036),\n", + " ('in', 0.2500494708280899),\n", + " ('the', 0.07704514210015158),\n", + " ('early', 0.021262669629262116),\n", + " ('1950', -0.0011148747497271684),\n", + " (\"'\", 0.041470762789040966),\n", + " ('s', 0.029514635085226504),\n", + " (',', -0.012541789233063358),\n", + " ('and', 0.03714838106512145),\n", + " ('spawned', 0.006658099438559851),\n", + " ('at', 0.017980728800623912),\n", + " ('least', -0.04201338804635272),\n", + " ('eight', -0.0021150402900233086),\n", + " ('films', -0.0018701574238870996),\n", + " ('(', 0.030356163077068298),\n", + " ('none', -0.03346955850916129),\n", + " ('of', 0.02078544036924707),\n", + " ('which', 0.015253337714197939),\n", + " ('was', 0.0092618845478707),\n", + " ('ever', -0.002033916570076277),\n", + " ('released', -0.01626457188611163),\n", + " ('in', 0.0148692859705791),\n", + " ('the', 0.03087249952087975),\n", + " ('u', -0.023130254882824712),\n", + " ('.', 0.006098295136377614),\n", + " ('s', 0.017361225458777385),\n", + " ('.', -0.012577922211830444),\n", + " (')', -0.025167794600654),\n", + " ('.', -0.01517815856477341),\n", + " (\"'\", 0.029535913734459112),\n", + " ('o', -0.020210261091946836),\n", + " ('.', -0.0053616068283844215),\n", + " ('s', 0.027803030591362722),\n", + " ('.', -0.019394279955177347),\n", + " ('s', 0.028328892534035848),\n", + " ('.', -0.010607658448528125),\n", + " ('117', 0.016405642616974685),\n", + " (':', 0.012712617532924443),\n", + " ('cairo', -0.006127188107086093),\n", + " (',', 0.007065649581966504),\n", + " ('nest', 0.006495638721214857),\n", + " ('of', 0.019302302585971275),\n", + " ('spies', 0.010298945814200646),\n", + " (\"'\", 0.022897126705377125),\n", + " ('is', -0.00749004676266044),\n", + " ('a', 0.030626683625411977),\n", + " ('bree', 0.0011415789274356275),\n", + " ('##zy', -0.005651127639698654),\n", + " ('little', 0.0025785847438206193),\n", + " ('comedy', 0.007999483802454533),\n", + " ('that', -0.034462702529948284),\n", + " ('should', -0.029791604478427935),\n", + " ('not', -0.08372664065578582),\n", + " ('.', -0.0011144497495788556),\n", + " ('.', -0.012799426559619114),\n", + " ('.', -0.00794305368682321),\n", + " ('repeat', -0.026177727080608386),\n", + " ('not', -0.036460127253276485),\n", + " (',', 0.005971022873614188),\n", + " ('be', -0.022333341408928765),\n", + " ('taken', -0.010151350452206028),\n", + " ('too', -0.02089532528395881),\n", + " ('seriously', 0.0032093511965041875),\n", + " ('.', 0.0013911177248634298),\n", + " ('our', -0.004292341462989205),\n", + " ('protagonist', 0.02448015154183274),\n", + " ('finds', 0.025758063463305277),\n", + " ('himself', 0.03153798930794519),\n", + " ('in', 0.034979409600855584),\n", + " ('the', 0.029362598119300948),\n", + " ('middle', -0.018391771090320776),\n", + " ('of', 0.00405191244929205),\n", + " ('a', -0.002109074441195801),\n", + " ('spy', -0.0007830979580052787),\n", + " ('chase', -0.0036878918371692987),\n", + " ('in', 0.015809613424947962),\n", + " ('egypt', -0.010109178475355304),\n", + " ('(', 0.003451755028575934),\n", + " ('with', 0.0040107199310694275),\n", + " ('mor', -0.017268866451534342),\n", + " ('##ro', -0.004871760623139183),\n", + " ('##co', -0.014200920054187409),\n", + " ('doing', -0.012922122710388124),\n", + " ('stand', -0.0018846589986115869),\n", + " ('in', 0.015012196368231076),\n", + " ('for', -0.038149173615009316),\n", + " ('egypt', -0.015890215772155596),\n", + " (')', -0.057217108285891966),\n", + " ('to', -0.05932894425458172),\n", + " ('find', -0.061878306425242245),\n", + " ('out', -0.0586971869718669),\n", + " ('about', -0.024559985360392243),\n", + " ('a', 0.039816881748876196),\n", + " ('long', 0.025870747080056485),\n", + " ('lost', 0.012972027973131116),\n", + " ('friend', 0.025101417674184882),\n", + " ('.', 0.004025339004985702),\n", + " ('what', 0.003075637315246895),\n", + " ('follows', -0.0010285949640895808),\n", + " ('is', 0.0011061442452319277),\n", + " ('the', 0.0033212815010324275),\n", + " ('standard', -0.025430913332640016),\n", + " ('james', 0.031306464149815035),\n", + " ('bond', 0.03577222133384598),\n", + " ('/', -0.026492651972854074),\n", + " ('inspector', -0.010078535598109312),\n", + " ('cl', -0.003277525260314787),\n", + " ('##ous', -0.0010070600718321695),\n", + " ('##so', -0.010036112882478973),\n", + " ('##u', -0.008960902801057491),\n", + " ('kind', -0.001869293666721478),\n", + " ('of', 0.028369665805157176),\n", + " ('antics', 0.009494194800434909),\n", + " ('.', -0.049915142519752924),\n", + " ('although', -0.02193331870271281),\n", + " ('our', 0.01509766448997066),\n", + " ('man', -0.08695655013924701),\n", + " ('is', 0.5974233305076735),\n", + " ('something', 0.1963490587735644),\n", + " ('of', 0.30107634799074834),\n", + " ('an', 0.011878439522734794),\n", + " ('over', -0.01882870786242765),\n", + " ('##t', -0.011306162391835491),\n", + " ('x', -0.0059763708519316935),\n", + " ('##eno', -0.0008716536046023011),\n", + " ('##ph', -0.0318380574104769),\n", + " ('##obe', -0.009946866875793053),\n", + " (',', 0.018104279673991912),\n", + " ('sex', -0.006747280237648728),\n", + " ('##ist', -5.549377078946285e-06),\n", + " (',', 0.001109829651625314),\n", + " ('homo', -0.030496763783843934),\n", + " ('##ph', -0.00774628757014258),\n", + " ('##obe', 0.0019235856655891374),\n", + " (',', 0.021621875561368627),\n", + " ('it', 0.030340208680077602),\n", + " (\"'\", 0.04072029566511502),\n", + " ('s', 0.03528630143275532),\n", + " ('treated', 0.0009419111481970098),\n", + " ('as', 0.011337523852407421),\n", + " ('pure', -0.005069318402552912),\n", + " ('far', 0.00862062417732261),\n", + " ('##ce', -0.025870571779922937),\n", + " ('(', 0.015150842733926667),\n", + " ('as', -0.005735228279291579),\n", + " ('i', 0.0029490546932515456),\n", + " ('said', -0.027908524239173668),\n", + " (',', 0.010166926829222942),\n", + " ('don', -0.005336755178519385),\n", + " (\"'\", 0.0408725410303627),\n", + " ('t', -0.07193906165575753),\n", + " ('take', -0.004208576335319172),\n", + " ('it', 0.04563292510996257),\n", + " ('too', -0.014641543051834668),\n", + " ('seriously', 0.0032865990935125396),\n", + " (')', -0.08033170462325873),\n", + " ('.', -0.04926806198393166),\n", + " ('although', -0.04490614349319754),\n", + " ('there', -0.1362967538967047),\n", + " ('is', 0.17212415019446106),\n", + " ('a', 0.19309978940770525),\n", + " ('bit', 0.0582969382734904),\n", + " ('of', 0.25256509198981575),\n", + " ('rough', -0.004432105027103913),\n", + " ('language', 0.010978001376839639),\n", + " ('&', 0.02797472585381217),\n", + " ('cartoon', 0.0085784259928857),\n", + " ('violence', -0.00806138159312935),\n", + " (',', -0.009526141056947114),\n", + " ('it', 0.007479853110546001),\n", + " (\"'\", 0.04335445309128372),\n", + " ('s', 0.035733078707615926),\n", + " ('basically', -0.026516495150496516),\n", + " ('okay', -0.01841159661574183),\n", + " ('for', -0.02683535839846257),\n", + " ('older', -0.008158880675165259),\n", + " ('kids', -0.010132233843848093),\n", + " ('(', 0.0475308853298322),\n", + " ('ages', 0.01958816756026171),\n", + " ('12', -0.0017357824605860564),\n", + " ('&', 0.0027736144250710784),\n", + " ('up', -0.01153729914787012),\n", + " (')', -0.02012116463792713),\n", + " ('.', -0.01675786758223043),\n", + " ('as', 0.005083586301223606),\n", + " ('previously', -0.029951808039034272),\n", + " ('stated', -0.032507365007805177),\n", + " ('in', 0.037532402236831595),\n", + " ('the', 0.012663017487051976),\n", + " ('subject', -0.024910720512307513),\n", + " ('line', -0.001765094253059391),\n", + " (',', 0.0006790347728253577),\n", + " ('just', -0.014002494722837336),\n", + " ('sit', -0.011320256674891062),\n", + " ('back', -0.008031198959506077),\n", + " (',', 0.02743169911021911),\n", + " ('pass', 0.0035706693985678947),\n", + " ('the', 0.017326225723121026),\n", + " ('popcorn', 0.01492260936467369),\n", + " ('&', 0.030515153890174274),\n", + " ('just', 0.005128976283120517),\n", + " ('enjoy', 0.04130549434117232),\n", + " ('.', -0.021317246252335824),\n", + " ('[SEP]', 0.0)]" + ] + }, + "metadata": {}, + "execution_count": 43 + } + ], + "source": [ + "# Afficher les attributions\n", + "word_attributions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "QC80GMPn50ez", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "8189f0bc-9c94-4a07-ac1a-b6c8b10f2e6e" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'LABEL_1'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 44 + } + ], + "source": [ + "cls_explainer.predicted_class_name" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Visualisation\n", + "\n", + "Le code ci-après vous permet de visualiser les attributions pour un exemple." + ], + "metadata": { + "id": "LLYt2uH7pUuX" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "0mmp7RCi50e0" + }, + "outputs": [], + "source": [ + "table = pds.DataFrame(word_attributions,columns=[\"tokens\",\"score\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "GP_QnEAf50e0", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 940 + }, + "outputId": "84ea6bcb-44e5-4c32-9713-1d434c1eea81" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "<Axes: ylabel='tokens'>" + ] + }, + "metadata": {}, + "execution_count": 46 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "<Figure size 1500x1500 with 1 Axes>" + ], + "image/png": "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MjIKXSIiIiIiIiIiIiWhYGExTExMWL16Nfv27aNJkyaMGzeOOXPmGN/b29vz1VdfkZCQgLe3N1OmTGHq1KkAWFlZAVC9enXi4uLIy8ujS5cueHl5ERgYiKOjIyYmt//Th4eHs3XrVlxdXWnevHmRbVTgRERERERERERESksFTu6gVatW8fzzz5Oeno61tfU9nVsFTkREREREREREpCgqcHKPfPTRR9SpU4caNWqwf/9+Jk2axIABA+55oBBU4EREREREREREREpPwcJSOHPmDFOnTuXMmTO4uLjQv39/pk+ffkfGzsnJYcKECaxevZqMjAxatWrF3LlzeeSRR4pt/9fMQhG5N0paaOROUcESERERERERudN0ZmEpTJw4kaSkJLKzszlx4gRz587Fxsbmjo29du1ali9fzo8//ki9evXw9/fn4sWLRbbXmYUiIiIiIiIiIlJaChY+gC5fvsx//vMf5syZQ7du3fD09KRdu3akpqby4YcfFtknODiY9PR043Xq1Kl7vGoREREREREREXnYaRvyA+j48eNcu3YNHx8f47OTJ09SuXJlDh06VGQfnVkocv9oO7CIiIiIiIiUFcosfEhs2rSJJk2a3O9liIiIiIiIiIhIGabMwgdQ3bp1sbCwIC4uDjc3NwDi4uKoXbs23bt3L7KPCpyIlD9FFVZRlqOIiIiIiIiUhjILH0C2tra8/PLLTJgwgc2bN5OYmMjIkSPJyspi+PDhRfZRgRMRERERERERESktZRY+oGbOnEl+fj5Dhgzh0qVLtGrVii1btlCxYsUi2wcHBxMUFGS8z8jIUMBQRERERERERERKxFBQUFBwvxchd15GRgYODg6kp6djb29/v5cjIiIiIiIiIiL3SUniRNqG/IBbs2YNXl5eWFtbU7lyZTp16sTly5fv97JERERERERERKQM0jbkB1hycjIDBw5k9uzZ9O7dm0uXLhEbG0tRyaAqcCJS/hRV4KQoKnoiIiIiIiIit0vBwgdYcnIyubm59OnTh6+++or169cTFRVVZNuwsDBCQ0Pv8QpFRERERERERKQs0ZmFD7C8vDz8/f3ZvXs3NWvWJCUlhaNHjxZZ5KSozEJXV1edWSgiIiIiIiIiUs7pzMIywtTUlK1bt7Jp0yb69+9P9erVadiwISdOnLipraWlJfb29oUuERERERERERGRklCw8AFn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fPABx44dIzU1lRtHPNaoUYNnn32WgIAAAH7//Xe+/PJLlixZYtySvHjxYk6fPl3o7MNr166xcOFCZsyYwfLly2ncuDFbtmzhwIEDLFu2jGnTphEcHExSUhIJCQkEBgZiY2PD6dOncXZ2xtHRsci1qsCJiIiIiIiIiIiUljILb8HExITVq1fzyiuv0KRJE8zMzOjQoQObNm0ytmnevDkAv/32G2ZmZjz22GPExsYCUKlSJRo2bMihQ4eoVasWADY2NtStW5e6detiY2PDa6+9xoULF/D19cXDw4NLly7x2GOPcfjwYWbPns3Ro0fJysrCxsaG2NjYYqshBwcHExQUZLy/UeBERMouZeyJiIiIiIjInaZgYRFycnKws7MDoFOnTsZtxH5+fjg7O/PnAtLVqlXDzMyMOnXqGJ/5+fnx1yLTNzIQAwMDjc8GDRqEjY0NvXv35uLFi6SnpxszB0eOHGksftKxY0diY2MLzfFXKnAiIiIiIiIiIiKlpW3If5Kbm0tiYiLff/89jRs3LrJNfHx8ofsffviB+vXr4+npSW5ubqH3N8489PT0vK35HRwccHFxKTRGbm4uR48exdbWlpUrV/6DrxIREREREREREbk9yiz8k4MHD9KmTRs6dOjASy+9VGSbkydPEhQUxIsvvsiPP/7IggULCA8Pp379+vTs2ZORI0eyaNEiKlSowOTJk6lRowY9e/a87TWMHTuWmTNnUr9+fRo1asQ777xDWloaNWrUYPXq1YwePbrIfipwIlIyD0txkFvRNmQRERERERG50xQs/BNvb2+ysrJu2ea5557jypUrPProo5iamjJ27FheeOEFAJYtW8bYsWPp3r07V69epX379mzcuBFzc/PbXsOrr75KcnIyQ4cOxcTEhGHDhtG7d2+OHj3K7t27ycnJKXK7cVhYGKGhoSX7YBERERERERERkT8xFPz1cD15IP388880a9aMpKQk3NzcbnpfVGahq6sr6enp2Nvb38ulioiIiIiIiIjIAyQjIwMHB4fbihMps/AhYW1tDVBs5qMKnIiIiIiIiIiISGkpWPiQuHjxIgBOTk73eSUi8qAoC+cu3m8691FERERERKQwBQsfEgcPHqRmzZpUqVKlyPcqcCIiIiIiIiIiIqVlcr8XUN5ER0djMBhIS0srUb/Y2Fi6dOlS7PuwsDAcHByMl6uraylX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tLS8A18vIiIiIiIiIiLlVZkpcLJixQpatWpFhQoVcHZ2ZtCgQaSkpBjfR0ZG4ujoWKjPhg0bMBgMxvuQkBC8vb1ZsWIF7u7uODg48MwzzxgDfAD5+fnMnj2bevXqYWlpSa1atZg+fXqhcbOysujatSvnzp2jWbNmODs7Ex0dTXR0NH5+fuzcuZPZs2eTlpZGcHAwH374IdWqVePIkSMApKSk0KNHD2xsbBg8eDANGjTAxcUFU1NT1q9ffxd+PRERERERERERkTKUWXjt2jXeeustGjZsSEpKCkFBQQQEBLBx48YSjXP8+HE2bNjA119/TWpqKgMGDGDmzJnGgGBwcDCLFy9m7ty5tG3bluTkZH799ddCY5ibm3Pu3DmmTp3KwYMHee+99zh79izXrl2jdu3adO3alVatWnHkyBFee+015s2bx+bNmzl79iyenp4EBARw9OhRhg4dio+PD3PnzuXMmTPk5eUVe2ahCpyIlD8qcCJynbbki4iIiIjcOWUmWDhs2DDj33Xq1GH+/Pk88sgjZGZmYmdnd9vj5OfnExkZSYUKFQAYMmQIUVFRTJ8+nUuXLjFv3jzeffddhg4dCkDdunVvqk7crl07vvvuO55++mn69+9P48aNadSoEWlpaXz66ac8++yzhIWFMWzYMMaPH4+5uTmpqak0bNiQzMxMoqKi+PTTT1m6dCnr1q0jPT2dq1ev0qdPH+O5iX+lAiciIiIiIiIiIlJaZSZYuG/fPkJCQti/fz+pqank5+cDcPLkSTw9PW97HHd3d2OgEMDFxcW4nfnQoUPk5OTQsWPHW44xY8YMtm7dCkBqaioAixYton379jzyyCP8/PPPrFq1ytj+RkbgypUrOX36NDExMfTr148BAwYY21SsWJF27doVO6cKnIiUP8qmEhERERERkTutTAQLL1++jL+/P/7+/qxatQonJydOnjyJv78/V69eBcDExISCgoJC/a5du3bTWObm5oXuDQaDMfBobW19W+v58xg3zkS8MUZmZiYvvvgir7zyyk39atWqxenTp29rjr9SgRMRERERERERESmtMhEs/PXXX7lw4QIzZ840ZtPt3bu3UBsnJycuXbrE5cuXsbW1BSAhIaFE89SvXx9ra2uioqIYMWLEP1prixYtSExMpF69eoWe+/n54e3tzcsvv0xubi5jxowhOzubzz//HDs7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iIiIiIiIiEhRVODkLjIYDIwdO5bAwEA+//xzevXqZXy3fv16hg8fTlJSEqampjg4ONCtWzf+HI/dtWuX8W8vLy9cXFzo2LEjx44do27durzwwgvG95cvXyY1NZWhQ4eyZcuWW65LBU5ERERERERERKS0VODkDmrZsiUJCQmkpaWRnJzM5s2buXDhAnXq1Cm2z2OPPQbAsWPHgOvVks+cOUNKSgpvvfUWjo6OtGrVCgBra+u7/xEiIiIiIiIiIlJuKbPwLnBwcADg6NGj7N27l7feeqvYtgkJCcD1YikArVu3Ztq0aVSrVo2aNWsSGRnJ9u3bsbe3x9HRsdhxVOBEpPy5UeikvFBBFxERERERkbtPwcISyMzMNGYAApw4cYKEhAQqVapErVq1+Pzzz3FycqJWrVocOHCAsWPH0qtXL7p06QLA8ePH+fjjj3nyySepXLkyP//8M+PGjaN9+/Y0bdoUgC5dutC4cWOqV6/O7NmzOXPmDK+99hqjR49mxowZxa5NBU5ERERERERERKS0VOCkBKKjo+nQocNNz4cOHUpkZCTz589nzpw5nD17FhcXF5577jlef/11LCwsADh16hSDBw/m4MGDXL58GVdXV3r37s1rr71W6HDJ33//nZdffpno6GhsbW0ZOnQoM2fOxMys+NiuCpyIiIiIiIiIiEhRSlLgRMHCMqok/xGIiIiIiIiIiEjZVZI4kQqcPODWrFmDl5cX1tbWVK5cmU6dOnH58uX7vSwRERERERERESmDdGbhAyw5OZmBAwcye/ZsevfuzaVLl4iNjaWoZFAVOBEpfx6mAicqTiIiIiIiIvJwULDwAZacnExubi59+vTBzc0NAC8vryLbqsCJiIiIiIiIiIiUls4sfIDl5eXh7+/P7t278ff3p0uXLvTr14+KFSve1FYFTkREREREREREpCg6s7CMMDU1ZevWrWzatAlPT08WLFhAw4YNOXHixE1tLS0tsbe3L3SJiIiIiIiIiIiUhDILHyJ5eXm4ubkRFBREUFDQLduqGrLIg+tOnTWocwBFRERERETkdpQkTqQzCx9g8fHxREVF0aVLF6pWrUp8fDznzp3Dw8PjprYqcCIiIiIiIiIiIqWlYOEDzN7enh07dhAREUFqair5+fnMmzePbt263dRWBU5ERERERERERKS0tA35IREZGUlgYCBpaWlFvleBExERERERERERKYq2IZdDlpaWWFpa3u9liIiIiIiIiIjIQ0zBwrtg8+bNTJs2jYMHD2Jqakrr1q2ZN28edevWJSkpidq1a7N27VoWLFhAfHw89evXZ+HChbRu3do4RmRkJFOnTuX8+fP4+/vTtm3bW86pMwtFyp87VSjlQaPCLSIiIiIiIvePyf1eQFl0+fJlgoKC2Lt3L1FRUZiYmNC7d2/y8/ONbaZMmcL48eNJSEigQYMGDBw4kNzcXOB6YZPhw4czZswYEhIS6NChA9OmTbvlnGFhYTg4OBgvV1fXu/qNIiIiIiIiIiJS9ujMwnvg/PnzODk5ceDAAezs7KhduzZLlixh+PDhACQmJtK4cWMOHTpEo0aNGDRoEOnp6Xzzzf+yhmrUqMEff/xBcf9cOrNQpPxRZqGIiIiIiIjcDp1ZeJ8dPXqUqVOnEh8fz/nz540ZhSdPnsTT0xOApk2bGtu7uLgAkJKSQqNGjTh06BC9e/cuNKa1tfUt59SZhSLlj4JqIiIiIiIicqcpWHgX9OjRAzc3NxYvXkz16tXJz8+nSZMmXL161djG3Nzc+LfBYAAotE35r86dO2dsJyIiIiIiIiIicjeUiTML16xZg5eXF9bW1lSuXJlOnTpx+fJlAgIC6NWrF6GhoTg5OWFvb89LL71UKGi3efNm2rZti6OjI5UrV6Z79+4cP37c+L5fv36MGTPGeB8YGIjBYODXX38F4OrVq9ja2vLdd98B4OPjw+HDh6lcuTL9+/enQ4cOhIeH37TmP6+pR48ehd55eHjw8ccfU61aNSpUqMDw4cOpUaPGLYOFOTk5ZGRkFLpEpGxzn/zNbV0iIiIiIiIit+uhDxYmJyczcOBAhg0bxqFDh4iOjqZPnz7Gs/2ioqKMzz/55BPWrVtHaGiosf/fFSPx9fUlOjra2D4mJoYqVaoYn+3Zs4dr167Rpk0bAMzMzDAYDPzyyy989tlnBAQEsGzZspvWffHiRTZt2sS+ffto1qwZ8L8Kxp6enhw+fBhfX1/WrFnDf//7Xw4dOnTL30EFTkREREREREREpLQe+gInP/74Iy1btiQpKQk3N7dC7wICAvjqq684deoUNjY2ACxcuJAJEyaQnp6OicnNsdI/FyNp0qQJBw4coFmzZpw9exYzMzOcnZ15/fXXOXjwIKtXr2b69Ols3LiRuLg4APz8/Lhw4QJ5eXn89ttvNGzYkJycHA4fPsz69eu5du0aAwYMID4+nkcffRSAtLQ0KlasSFBQEOHh4bRp0wYrKyuOHj3K+fPnyc7OxtnZmZSUFPLy8or8HVTgREREREREREREilKSAicPfWZhs2bN6NixI15eXvTv35/FixeTmppa6P2NQCFA69atyczM5NSpU8D1YiQDBw6kTp062Nvb4+7uDlwvRgLQpEkTKlWqRExMDLGxsTRv3pzu3bsTExMDXM809PPzK7Sm9u3bk5iYSHZ2Nvv376dhw4Y8//zz9OrVi5SUFExMTHjiiSews7PDzs6OmjVrYmJigpnZ9SMkDx06REBAAKdOnTJmFN74xuJYWlpib29f6BIRERERERERESmJhz5YaGpqytatW9m0aROenp4sWLCAhg0bcuLEidvq36NHDy5evMjixYuJj48nPj4ewHiuocFgoH379kRHRxsDg02bNiUnJ4eDBw+ya9cufH19C4355+IlN8a4sa05MzMTFxcXEhISjNf8+fPx9vbmP//5D5UrVyYzM5OUlBQAateuDcCqVavYv3//TYFJERERERERERGRO6VMVEM2GAz4+Pjg4+PD1KlTcXNzY/369QDs37+fK1euYG1tDcAPP/yAnZ0drq6uXLhwgcOHD7N48WLatWsHwM6dO28a39fXl8WLF2Npacn06dMxMTGhffv2zJkzh5ycHHx8fG57rS1atODMmTOYmZkZsxj379/PlClTaNq0KZmZmTzxxBOEhYURFBTE7t27efTRR/Hw8MDExIR169YVOW5R25BFpGy7V8VLkmY+dU/mERERERERkfvvoc8sjI+PZ8aMGezdu5eTJ0+ybt06zp07h4eHB3A9Q3D48OEkJiayceNG3njjDcaMGYOJiQkVK1akcuXKfPDBBxw7doxt27YRFBR00xx+fn4kJibyyy+/0LZtW/z8/EhNTWXVqlW0atUKW1vb215vp06daN26Nb169eLbb78lKSkJFxcX9u3bR1paGt7e3syaNYuLFy8yffp0Ll26BFzfFm1mZkalSpWKHFcFTkREREREREREpLQe+sxCe3t7duzYQUREBBkZGbi5uREeHk63bt349NNP6dixI/Xr16d9+/bk5OQwcOBAQkJCADAxMWH16tW88sorNGnShIYNGzJ//vybtvp6eXnh6OhIgwYNsLOzA6BmzZrk5eWVeFuwwWBg48aNTJkyheeff55z585RpUoVLCwsWLFiBWlpacYty2+//TZvvvkmAP379+enn34qdtzg4OBCgc4bBU5EpOxSxp+IiIiIiIjcaQ99NeRbCQgIIC0tjQ0bNtzRcf38/PD29iYiIuKOjNeoUSPc3NyYOHEi1atXJz8/nyZNmrB+/XpWrlzJ2rVr+emnn/D29r7tMUtS5UZERERERERERMquclUN+X7Lyclh/Pjx1KhRA1tbWx577DGio6ON7y9cuMDAgQOpUaMGNjY2eHl58cknnxR6f/jwYY4ePUr37t1p27YtQ4cOBWD16tWsXbsWgObNm2MwGAqNLSIiIiIiIiIicic99NuQ77cxY8aQmJjI6tWrqV69OuvXr6dr164cOHCA+vXrk52dTcuWLZk0aRL29vZ88803DBkyhLp16/Loo4+SnZ0NQKVKlVi6dCnHjh1j2rRpAPTs2ZO8vDzWrVvHhAkTePbZZ3F2di5yHSpwInLvCn48KLQNWURERERERO60Mr0N+W65sQ05KCiIOnXqcPLkSY4cOUKHDh1ITU2lX79+PProo8yYMaPI/t27d6dRo0bY2dnx8ccfc/ToUerVq8epU6cKnZu4fv16NmzYwP79+7lw4QKnT5+mXbt2RWYXhoSEEBoaetNzbUOW8kTBQhEREREREZGblWQbsjILS+HAgQPk5eXRoEEDAGxsbKhZsyY5OTlUrlwZgLy8PGbMmMFnn33G6dOnuXr1Kjk5OdjY2ODp6Ym1tTUdO3Zk9+7d9OjRgy5dutC0aVNuxHBfeuklbG1tOXny5C3XogInIgqeiYiIiIiIiJSWgoWlkJmZiampKfv27cPU1LTQuxtVk+fMmcO8efOIiIjAy8sLW1tbAgMDuXr1KnC9OvLWrVvZtWsX3377LQsWLGDKlCnEx8dTu3bt216LpaUllpaWd+7jRERERERERESk3FGwsATy8/OZNWsWP/zwAzt37mTz5s3k5eWRkpJCXl6ecRuyo6MjAIsXLyY0NJRr166xdu1aUlJSCA0NpVq1anh6ehrHXblyJa+//jqpqan4+/tz4cIF1q9fz88//8zZs2eB60FFgBMnTuDu7n6vP11EHhB/3mqtTEoRERERERG50xQsLIGwsDBWrlxJgwYNaNmyJb6+vgwfPpwBAwbw8ssvA7Bv3z52796NmZkZkydPxsfHh2PHjlG3bl3efPNNrly5wtmzZ43BwiNHjjBz5kxmzZqFqakpI0eO5NKlS3h4eDB8+HC2bdtGamoqmzZtomLFiipwIiIiIiIiIiIid40KnNymnJwcKlWqxHfffUdwcLCx4EhqaiomJiZYWVmRlZWFs7Mz6enpuLm5UbduXT766COGDRtGVFQUubm5FBQU8PTTT5Oeno63tzezZs3Cx8eHn3/+mYyMDGxsbLC3tycpKQmANm3acPr0aS5evEhmZibbt2/Hz8/vpvWpwIlI+aDMQhERERERESmpkhQ4MblHa3roHTt2jKysLDp37kx8fDwHDx4kOzsbc3NzmjVrxueffw7AoUOHqFq1KpcuXeLRRx+lUqVKbNiwgUuXLjFr1iysrKxYvnw5GzZsAKBOnTp89913pKSkkJ2dzeuvv46Jyf/+WSwsLOjduzeXLl2ioKCgyEAhXC9wkp6ebrxOnTp1t38SEbkPkmY+ZbxERERERERE7jRtQ75NmZmZAHzzzTds27aNxYsXs2PHDuB6cZHjx4//o3HNzc0L3RsMBvLz80s8jgqciIiIiIiIiIhIaSlYeJs8PT2xtLTktddeY+fOnQDUr18fNzc33N3dqVKlSqH2VatWZc+ePcD1AODChQuZPXs26enpeHh4sHTpUi5evMixY8ewtbWlWbNmrFixwth///79BAYGsnPnTnbt2kVsbCyLFi2iVatWRa5PZxaKlA/ahiwiIiIiIiJ3k7Yh36YKFSowfvx4EhMT6d27N87OzmzZsoUXX3yRM2fO3NS+bdu2bNy4kXfeeQeAyZMnk5GRgb29PY0aNWLQoEF89dVXVKtWjb1791JQUMCYMWOM/Z999llq1qxJnz59aNSoEcOGDSMzM7PYrMOwsDAcHByMl6ur6935IUREREREREREpMxSsLAE3nrrLaZOnUpcXBxnzpxh8ODBxMTEYGVldVPbOnXqsHDhQmOwsFq1akyaNAkbGxsmTZpEUlISTZs2pUKFCnh4eDB27Fiio6ON/U+ePEmnTp2YNm0atra2TJgwgQ4dOrBr164i16YzC0VEREREREREpLS0DbkEDAYDY8eOpaCggIiICGPFYj8/P2rWrMlfC0uPHDmSkSNHYjAYeOutt/j222+pV68e1apVA+C1117jkUceAa4HE7Ozsxk2bBiBgYGEhIQwYsQIfH196dmzJx4eHpiamtK2bdsi16YzC0XKB209FhERERERkbtJmYV30dtvv83+/fsB+Pbbb1m+fDlDhw7FYDAAhYub3Hh2Y5txSEgIv/zyC0899RRbt25l2bJl1K1b9x5/gYiIiIiIiIiIlCfKLLyLdu/ezezZswHYsmUL8+fPZ8SIEcaMxL/ToEEDGjRogKurK3FxccVuQQYVOBEpj/5c7ORhoKxIERERERGRB58yC++izz77jJSUFADmz5/PSy+9dFv9rly5wpgxY4iOjub333/n008/xdTUFA8Pj2L7qMCJiIiIiIiIiIiUljILH0CmpqZcuHCB5557jrNnz2JiYkLt2rUJDQ0ttk9wcDBBQUHG+4yMDAUMRURERERERESkRAwFf63KIQ8cf39/6tWrx3vvvXfbfTIyMnBwcCA9PR17e/u7uDoREREREREREXmQlSROpG3IJeTn58crr7zCxIkTqVSpEs7OzoSEhBjfnzx5kp49e2JnZ4e9vT0DBgzg7NmzxvchISF4e3uzYsUK3N3dcXBw4JlnnuHSpUvGNvn5+YSFhVG7dm2sra3ZvXu3sVCKiIiIiIiIiIjI3aJtyP/A8uXLCQoKIj4+nu+//56AgAB8fHzo2LGjMVAYExNDbm4uo0eP5umnnyY6OtrY//jx42zYsIGvv/6a1NRUBgwYwMyZM5k+fTpw/fzBlStXsnDhQurXr09wcDCff/45MTEx+Pr6FrkmFTgRKbmHrUDIX6lgiIiIiIiIiNxpChb+A02bNuWNN94AoH79+rz77rtERUUBcODAAU6cOGE8L/Cjjz6icePG7Nmzh0ceeQS4njkYGRlJhQoVABgyZAhRUVFMnz6dnJwcZsyYwXfffUfr1q0BeOqpp/jss8/w8/OjZ8+ebNiw4aY1hYWF3fJMQxERERERERERkb+jYOE/0LRp00L3Li4upKSkcOjQIVxdXQsVFvH09MTR0ZFDhw4Zg4Xu7u7GQOGf+wMcO3aMrKwsOnfubHx/5coVAGrWrElkZGSRa1KBE5GSU2aeiIiIiIiISGEKFv4D5ubmhe4NBgP5+fl3pH9mZiYA33zzDTVq1ADgkUceoWfPnsTFxRV7CKWlpSWWlpa3vQYREREREREREZG/UoGTO8jDw4NTp05x6tQp47PExETS0tLw9PQstl9ubi4XL16katWqtG/fHoPBQHR0NGZmZtSvX5+0tDSWL1/OsWPHmDt37r34FBERERERERERKYeUWXgHderUCS8vL5599lkiIiLIzc1l1KhR+Pr60qpVq2L7ffnll2RlZfHpp5/i5ubGM888Q2hoKFWqVOH777+nU6dO+Pv74+vry8iRI4scQwVORMqf+1WgRdu3RUREREREyi5lFpZSZGQk33xz/X+wGwwGvvjiCypWrEj79u3p1KkTderUoVq1avTq1avI/pcvXyYuLo6KFSvSrVs3bGxsOHDgADY2NoSGhtK+fXuysrI4cuQI3t7eWFtbFzlOWFgYDg4OxkvnFYqIiIiIiIiISEkZCgoKCu73Ih5mkZGRBAYGkpaWVmyb9PR0CgoKcHR0vOndzz//TLNmzUhKSsLNzY2kpCRq165Nhw4dcHd3Z+nSpTg6OhIREUFAQECxcxSVWejq6kp6enqx5xyKiIiIiIiIiEjZl5GRgYODw23FibQN+R5wcHC463OowImIiIiIiIiIiJSWtiEX4euvv8bR0ZG8vDwAEhISMBgMTJ482dhmxIgRDB482Hi/ZcsWPDw8sLOzo2vXriQnJxvfBQQEFNqGnJ+fz+zZs6lXr57xLMMJEyYUWsP+/fuJiYnBxsaGS5cucezYsbvxqSIiIiIiIiIiIkbKLCxCu3btuHTpEj/99BOtWrUiJiaGKlWqEB0dbWwTExPDpEmTAMjKyuLtt99mxYoVmJiYMHjwYMaPH8+qVauKHD84OJjFixczd+5c2rZtS3BwMFu3bmXz5s2YmpoCkJaWxvvvv0/z5s1p0qQJCxcuJCQkBDOzov/JVOBEpPy5WwVOVMBERERERESk/FJmYREcHBzw9vY2Bgejo6MZN24cP/30E5mZmZw+fZpjx47h6+sLwLVr11i4cCGtWrWiRYsWjBkzhqioqCLHvnTpEvPmzWP27NkMHTqUunXr8tFHHzFkyBCGDBlC9+7dgesBxaeffpoGDRpgZWXFhQsXbpldqAInIiIiIiIiIiJSWsosLIavry/R0dG8+uqrxMbGEhYWxmeffcbOnTu5ePEi1atXp379+sTFxWFjY0PdunWNfV1cXEhJSSly3EOHDpGTk0PHjh2Nz6ysrJg/fz7z5883Fjjp2bOn8f3vv/9OpUqVSElJoVGjRkWOGxwcTFBQkPH+RoETESm7lAEoIiIiIiIid5qChcXw8/Nj6dKl7N+/H3Nzcxo1aoSfnx/R0dGkpqYaswoBzM3NC/U1GAwUV2Ta2tr6tub/85gGgwG4ftZhcVTgRERERERERERESkvBwmLcOLdw7ty5xsCgn58fM2fOJDU1lVdfffWmPl9//TWDBw9m6dKlwPXCKDfOHLyReRgeHo6pqSlffPEF8fHx7Nixg9TUVOrWrcu///1vWrdubRxvzZo1hIaGcvToUQBeffVVduzYga2t7d3+fBF5CPyTMwuVjSgiIiIiIiK3ojMLi1GxYkWaNm3KqlWr8PPzA6B9+/b8+OOPHDlypFBm4Q03Aoy//fYbgLEwypkzZ4xt4uLiePLJJwkJCaGgoICFCxeyYsUKvLy8GDJkCAkJCQCcO3eOgQMHMmzYMHbv3m0cv7iMxZycHDIyMgpdIiIiIiIiIiIiJaFg4S34+vqSl5dnDBZWqlQJT09PnJ2dadiw4U3tbxRGOXjwIPC/wigXL14kNzfXWBhlzpw5TJgwgR9++IG+ffsSFBSEl5cXXbt25ZtvrmcKnT9/ntzcXPr06UOtWrUA6NWrF3Z2dkWuVQVORERERERERESktAwFxaWqyT8SFBTEkSNH+Oqrr3BycmLnzp0888wzzJw5k4sXLzJhwgROnz5NXl4eM2bM4LPPPuP06dNcvXqVnJwcevfuzWeffUZeXh7+/v7s3r0bf39/unTpQr9+/ahYsWKR8+bk5JCTk2O8v1HgJD09HXt7+3v1+SIiIiIiIiIi8oDJyMjAwcHhtuJEyiy8w/z8/Ni5c2eRhVFiYmKM25fnzJnDvHnzmDRpEtu3bychIQF/f3+uXr0KgKmpKVu3bmXTpk14enqyYMECGjZsyOHDh4uc19LSEnt7+0KXiIiIiIiIiIhISShYWEr5+fmEhYVRu3ZtrK2tCQ4OJiMjg3feeYf09HT+85//GIOF0dHR1KlTBxMTE7777jt69uxJ9+7dWbBgAY8//jgbN24kLi6O/fv3A9erIG/dupUvvviCMWPGcPHiRRo1alTkOnRmoUj54D75G+MlIiIiIiIicqeV+2Chn58fgYGB/7h/WFgYH330EQsXLuSXX35hwoQJAKxatQofHx8+/vjjQoVR/vjjD3x8fGjatClbt26lc+fOHD9+nLZt22Jra4uDgwMdO3bk22+/ZcaMGfzxxx8cPnyYF198EYPBwHvvvVfsOnRmoYiIiIiIiIiIlEa5DxaWRk5ODjNmzGDp0qX4+/tTp04dAgIC8PT0JD8/n1GjRhEXF0dmZqaxMMq3337Ls88+y2uvvYabmxt79+4lMTERLy8v+vTpQ5MmTXB0dOT7779nx44drFq1iuzsbABeffVVRo0aVeRagoODSU9PN16nTp26lz+FiIiIiIiIiIiUAWb3ewF309WrV7GwsLhr4x87doysrCw6d+5807yPPvoovXv3xsPDg48//piEhAS2b9+Ov78//fv3p1KlSjzzzDPs2rWLy5cvM3fuXGP/K1eukJWVxebNmwkJCWH58uUkJSXxzDPPFLsWS0tLLC0t79q3isiDIWnmU/d7CSIiIiIiIlKGlanMQj8/P8aMGUNgYCBVqlTB39+fgwcP0q1bN+zs7KhWrRpDhgzh/PnzxY6Rk5PD+PHjqVGjBra2tjz22GNER0cb31+4cIGBAwdSo0YNWrZsCVyvgJyQkGC8wsPDSUtLw9ramhMnTjB9+nQuX77Mxx9/TNeuXVm/fj0eHh6MHTsWExMTxo8fX6j/Z599xsaNG7GysuKDDz642z+biIiIiIiIiIgIUAYzC5cvX87LL79MXFwcaWlpPPHEE4wYMYK5c+dy5coVJk2axIABA9i2bVuR/ceMGUNiYiKrV6+mevXqrF+/nq5du3LgwAHq169PdnY2LVu2ZNKkSZiYmNCyZUumTZtG9+7defTRR0lOTiYoKIjZs2fTu3dvfv31V5588kl+/PFH1qxZw+DBg5k6dSrvvvsumZmZPP/880RERFC7dm2GDh1KZmYmbdq0oXPnzqxevZrp06ezdu3av/3unJwccnJyjPcqcCLyYLibhUiUZSgiIiIiIiJ3WpkLFtavX5/Zs2cDMG3aNJo3b86MGTOM75cuXYqrqytHjhyhQYMGhfqePHmSZcuWcfLkSapXrw7A+PHj2bx5M8uWLWPGjBnUqFGD8ePHG/tMmjSJ2bNn88Ybb/Duu+/yww8/kJubS35+Pu7u7ri7u9OmTRv+9a9/kZeXxzfffEN4eDh9+vShoKCAxYsXc+zYMUaNGkVMTAxOTk5kZmYyatQoGjduTIMGDahatSr//e9/b/ndYWFhhIaG3qmfUUREREREREREyqEyFyy8sTUYYP/+/Wzfvh07O7ub2h0/fvymYOGBAwfIy8u76XlOTg6VK1cGIC8vjxkzZvDZZ59x+vRpcnJyyMvLIy4uDg8PDxwdHalUqRKvv/46P/zwA126dKF3796MHz+eQYMG8fHHHzN8+HBGjhwJQEFBATk5ORQUFLBy5UqsrKywt7enVq1axvltbGz+9ruDg4MJCgoy3mdkZKgissgDQNl/IiIiIiIi8jApc8FCW1tb49+ZmZn06NGDWbNm3dTOxcXlpmeZmZmYmpqyb98+TE1NC727EXCcM2cO8+bNIyIiAi8vL2xtbQkMDMTMzIwNGzYA1wOAu3bt4ttvv2XBggWcOXOG3377DRsbGz7++GMWL17MY489Vmh8U1NTateuzbhx49i/f78x0BcSEkLv3r3x9va+5XerwImIiIiIiIiIiJRWmQsW/lmLFi1Yu3Yt7u7umJn9/ac2b96cvLw8UlJSaNeuXZFt4uLi6NmzJ4MHDwYgPz+fI0eO4OnpaWxjMBjw8fHBx8eHqVOn4ubmxvr16wkKCqJ69er89ttvPPvss4XG9fPzw9vbG09PT+bPn09oaCi///47n3/+Oebm5qX4FURERERERERERG5PmQ4Wjh49msWLFzNw4EAmTpxIpUqVOHbsGKtXr2bJkiU3ZQ82aNCAZ599lueee47w8HCaN2/OuXPniIqKomnTpjz11FPUr1+fNWvWsGvXLipWrMg777zD2bNnjcHC+Ph4oqKi6NKlC1WrViU+Pp5z587h4eEBQGhoKK+88goODg507dqVnJwc9u7dy6lTp/D29mbQoEG8/PLLzJgxg4kTJzJ37lwmT54MQFJSUrEZhipwIlL+3I3iKdo2LSIiIiIiUr6Z3O8F3E3Vq1cnLi6OvLw8unTpgpeXF4GBgTg6OmJiUvSnL1u2jOeee45XX32Vhg0b0qtXL/bs2WM8Q/C1116jRYsW+Pv74+fnh7OzM7169TL2t7e3Z8eOHTz55JM0aNCA1157jfDwcLp16wZAvXr1uHLlCkuWLMHLywtfX18iIyOxtrYGrm93rlq1Kra2tsyePZv33nuPRYsWAbBnz55ivzUsLAwHBwfjpfMKRURERERERESkpAwFBQUF93sRZdmN7cUREREAREdH06FDB1JTU3F0dCyynbu7O6NHj2bChAnG982aNaNv375MnTq1yHmKyix0dXUlPT0de3v7u/JtIiIiIiIiIiLy4MvIyMDBweG24kRlehvyw+yv5xQaDAby8/OLba8CJyIiIiIiIiIiUlplehvy/RYQEEBMTAzz5s3DYDBgMBhISkoCYN++fbRq1QobGxvatGlDVlZWob4HDhygRYsWWFlZUadOHc6cOXPLYKGIiIiIiIiIiEhpKbPwLpo3bx5HjhyhSZMmvPnmmwD88ssvAEyZMoXw8HCcnJx46aWX+OWXX2jTpg1wfUvxqlWrWLRoEe3ateP48eM89dRT7Nixo9i5VOBEpPy5GwVO7jYVUBEREREREXmwKbPwLnJwcMDCwgIbGxucnZ1xdnY2VmCePn06vr6+eHp6MnnyZDIyMsjNzQUgLS2NTp06MXToUOrUqUPnzp1xcXFh3759xc6lAiciIiIiIiIiIlJayiy8T5o2bWr828XFBYCJEycC1ysiR0VFYWdnZ2yTl5dHdnY2WVlZ2NjY3DRecHAwQUFBxvsbBU5EpOxSlp6IiIiIiIjcaQoW3id/LmBiMBgAjGcSZmZmEhoaSp8+fW7qZ2VlVeR4KnAiIiIiIiIiIiKlpWDhXWZhYUFeXl6J+rRo0YI333wTCwsLAgMDjc+9vb3p1asXISEhd3aRIlJiD8J5gcosFBERERERkTtNwcK7zN3dnfj4eJKSkrCzs7utisZTp06la9eubN68mc6dO2NiYsL+/ftJTk4uto8KnIiIiIiIiIiISGmpwMldNn78eExNTfH09MTJyYmTJ0/+bR9/f3+qVq3K4cOHeeSRR3j88ceZO3cuFhYWxfZRgRMRERERERERESktQ0FBQcH9XoTczN3dncDAwNvehlxUZqGrqyvp6enY29vfgxWLiIiIiIiIiMiDKCMjAwcHh9uKE2kb8gPKxMSEv8Zxr127Vmx7FTgREREREREREZHSUrDwAeXk5FTojMKMjAxOnDhRbHudWShS/txOkRUVQREREREREZGS0JmFD6gnnniCFStWEBsby4EDBxg6dCimpqbFtteZhSIiIiIiIiIiUloKFj6ggoOD8fX1pXv37jz11FP06tWLunXr3rJ9enq68Tp16tQ9XK2IiIiIiIiIiJQFKnBSRpXk4EoRERERERERESm7ShInUmahiIiIiIiIiIiIACpw8sBbs2YNoaGhHDt2DBsbG5o3b84XX3yBra1toXYqcCJS/txOgZPSUoEUERERERGR8kWZhQ+w5ORkBg4cyLBhw5g8eTL16tWjT58+FLVzXAVORERERERERESktHRm4QPsxx9/pGXLliQlJbFs2TIiIyNJSkoqsm1RmYWurq46s1BEREREREREpJwryZmF2ob8AGvWrBkdO3bEy8sLf39/pkyZQmpqKhUrVrypraWlJZaWlvdhlSIiIiIiIiIiUlZoG/IDzNTUlK1bt7Jp0yY8PT1ZsGABDRs25MSJE/d7aSIiIiIiIiIiUgZpG/JDJC8vDzc3N4KCgggKCir0TtuQRR4ed6owiYqPiIiIiIiIyO3QNuQyIj4+nqioKLp06ULVqlWJj4/n3LlzeHh43NQ2LCyM0NDQ+7BKEREREREREREpK5RZ+AA7dOgQ48aNIzo6mry8POrUqcO//vUvxoz5/+zdaViV1fv//fdm2swbB5wRRFFBEZwqxTFNNCvHMtMUc8jMctbIHKgM01RMK0tTLDNTU/OXZplKjuGII5kDOOKUAoK6keF+4O3+x1cwCUyFz+s4riP2da21rnNve3Qe51rnwDvGqrJQRERERERERERykpfKQiULHwEHDhygSZMmxMXFYTKZ7mlOXv4nEBERERERERGRwisveSI1OHkE1KxZk8qVK7NgwYIHHYqIiIiIiIiIiBRiOrPwEVGqVClGjx7N66+/nuPznLYhi0jBKqjGJAVFDU5ERERERESkoKmy8BFRrFgxkpKSsiUE/y48PByTyWS5PDw8/uMIRURERERERETkUaczCx8R+/btIyAggPj4eDw9Pe94rgYnIiIiIiIiIiKSk7ycWahtyI8IBwcHAK5du5bjc6PRiNFo/C9DEhERERERERGRQkbJwkfE5cuXAXB3d3/AkYhIXt2vsw51ZqGIiIiIiIgUNCULHxEHDhygQoUKlCxZMsfnanAiIiIiIiIiIiL5pQYnj4hNmzbRqlWrXJ+rwYmIiIiIiIiIiOSXGpw8Am7cuEGZMmUICgqifv36jB8//o4xanAiIiIiIiIiIiI5UYOTQmbevHk89thjdz2vUA1OREREREREREQkv5QsfATY2toyY8YMwsPDcx2jMwtFip771TjlflAzFhERERERkUeDzix8BPTp04e1a9fy888/5zpGZxaKiIiIiIiIiEh+KVn4iLh06RJGozHH8woBQkNDSUpKslynTp36bwMUEREREREREZFHnhqcFFJ5ObhSREREREREREQKr7zkiVRZKCIiIiIiIiIiIoAanDy0zGYzI0aMYNGiRSQnJ1OvXj2mTZtG/fr1cx2vBiciD86DaDaipiEiIiIiIiJS0FRZ+JAaOXIk33//PfPnz2f37t1UqVKF4OBgLl++nON4NTgREREREREREZH8UrLwIZSamspnn33G5MmTadOmDX5+fsyePRsHBwe+/PLLHOeowYmIiIiIiIiIiOSXtiE/hI4dO8bNmzcJCgqy3LO1teWxxx4jNjY2xzlGoxGj0fhfhSgi/0NbgkVERERERKQwUGWhiIiIiIiIiIiIAKosfChVrlwZOzs7tmzZgqenJwA3b95kx44dDB48OMc5anAiUvj8U9MUVTOKiIiIiIhIQVNl4UPIycmJ1157jREjRrBmzRoOHTpE3759uXbtGr17985xjhqciIiIiIiIiIhIfhmysrKyHnQQcqcbN24wcuRIvv32W65evUq9evWYNm0a9evXz3F8TpWFHh4eJCUl4erq+l+FLSIiIiIiIiIiD5nk5GRMJtM95YmULCyk8vI/gYiIiIiIiIiIFF55yRNpG/JDbunSpfj7++Pg4ECJEiVo2bIlqampDzosEREREREREREphNTg5CGWkJBA165dmTRpEsnJyaxevZqOHTuSUzGoGpyIFD3/1ADlQVMDFhERERERkUePKgsfYgkJCaSnp1sShOfPn2fAgAE4OzvfMVYNTkREREREREREJL90ZuFDLCMjg+DgYLZv305wcDCtWrWic+fOFCtW7I6xanAiIiIiIiIiIiI50ZmFhYS1tTVr167lp59+ws/PjxkzZlCtWjXi4uLuGGs0GnF1dc12iYiIiIiIiIiI5IWShQ85g8FAUFAQYWFh7NmzBzs7O5YvX/6gwxIRERERERERkUJIDU4eYtHR0axbt45WrVpRqlQpoqOjuXjxIr6+vneMVYMTkQfvv244ogYiIiIiIiIiUtCULHyIubq6snHjRiIiIkhOTsbT05MpU6bQpk2bO8aGh4cTFhb2AKIUEREREREREZHCQg1OCgk1OBERERERERERkZzkpcGJKgsLCaPRiNFofNBhiIiIiIiIiIjII0zJwofc0qVLCQsL4+jRozg6OlK7dm1++OEHnJycHnRoIvKA/ddnJP4bOldRRERERETk0aJk4UMsISGBrl27MmnSJJKTk1m9ejUdO3Ykp53janAiIiIiIiIiIiL5ZfWgA5DcJSQkkJ6ebkkQnj9/ngEDBuDs7HzH2PDwcEwmk+Xy8PB4ABGLiIiIiIiIiMijTA1OHmIZGRkEBwezfft2goODadWqFZ07d6ZYsWJ3jFWDExERERERERERyUleGpyosvAhZm1tzdq1a/npp5/w8/NjxowZVKtWjbi4uDvGGo1GXF1ds10iIiIiIiIiIiJ5ocrCR0hGRgaenp4MHTqUoUOHZnumykKRR1N+mpSoeYiIiIiIiIjci7xUFqrByUMsOjqadevW0apVK0qVKkV0dDQXL17E19f3jrHh4eGEhYU9gChFRERERERERKSw0Dbkh5irqysbN27k6aefpmrVqrzzzjtMmTKFNm3a3DE2NDSUpKQky3Xq1KkHELGIiIiIiIiIiDzKtA25gG3cuJHJkyeza9cuEhISWL58Oe3bt7c8X7ZsGbNmzWLXrl1cvnyZPXv2EBgYaHkeHx9PpUqVclx78eLFPP/88/cUR17KS0VEREREREREpPBSg5MHKDU1lYCAAD755JNcnzdq1IgPP/wwx+ceHh4kJCRku8LCwnB2ds6xolBERERERERERKSg6MzCAtamTZu7JvVefvll4FYFYU6sra0pU6ZMtnvLly/nhRdewNnZOdd1c2pwIiKFW36ao9wLNVAREREREREpelRZ+JDbtWsXMTExmEwmWrRokeu48PBwTCaT5fLw8PgPoxQRERERERERkcJAlYUPuS+//BJfX19cXV05duxYruNCQ0MZOnSo5XNycrIShiKFnCr/REREREREpKCpsvAhdv36dRYuXEjv3r0ZP358rluXAYxGI66urtkuERERERERERGRvFCy8CG2dOlSrl27Ro8ePR50KCIiIiIiIiIiUgRoG/JD7Msvv+S5557D3d2dyMhIevXqRVZWVo5j1eBEpOgpqAYn2s4sIiIiIiIit6mysIClpKQQExNDTEwMAHFxccTExHDy5EkARo0aRbVq1Th06BAAhw8fJiYmhnPnzmVb5+jRo2zcuJE+ffoAYDKZqFatWq7vVYMTERERERERERHJL0NWbqVq8q9ERUXRvHnzO+737NmTyMhIZs2axWuvvXbH83HjxjF+/HjL57fffpsFCxYQHx+PldU/53Rzqiz08PAgKSlJ5xeKiIiIiIiIiBRhycnJmEyme8oTKVn4kElLS8POzi7f6+TlfwIRERERERERESm88pIn0jbkfyEzM5NJkyZRpUoVjEYjFStWZMKECcCtbcZVq1bF0dERb29vxowZw82bNy1zx48fT2BgoOVzSEgI7du3Z8KECZQrV86y1Xj//v08+eSTODg4UKJECfr160dKSsp/+j1FRERERERERKRoUYOTfyE0NJTZs2czbdo0GjVqREJCAn/88QcALi4uREZGUq5cOfbv30/fvn1xcXFh5MiRua63bt06XF1dWbt2LQCpqakEBwfToEEDduzYwYULF+jatSvfffcdSUlJOa6hBicihcu9NC9RYxIREREREREpaEoW5tHVq1eZPn06M2fOpGfPngBUrlyZRo0aAfDOO+9Yxnp5eTF8+HAWLVp012Shk5MTc+bMsWw/nj17Njdu3OCrr77CyckJgJdeeomIiAjOnz9P6dKl71gjPDycsLCwAvueIiIiIiIiIiJS9ChZmEexsbGYzWZatGiR4/PvvvuOjz/+mGPHjpGSkkJ6evo/7gX39/fPdk5hbGwsAQEBlkQh3Nq+HBERweHDh3NMFoaGhjJ06FDL59sNTkTk0aSqQREREREREXkQdGZhHjk4OOT6bNu2bXTr1o2nn36aH3/8kT179jB69GjS0tLuuubfk4L/ltFoxNXVNdslIiIiIiIiIiKSF6oszCMfHx8cHBxYt24dffr0yfZs69ateHp6Mnr0aMu9EydO5Pkdvr6+REZGkpqaakkkbtmyBSsrK0sDFBGReznXEFSlKCIiIiIiIvdOycI8sre3Z9SoUYwcORI7OzuCgoK4ePEiBw8exMfHh5MnT7Jo0SLq16/PqlWrWL58eZ7f0a1bN8aNG0fPnj0ZP348Fy9e5I033uDll1/OcQsyqMGJiIiIiIiIiIjkn7Yh/wtjxoxh2LBhjB07Fl9fX7p06cKFCxd47rnnGDJkCAMHDiQwMJCtW7cyZsyYPK/v6OjIzz//zOXLl6lfvz6dO3emRYsWzJw5M9c54eHhmEwmy6XzCkVEREREREREJK8MWVlZWQ86CMldZGQkgwcPJjEx8a7jcqos9PDwICkpSecXioiIiIiIiIgUYcnJyZhMpnvKE2kbciFhNBoxGo0POgwREREREREREXmEKVlYAJo1a0atWrWwt7dnzpw52NnZ0b9/f8aPHw9AYmIiw4cP54cffsBsNlOvXj2mTZtGQEAAAHv37mXw4MHs3LkTg8GAj48Pn3/+OSkpKfTq1QsAg8EAwLhx4yzr/p3OLBQpeu6lwYmam4iIiIiIiEhe6MzCAjJ//nycnJyIjo5m0qRJvPvuu6xduxaA559/ngsXLvDTTz+xa9cu6tSpQ4sWLbh8+TJwq6FJhQoV2LFjB7t27eKtt97C1taWhg0bEhERgaurKwkJCSQkJDB8+PAc368zC0VEREREREREJL90ZmEBaNasGRkZGWzatMly77HHHuPJJ5/kmWeeoW3btly4cCHbNuEqVaowcuRI+vXrh6urKzNmzKBnz553rB0ZGckbb7yByWTizJkztGvXjhUrVtwxTmcWihQ9qiwUERERERGRe6EzCx+AWrVqZftctmxZLly4wN69e0lJSaFEiRLZnl+/fp1jx44BMHToUPr06cPXX39Ny5Ytef7556lcuXK2sZUqVcLDw4PIyMgc368zC0WKHiUCRUREREREpKApWVhAbG1ts302GAxkZmaSkpJC2bJliYqKumOOm5sbAOPHj+ell15i1apV/PTTT4wbN45FixbRoUMHAMs6c+bMscwREREREREREREpaEoW3md16tTh3Llz2NjY4OXlleMYs9nMzJkzWbRoEcnJybi6ujJt2jRq165taXASFxfH448/zrx58wgJCclxDTU4ESla7mUbckFSJaOIiIiIiEjhpwYn91nLli1p0KABNWvWpEOHDsTHx7N161ZGjx7Nzp07uX79Oo899hgLFy5k0qRJzJkzB7PZzPbt23FxcWHlypUADBgwgAMHDvDss8/m+B41OBERERERERERkfxSg5MC0KxZMwIDA4mIiLDca9++PW5ubkRGRnL16lWGDRvGjz/+yKVLlyhTpgxNmjQhPDwcZ2dnSpQoQfHixbl69SolS5akffv2LF++nCFDhjBixAiMRiN2dnakpKQwbtw4xo8ff0cManAiIiIiIiIiIiI5UYOT/1hO5xH+vWOxi4sLX3zxRY5z9+3bR1ZWFrt27cLT09Ny/+zZs8TGxgLg4OBAREREjtuPb1ODExERERERERERyS9tQ86DpUuX4u/vj4ODAyVKlKBly5akpqYSEhJC+/btCQsLw93dHVdXV/r3709aWpplbrNmzRg8eLDls9lsZvjw4bRs2RKAdu3aZUs6Xrt2jV9//ZVixYqRlJTE6NGjWb169X/1VUVEREREREREpAhSZeE9SkhIoGvXrkyaNIkOHTpw9epVNm3axO1d3OvWrcPe3p6oqCji4+Pp1asXJUqUYMKECTmuN3DgQA4dOsSCBQt45plnqFGjBq1bt2b//v14eXmxceNGPDw8WLVqFUFBQTz//PM4OzvnGp8anIgUPflpcKJmJSIiIiIiIpITJQvvUUJCAunp6XTs2NGyXdjf39/y3M7Ojrlz5+Lo6EiNGjV49913GTFiBO+99x5WVtkLOE+ePMm8efM4efIk5cqVY8CAASxZsgRfX18mT55MWloaN2/epGPHjvj7+2NlZUVgYCBNmjTJNb7w8HDCwsLuz5cXEREREREREZEiQcnCexQQEECLFi3w9/cnODiYVq1a0blzZ4oVK2Z57ujoaBnfoEEDUlJSOHXqVLazCAH2799PRkYGVatWBSArK4u0tDTOnj3Lvn37aNCgAaNGjWLSpEls2rSJGzducOrUKUJCQvDy8sqxwUloaChDhw61fL7d4ERECi9VB4qIiIiIiEhBU7LwHllbW7N27Vq2bt3KL7/8wowZMxg9ejTR0dF5XislJQVra2t27dqFtbV1tmfOzs6UKVMGgP79+7Nq1SpKly7Ne++9R+3atfHy8spxTTU4ERERERERERGR/FKDkzwwGAwEBQURFhbGnj17sLOzY/ny5QDs3buX69evW8b+/vvvODs751jdV7t2bTIyMrhw4QJVqlTJdt1OFAJ4eHjQv39/li1bxrBhwzhy5Mj9/5IiIiIiIiIiIlJkqbLwHkVHR7Nu3TpatWpFqVKliI6O5uLFi/j6+rJv3z7S0tLo3bs377zzDvHx8YwbN46BAwfecV4hQNWqVenWrRs9evRgypQp1K5dm4sXL7Ju3Tpq1apF27ZtGTx4MG3atKFq1apcuXKFDRs2YDKZco1PDU5Eip78NDgpKNoKLSIiIiIiUrgoWXiPXF1d2bhxIxERESQnJ+Pp6cmUKVNo06YN3333HS1atMDHx4cmTZpgNpvp2rVrjmcL3jZv3jzef/99hg0bxpkzZyhZsiQ3b94kODiYtm3bkpGRweuvv87p06dxdXWldevWrFq1ihIlSuS4nhqciIiIiIiIiIhIfhmysrKyHnQQj7qQkBASExNZsWJFvta5fPkytra2uLi45HluTpWFHh4eJCUl4erqmq+4RERERERERETk0ZWcnIzJZLqnPJEqCx8ixYsX/9dz1eBERERERERERETyS8nCh0izZs0IDAwkIiKCTz/9lGnTpnHq1ClMJhONGzdm6dKlDzpEEbnP8nIOoc4LFBERERERkYKmZGEBiIyMLND1du7cyZtvvsnXX39Nw4YNuXz5Mps2bbrrHDU4ERERERERERGR/FKy8CF08uRJnJyceOaZZ3BxccHT05PatWvfdY4anIiIiIiIiIiISH6pwclD5PY25Pfee4+goCASEhJo3bo1rVu3pkOHDjg6OuY6Vw1OREREREREREQkJ3lpcGL1H8UkeeDi4sLu3bv59ttvKVu2LGPHjiUgIIDExMRc5xiNRlxdXbNdIiIiIiIiIiIieaFtyA+pX3/9lffff58DBw5gZWVFYmIiCxcuZMCAATmO15mFIkVPXpqhPAzUkEVEREREROThp8rCh9CPP/7I4sWL6dChAz/88AP9+/cnKyuLiIgIMjMzc5wTHh6OyWSyXB4eHv9x1CIiIiIiIiIi8qhTsjAfmjVrxuDBgwt8XTc3N44fP86ECRNo06YNq1atYvbs2Rw5coRDhw7lOCc0NJSkpCTLderUqQKPS0RERERERERECjdtQ36IREVFWf6ePXs2Y8eOJTo6mri4OEtS8uTJk9SsWfOOuUajEaPR+B9FKiIPA23rFRERERERkYKmZOF/KC0tDTs7u3sa++yzz+Lp6cns2bMpV64cmZmZ1KxZk7S0tPscpYiIiIiIiIiIFFXahpxP6enpDBw4EJPJRMmSJRkzZgxZWVkAeHl58d5779GjRw9cXV3p168fAJs3b6Zx48Y4ODjg4eHBm2++SWpqqmXNs2fPcvjwYXbt2sVzzz1HSEgI69evv2scZrOZ5OTkbJeIFG5eb6165JqciIiIiIiIyMNNycJ8mj9/PjY2Nmzfvp3p06czdepU5syZY3n+0UcfERAQwJ49exgzZgzHjh2jdevWdOrUiX379vHdd9+xefNmBg4caJkzduxYbGxsqFu3LitXrqR27doMGjTornGowYmIiIiIiIiIiOSXIet2GZzc1cWLFylfvjxXrlzBzs4ONzc3atWqRVJSEgcPHsRgMADw1ltvsWDBAipWrMjZs2fx9PTk1KlTHD9+HIA+ffpgbW3N559/bll78+bNNG3alNTUVC5cuIC3tzcLFizg3Xff5fjx41SrVg0bGxt2797N8uXLad++/R3xmc1mzGaz5XNycjIeHh4kJSXh6up6f38cEXkgblcV6uxCERERERERuZvk5GRMJtM95Yl0ZuE92rZtGwEBATg5OREdHU3x4sUxGo088cQTlkQhQIMGDZg8eTJdunTh+++/x97enqCgIMvzvXv3sm/fPr755hvLvaysLDIzM4mLi+P48eNkZGTQp08fAGxsbDh27Bhms5kXXnghx0QhqMGJSFGkJKGIiIiIiIgUNG1Dvkdbt261JP02b96cLQH4v7KysmjYsCEAp0+fzjY2JSUFb29vUlNTLde1a9csY+fPnw/Arl27iImJsVxVqlShXLly9+vriYiIiIiIiIiIaBvy3Zw8eZJatWoBcO3aNaytrTEajVy/fh2DwUB6ejqurq5cvnyZhQsXMmDAAG7cuIHZbMbZ2dnStMTR0REbGxs+/fRTVq1axZkzZ1i0aJHlPRMnTuTbb79l7969/PnnnzRt2pTPP//c0hBlz5491K1bl6NHj+Lt7Z1jrNqGLFL4/FPzElUWioiIiIiIyL3IyzZkVRbeRbly5YiJiWHjxo0AREdHs2vXLuzs7Pjll19wdHQkJSWFoUOHMmzYMJ588kkAypYty/79+3F3d8fFxYUDBw4QExPDc889x6hRo9i+fTvvv/8+586dY+nSpUyfPh1vb2/KlClDkyZNKFeuHMOHD2fZsmXExcURHh6Ol5cXsbGxucaqBiciIiIiIiIiIpJfOrPwLmxsbPDy8mLx4sXUr1+fWrVqsWXLFkqXLk2TJk2wsrLC19eX69evk5qaSlRUFDVq1CA4OJhKlSrh5OREzZo18fLyAmD8+PGsWLGC3377jdGjRxMUFGTZgly5cmXLeyMiInj55ZcZOnQoZ8+eJT09nTp16lCxYsVcYw0NDWXo0KGWz7crC0Xk0aXKQREREREREfmvaRvyXdSoUYMTJ05w8+ZNMjMzMRqNpKenk56ejr29PVlZWfTt25ehQ4fi5+cHwI0bN7CxscFsNmNtbY21tTW2trZ0796dMmXKsGLFCmJiYjh37hz169enY8eOfPzxx9m6HKenp1OhQgWmTZuGnZ0dr7zyCufOncPBweGeY89LeamIiIiIiIiIiBRe2oZcQFavXk1MTAxlypRhwYIFxMTEULNmTSIiIoiJicHf3x+4tV3ZZDLxyiuvYGNjQ4kSJQDIyMggLS0Nk8mEn58fYWFh7N27F4PBQNmyZXF1dWXq1Kl3vDchIQE3Nzd69OhB165dKVasGOfPn/9Pv7uIiIiIiIiIiBQ92oZ8F56enpw7d47z58/Trl07DAYDBw8epFOnTpQtWxZ7e3vg1nZlW1tbEhMTefzxx1m6dCmlSpWiTJky7NmzB2tra5ydnTl58iRr1qzBz8+PjRs3smDBAi5evAjAlStXSEtLw2AwEBwcTM2aNTl69ChZWVlUq1aN1q1bs2/fPuzs7HKMNacGJyJSuP1vAxRtWxYREREREZH8UmXhP4iKiqJ+/frY29uzfft2KlSoQNmyZXMce/ToUZo0aYK7uzsANWvWpEyZMri7u+Pg4ICzszM2NjZs376d8+fPU6dOHctar7zyCk8++STfffcdmZmZLFmyhIYNG1K9enX+7//+j5MnTxIVFZVrnGpwIiIiIiIiIiIi+aXKwn/w4osv8uKLLwLQuHFjjhw5kuvYF154gcGDB1s+v/766zmOi4+Pz/bZYDDQvHlzXF1d2bt3L0ePHsXZ2Znr169ja2tL8eLFuXHjBseOHcv13WpwIlL0qJJQRERERERECpqShQ+ZlJQUatWqxTPPPMOUKVPYuHEjJpMJwFKxmBOj0YjRaPyvwhQRERERERERkUKo0G9DzszMZNKkSVSpUgWj0UjFihWZMGECAPv37+fJJ5/EwcGBEiVK0K9fP1JSUixzQ0JCaN++PR988AGlS5fGzc2Nd999l/T0dEaMGMGWLVuYM2cO8+bNy/bOU6dOYTAY6NatG8WLF6ddu3bEx8djZ2dHRkYGGRkZDB06FDc3N0szlNtNqevUqcOePXt4//33+fTTT6lbty5VqlShSpUq9OzZk5dffvk/+uVERERERERERKSoKfSVhaGhocyePZtp06bRqFEjEhIS+OOPP0hNTSU4OJgGDRqwY8cOLly4QJ8+fRg4cCCRkZGW+evXr6dChQps3LiRLVu20Lt3b7Zu3UqTJk2oU6cO1tbWvPrqq5QuXRqAmzdvEhwcjIuLC61bt+b1119nxowZtG7dmrfffpu4uDiGDRtGZGQkn3/+ObVq1cLPz4/ff/+d4OBgunXrxqRJk4iLi+PEiROW/y5YsIAff/yRtWvX5vg91eBEpOj53wYn/0TblkVEREREROSfFOrKwqtXrzJ9+nQmTZpEz549qVy5Mo0aNaJPnz4sXLiQGzdu8NVXX1GzZk2efPJJZs6cyddff8358+ctaxQvXpyPP/6YatWq8corr1CtWjWuXbvG22+/jYODA/Xr18fOzo4bN24AWBqUjBw5ksWLF9OiRQt27NjByZMnKV68OK1bt+bjjz8mKSmJ69ev4+vrC4CTkxMAjo6ObNq0icqVK/P+++/j6+tL7969OXjwIB4eHjRr1izH76oGJyIiIiIiIiIikl+FurIwNjYWs9lMixYtcnwWEBBgSdIBBAUFkZmZyeHDhy2VgjVq1MDK6v/lVEuXLk3NmjUBLN2JV6xYga2tLfHx8Zw5c4ajR4/y/vvvA7fOErx06RI3btzg1KlTfPnll3z//ff89ttvNGnSBLi1BblDhw6WrchlypRh0aJF1K9fn1KlSvHGG28wd+5cXnnlFQwGQ47fVQ1ORIoeVQqKiIiIiIhIQSvUyUIHB4d8r2Fra5vts8FgyPHebSkpKdStW5c333yT7t27s3HjRlxdXYG7Nyj5X7Vr1yYgIIDjx49z6tQpDh48yKpVuW85VIMTERERERERERHJr0KdLPTx8cHBwYF169bRp0+fbM98fX2JjIwkNTXVUl24ZcsWrKysqFatWp7ec+nSJVJTU5k+fbrl3u0zA69cuUK/fv04dOgQgYGBzJs3j7JlyxIdHU358uUZOnQo27Zt49KlS5hMJn799VdatmwJ3NpGnZiYyNSpUwGoWLGipfpQRP69vJ7197BSZaGIiIiIiIgUtEJ9ZqG9vT2jRo1i5MiRfPXVVxw7dozff/+dL7/8km7dumFvb0/Pnj05cOAAGzZs4I033uDll1+2bEG+V8WLF8fLy4u+ffty7NgxvL29+fzzzwEYNmwY3bt3p2PHjmRkZPDKK68waNAgJk6cyMqVK6lTpw5NmjTB0dGRUqVK8eyzz3Ly5EkAfvnlFwwGA9bW1syaNYuEhIRcYzCbzSQnJ2e7RERERERERERE8qJQVxYCjBkzBhsbG8aOHcvZs2cpW7Ys/fv3x9HRkZ9//plBgwZRv359HB0d6dSpk6WKD2Dz5s2kpqb+4zusrKywtrbG0dERb29vtmzZQs+ePQE4dOgQM2bMoEWLFowYMYLnn3+en3/+mYSEBMaPH4+VlRXlypWjePHi+Pr6Ymtry8qVKxk4cCBeXl44OjqSlZXFN998Q2xsLBERETnGEB4eTlhYWIH8ZiIiIiIiIiIiUjQZsrSvNVchISEkJiayYsWKfxzbrFkzAgMDLcm8qKgomjdvzoULFyxnFe7Zs4c6depw4sQJKlasSEpKCuPHj2fOnDmkpqZiNBq5fv06w4YNY9KkSQCWjstWVlbZ1v9fZrMZs9ls+Xy7wUlSUpLlzEQRERERERERESl6kpOTMZlM95QnKtTbkB8Gf2+GcrsRSmZmJgDDhw9n+fLl1K5dm8aNGxMTE4O/vz9paWlcuXKF5cuXc+PGDRo1avSP7zEajbi6uma7RERERERERERE8qLQb0O+F0uXLiUsLIyjR4/i6OhI7dq1+eGHHyzPP/roI6ZMmUJaWhovvvgiERERliTglStXGDRoEFu2bGHz5s0cPnyYjz/+2DJ34sSJrFmzhpiYGMu9uXPn8tVXX+Hi4kJISAjHjh0jMTGRMmXKEB8fz82bN/Hw8CA1NRWDwcD+/fv/8TvkVFkoInn3KDU/UYMTERERERERKWhFvrIwISGBrl278sorrxAbG0tUVBQdO3a0dB3esGEDx44dY8OGDcyfP5/IyEgiIyMt80NCQti5cydt2rShevXqXLt2jeDgYNLS0v7x3T4+PixbtozLly+TlJTESy+9RGZmJps2baJEiRL8+uuvPPHEE+zYsYOdO3dy/fr1XNcKDw/HZDJZLg8Pj3z/NiIiIiIiIiIiUrQoWZiQQHp6Oh07dsTLywt/f38GDBiAs7MzAMWKFWPmzJlUr16dZ555hrZt27Ju3ToAjhw5wsqVK5kzZw4fffQRLi4u7Nixg7i4uGyVibmZOnUqxYoVY/Xq1URHRxMcHExAQAAHDx7ko48+okWLFvj5+ZGYmEhqaipffPFFrmuFhoaSlJRkuU6dOlUwP5CIiIiIiIiIiBQZRX4bckBAAC1atMDf35/g4GBatWpF586dKVasGAA1atTA2traMr5s2bKWbcGxsbHY2Njw+OOPY21tzbZt2wCoXbs2pUuXJisri/Hjx1vmBgYGkpWVZWlS4uXlxfr16y2NVF5//XUaNWpEYGAgjz/+OAAVKlSgevXqGAwGmjZtmuv3MBqNGI3GgvxpRIokbe0VERERERGRoqzIJwutra1Zu3YtW7du5ZdffmHGjBmMHj2a6OhoIHuDErjVpOR2g5J7ERkZSUpKCiNHjmTOnDnY2dnh7+9veX7y5EnWr1/P2bNncXV15Yknnsg2NywszPI5JiaGwMBAQkJC/uW3FRERERERERERyV2RTxbCrQRgUFAQQUFBjB07Fk9PT5YvX/6P83x9fUlPTyc6OpqGDRsC8Ndff3H48GH8/PwAsLOz4/Llyzg6OhIdHc22bdvo2bMnpUuXJjMzk3bt2mE2m2nUqBEffvgh/fv3x2AwEB0dTZcuXThw4ACrVq3ixIkTdOvWjS5duuQYixqcyP96lBp1yL+jKkgREREREREpaEX+zMLo6Gg++OADdu7cycmTJ1m2bBkXL17E19f3H+f6+PjQrl07+vbty+bNm9m7dy/du3enfPnytGvXDgCTyURWVhYODg5YWVlx9epVrK2tuX79OuvWrWP//v00adIENzc3Hn/8cb755huysrIYNGgQ27Zt49q1a5w9exZra2ucnJxwcHDIMRY1OBERERERERERkfwq8pWFrq6ubNy4kYiICJKTk/H09GTKlCm0adOG77777h/nz5s3j0GDBvHMM8+QlpZGkyZNWL16tWX7spOTE02aNOGTTz7hvffeo1OnTvj4+HD69GliY2Px8PDAycmJxMREAPz8/DCZTFSqVIlnn30Wg8GAq6srVatWvWscoaGhDB061PI5OTlZCcMiTlVnIiIiIiIiIpJXhqysrKwHHURh1qxZMwIDAy1NTQDat2+Pm5sbderUYdq0acTFxWWbU6xYMaZPn06PHj0YP348K1asICYmJk/vTU5OxmQykZSUhKurawF8ExEREREREREReRTlJU9U5LchP0i+vr6cOnWKU6dOWe4dOnSIxMTEbGceZmRkPKgQRURERERERESkCFGy8AFq2bIl/v7+dOvWjd27d7N9+3Z69OhB06ZNqVevHgBeXl7ExcURExPDpUuXsjUx+Tuz2UxycnK2S0QKJ6+3VqmBjYiIiIiIiNwXShY+QAaDgR9++IFixYrRpEkTWrZsibe3d7azEjt16kTr1q1p3rw57u7ufPvttzmupQYnIiIiIiIiIiKSXzqzsJAwm83Zqg5vNzjRmYUiIiIiIiIiIkVbXs4sLPLdkAsLo9GI0Wh80GGIiIiIiIiIiMgjTNuQRUREREREREREBFBl4SNj5syZLF++nHXr1uX4PKdtyCLycCqo5iTxE9sWyDoiIiIiIiIit6my8BFx6dIljh07lutzNTgREREREREREZH8UoOTQkINTkREREREREREJCdqcFIEqcGJiIiIiIiIiIjkl5KFIiIPkbycZ6gzC0VERERERKSg6czCR8TMmTNp0aJFrs/NZjPJycnZLhERERERERERkbxQsvARoQYnIiIiIiIiIiJyv6nByUOuWbNmBAYGEhERcddxanAiIiIiIiIiIiI5UYOTfEpLS8POzu5Bh5EnanAiIiIiIiIiIiL5pcpCblXv1axZExsbGxYsWIC/vz8zZsxgxIgRbNq0CScnJ1q1asW0adMoWbJktjkAX3/9Nba2trz22mu8++67GAwG4Fa13+jRo/n2229JTEykZs2afPjhhzRr1gyAv/76i4EDB7Jx40auXLlC5cqVefvtt+natSsAISEhzJ8/P1uscXFxeHl53fEdVFkocv/kpenIf0kNTkRERERERORe5KWyUGcW/v/mz5+PnZ0dW7ZsYeLEiTz55JPUrl2bnTt3smbNGs6fP88LL7xwxxwbGxu2b9/O9OnTmTp1KnPmzLE8HzhwINu2bWPRokXs27eP559/ntatW3PkyBEAbty4Qd26dVm1ahUHDhygX79+vPzyy2zfvh2A6dOn06BBA/r27cuECRNo1KhRrmcR6sxCERERERERERHJL1UWcqtKMDk5md27dwPw/vvvs2nTJn7++WfLmNOnT+Ph4cHhw4epWrUqzZo148KFCxw8eNBSSfjWW2+xcuVKDh06xMmTJ/H29ubkyZOUK1fOsk7Lli157LHH+OCDD3KM5ZlnnqF69ep89NFHltgCAwNxc3MjMjKS+Pj4HOepslDk/lFloYiIiIiIiDzKdGbhv1C3bl3L33v37mXDhg04OzvfMe7YsWNUrVoVgCeeeMKSKARo0KABU6ZMISMjg/3795ORkWEZe5vZbKZEiRIAZGRk8MEHH7B48WLOnDlDWloaZrMZR0dHy/j4+HgOHjzIxYsXGT9+fK7x68xCkftHSTkREREREREpKpQs/P85OTlZ/k5JSeHZZ5/lww8/vGNc2bJl72m9lJQUrK2t2bVrF9bW1tme3U5CTp48menTpxMREYG/vz9OTk4MHjyYtLS0fHwTERERERERERGRf0fJwhzUqVOH77//Hi8vL2xscv+JoqOjs33+/fff8fHxwdramtq1a5ORkUGXLl1o0qQJ9vb2zJkzBzs7O/r378/48ePZsmULLVq0YMmSJfTv399SpdioUSMAIiMjOXHiBIDl2bx58wgJCbkjlpy2IYtIdg/rduJ/SxWPIiIiIiIiUtDU4CQHr7/+OpcvX6Zr167s2LGDY8eO8fPPP9OrVy8yMjIs406ePMnQoUM5fPgw3377LTNmzGDQoEEAVK1alW7dunH48GHmzJlDWloaX3zxBY0bNyYsLIy1a9dSpUoVli9fTnx8PJGRkTz55JNcu3aNHTt2ANClSxf8/f1xcHBg+/btHDhwgOeffz7HmNXgRERERERERERE8ksNTvh/TUQiIiIs944cOcKoUaPYsGEDZrMZT09PWrduzdSpUzEYDDRr1owaNWqQmZnJwoULsba25rXXXuP999+3VAHevHkTHx8fzp07R2ZmJiVLluSJJ57gzz//5JlnnqF+/fp07twZJycnnJyc6NevH/v27WPlypVs376d+vXr88YbbzB37lyysrK4fv06cXFxeHl53fEd1OBERERERERERERyogYneRQVFXXHPR8fH5YtW3bXeba2tkRERPDZZ5/l+tzLy4u2bdvyySefWO63a9eOCxcucObMGby8vIiLi8s2r1ixYsTGxlK/fn1KlCiBj48PMTExd41FDU5ERERERERERCS/tA35P2Bra5vts8FgIDMz8wFFIyIiIiIiIiIikjNVFj5Avr6+nDp1ilOnTlnOGDx06BCJiYn4+fkBYGdnl+2cxNyowYlI0XMvDVvUBEVERERERETyQsnCfymnrcv3avPmzZQqVYp58+bh7+9Pt27diIiIID09nQEDBtC0aVPq1asHYNmmHBMTQ4UKFXBxcclxu3F4eDhhYWH/OiYRERERERERERElCx8gg8HADz/8wBtvvEGTJk2wsrKidevWzJgxwzKmU6dOLFu2jObNm5OYmMi8efMICQm5Y63Q0FCGDh1q+Xy7wYmIFF6qGhQREREREZGCpm7ID0BO3ZcLWl663IiIiIiIiIiISOGVlzyRGpw8IOnp6QwcOBCTyUTJkiUZM2YMt/O2ZrOZ4cOHU758eZycnHj88cfzte1ZRERERERERETkXmgb8gMyf/58evfuzfbt29m5cyf9+vWjYsWK9O3bl4EDB3Lo0CEWLVpEuXLlWL58Oa1bt2b//v34+PjkuJ4anIj89+6lwcj9pG3IIiIiIiIiUtCULLwPQkJCSExMZMWKFbmO8fDwYNq0aRgMBqpVq8b+/fuZNm0awcHBzJs3j5MnT1KuXDkAhg8fzty5c6latSq57RpXgxMREREREREREckvJQv/wf06X/CJJ57AYDBYPjdo0IApU6awf/9+MjIyqFq1arbx165dw93dPdf11OBE5L+nyj4REREREREpbJQsfMikpKRgbW3Nrl27sLa2ttzv1KkTEydOzHWe0WjEaDT+FyGKiIiIiIiIiEghpWThXYSEhPDbb7/x22+/MX36dACOHj3KBx98wPr16zl37hwVK1ZkwIABDBo0KNd1duzYwdNPP83w4cMZNWoU6enpLF++nP/7v//DbDZTr149KlWqhI+PD7Vr1yYjI4O2bdsybtw4xowZw5UrV2jTpg2NGjX6r766iPxH8nPuoSobRUREREREpKCpG/JdTJ8+nQYNGtC3b18SEhJISEigQoUKVKhQgSVLlnDo0CHGjh3L22+/zeLFi3NcY/369Tz11FNMmDCBUaNGAXDw4EGuXr1Kq1atWLJkCQ4ODsydO5c+ffpQtWpV/P39OX78OJ988gmzZs1i0qRJrFq1ij59+uQaq9lsJjk5OdslIiIiIiIiIiKSF6osvAuTyYSdnR2Ojo6UKVPGcv/vjUQqVarEtm3bWLx4MS+88EK2+cuXL6dHjx7MmTOHLl26ALB582auXr1Knz59MBgMvPDCC1hbW+Pm5oaTkxMA7dq1IzY2lnPnzvHcc89RsmRJypYtS2xsbK6xqsGJiIiIiIiIiIjkl5KF/8Inn3zC3LlzOXnyJNevXyctLY3AwMBsY6Kjo/nxxx+pXr0627ZtsyQL9+7dS1ZWFgsWLLCMzcjI4Pr16xw/fhwAa2trqlatysGDBy1jpk2bxowZM3KNSQ1ORB5N2kosIiIiIiIiDxMlC/No0aJFDB8+nClTptCgQQNcXFyYPHky0dHR2cZVrlyZEiVKcO7cOTIyMiz3U1JSKFu2LFFRUXes7ebmZvnb1tY22zODwUBmZmaucanBiYiIiIiIiIiI5JeShf/Azs4uW7Jvy5YtNGzYkAEDBljuHTt27I55JUuWpHz58hw8eJCZM2cyc+ZMAL766isSEhLo1KkTf/zxB8WLF6dnz568//772Njc+udIT0/nzJkzlCpViuTkZOrVq8djjz121zjNZjNms9nyWWcWivx38tOkJD9UlSgiIiIiIiIFTQ1O/oGXlxfR0dHEx8dz6dIlfHx82LlzJz///DN//vknY8aMYceOHTnO/eKLL6hbty5ubm60bduWU6dO0bx5cwDOnDnDp59+SlhYGLNmzaJ58+bs3LkTgLVr15KYmMj8+fPZvXs3VapUYdasWXetLAwPD8dkMlkubUEWEREREREREZG8UrIwB5GRkZYtwcOHD8fa2ho/Pz/c3d0JDg6mY8eOdOnShccff5y//vorW5Xh35lMJpydnencuTNHjhxh2LBhfPLJJ1SuXJmuXbsyduxYBg4cCNxqfHLhwgVSU1PZuXMn5cqVo02bNvj5+TF79mxsbW1JSUnJNebQ0FCSkpIs16lTpwr8dxERERERERERkcLNkJWVlfWgg3jYXL9+natXr1KqVKl8r9WsWTMCAwOJiIgAoGPHjphMJubNm2cZs3r1atq2bcvq1aspX748AQEBxMfH4+npaRnToUMHihUrxty5c+/pvcnJyZhMJpKSknB1dc339xARERERERERkUdTXvJEOrPwf9y8eRMHBwccHBwedCgiIiIiIiIiIiL/qUKxDXnp0qX4+/vj4OBAiRIlaNmyJampqQDMmTMHX19f7O3tqV69Op9++qllXnx8PAaDge+++46mTZtib2/PN998k20b8m2fffYZlStXxs7OjmrVqvH111/fsU5MTIzlXmJiIgaDgdTUVDIyMrhy5QrdunVjzZo1zJ8/nypVqliqC3ft2gVA6dKl8fb2BuDtt9+2rHXz5k22bt3KvHnzOHr0aI6/gdlsJjk5OdslIoWb11ur7rhERERERERE8uORTxYmJCTQtWtXXnnlFWJjY4mKiqJjx45kZWXxzTffMHbsWCZMmEBsbCwffPABY8aMYf78+dnWeOuttxg0aBCxsbEEBwff8Y7ly5czaNAghg0bxoEDB3j11Vfp1asXGzZs+Mf4SpcuTXR0NIMGDWLfvn0sXboUe3t7atSowY0bN/jhhx8sW5StrKxwdnamYcOGLF68mDVr1nDo0CH69u1LUlISDRo0oEqVKjm+Rw1OREREREREREQkvwpFsjA9PZ2OHTvi5eWFv78/AwYMwNnZmXHjxjFlyhQ6duxIpUqV6NixI0OGDOHzzz/PtsbgwYMtY8qWLXvHOz766CNCQkIYMGAAVatWZejQoXTs2JGPPvroH+Pr0qUL1tbWfPPNNxw4cAA/Pz9++uknEhISGDx4MP379+eFF17INufrr78mIyODrl27UqdOHY4cOYK9vT2vvvpqru9RgxMRERERERER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ZcqU4e2338bOzo6bN2/m+LuYzWaSk5OzXSIiIiIiIiIiInnxwJOFPXr04Pr16zz22GO8/vrrDBo0iH79+uU6vk6dOixevJhFixZRs2ZNxo4dy7vvvktISIhlzLvvvkt8fDyVK1fG3d0dgHfeeYc6derQpEkT6tatS5kyZWjfvn22tadOnUpcXBxt2rShZcuWBAUF4evri729vWXMggUL8PT05NKlSzz77LPY2tpSs2bNOyohn376aQYMGECVKlXo2LEjABs2bAAgLi6OrKwsvvzySwIDA7lw4YKlgcknn3xCWloa58+fp3bt2owfPx4vLy/69OlD9+7d8fX1zfF3CQ8Px2QyWS6dVygiIiIiIiIiInn1wLshBwYGEhER8dC889y5cxQrVgyj0Uhqairly5dnypQp9O7d2zImIiKCiIgI4uPjc1zTy8uL119/nREjRljmBAQE0KlTJ8aOHcuQIUPYu3cv69evtzzfu3cvgYGB7Nmzh9q1a/POO+8wZcoUqlatyo0bN3B2dub777/H2dmZEiVK3BG32Wy2NEiB/9fgRN2QRURERERERESKtrx0Q37glYUPkz179rBhwwZOnz7N7t276datG8Ad3ZfvRU5NTjIzM+95ft26dTlx4gRDhgzh4sWL7N27lxkzZuSYKAQ1OBERERERERERkfx74A1OHoTMzExGjhzJnDlzsLOzo3///owfPx6Al156CXt7exwcHPDz8yMpKYn169czY8YMdu7cSc2aNXnqqadIS0ujXr16/PHHH9jZ2VGtWjXL+jdu3GDq1KmMHj0aW1tbatSoka3rstlsZuPGjRiNRsqXL0/Pnj0t26X/zt3dPdv26ilTpuDs7GyJ9e9yqiwUkcLtYWxw8k/UAEVEREREROTh9kCThVFRUQ/kvfPnz2fo0KFER0ezbds2QkJCCAoK4qmnngJudSRu37498fHxVKpUiXHjxhEREUHFihV55ZVX+Prrr7l8+TJLlizB0dGRhg0bsm3bNgDS09O5cOECzZo1Y8OGDaSlpbF9+3YmTZoEwKZNm1iwYAGOjo60aNGCtm3bMnr0aNLT07PFuHDhQgwGA1u3buXll18mKysLk8mUrZHL34WHhxMWFnYffzURERERERERESnsiuQ25Fq1ajFu3Dh8fHzo0aMH9erVY926dbmOHz58OMHBwfj6+jJo0CBOnz6N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06Z3PK9WrRqrV6/Odm/Hjh13jOvevTsjR47k448/5tChQ/Ts2fOOMb///rulsjA9PZ1du3YxcOBAAOzs7AAIDg5m0aJFuSYLRR4l9/Mcv6JEZxaKiIiIiIhIQctzsvDy5ctUr179jvvVq1fn8uXLBRLUw8DFxYXhw4czZMgQMjMzadSoEUlJSWzZsgVXV1deffVVpk6dyqhRo+jduzcxMTFERkYCZKscLFasGB07dmTEiBG0atWKChUq3PGuTz75BB8fH3x9fZk2bRpXrlyxnGvo6emJwWDg5s2bREdH89dff1GiRIk71lCDExERERERERERya88HzAYEBDAzJkz77g/c+ZMAgICCiSoh8V7773HmDFjCA8Px9fXl9atW7Nq1SoqVapEpUqVWLp0KcuWLaNWrVp89tlnjB49GuCO7cC9e/cmLS3NkgD8XxMnTmTixIkEBASwefNmVq5cScmSJQEoX748YWFhfPXVV9y8eZNXX301xzXU4ERERERERERERPIrzw1OfvvtN9q2bUvFihVp0KABANu2bePUqVOsXr2axo0b35dAHwUTJkxg1qxZnDp1Ktv9r7/+miFDhnD27FnLtmLA0uCkbt26NGrUiIiIiFzXPnLkCFWrVuXQoUP4+vre8VwNTkREREREREREJCf3tcFJpUqV+PPPP/nkk0/4448/AOjYsSMDBgwgPT3930X8iPr000+pX78+JUqUYMuWLUyePNly1iDAtWvXSEhIYOLEibz66qvZEoV5dXuLt7u7e47P1eBERERERERERETyK8+VhdbW1iQkJFCqVKls9//66y9KlSpFRkZGgQb4MBsyZAjfffcdly9fpmLFirz88suEhoZiY3MrBzt+/HgmTJhAkyZN+OGHH3B2ds42/3Zl4f+Ki4vjxIkTjBgxgr1791K8eHECAwM5cODAHVWLt6myUB52ampS8NTgRERERERERO5FXioL85wstLKy4ty5c3ckC0+cOIGfnx+pqal5j7gIS0pKok2bNtSsWZN3330XgIyMDKpWrUpISAhvvPEGf/zxBy+++CK+vr7s2bMnx3XGjx9PWFhYjusrWSgPAyULC56ShSIiIiIiInIv7ss25KFDhwK3Ov2OHTsWR0dHy7OMjAyio6MJDAz8dxEXIllZWbz66qssXbqUK1euYDKZCAkJyfU8QpPJhJ2dHY6OjpQp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iCAxMdE4qxDA3Nw837O3Zyfe1qdPH65evUp4eDju7u5YWlrSuHFjMjMz72tMCjgREREREREREZGiKpEzC4OCgnjttdeIi4szhoZkZGQwbNgwypYti5WV1V33B2zatCnp6elkZGQYC4MBAQF8++23zJ8/n2XLllGjRg127dplfGbUqFG0a9fOeB4WFobBYGD79u0MGzaMtm3b0qFDB1auXMmVK1c4deoUDRs2xMbGBoAxY8Zw/vz5f/BXEZGHifYoFBERERERkX9CiSwWhoeHM2nSJCpVqkRCQgL79u1j9OjRrFixgoULF3Lw4EGqVatG69atuXbt2h3POzk54ebmRlZWljHIJDk5mXPnzpGVlcW6desYMGAAc+fOJTs7G7i1dHnnzp3k5uYC/xeMYm9vz6JFi4iIiOD06dN89913WFtb8+WXX9K8eXN+/vln3N3dqVixIpcvXyYxMbHAb1LAiYiIiIiIiIiIFFWJLBY6ODhgZ2eHqakp5cuXp1SpUnz22WdMnTqVNm3a4O3tzZw5c4xFu4LUqFEDwFgs/Pzzz3F2dqZ8+fIEBgYSHBxM/fr1ycjIAP4vRfnMmTMAbN++nZEjR1KmTBkSExN55plnAChbtiylS5cmPT2ddu3aUbVqVWbMmEFcXByNGzembt26BY5HASciIiIiIiIiIlJUJbJY+GenT58mKysLf39/4zVzc3MaNmzI8ePHC3zmpZdewsHBgZo1awJw/PhxPv74YxISEoxtevToYSzaOTo6UqdOHQB++uknLCws6N+/P7/88gvbtm0jKCiIrl27snTpUuLi4ggKCqJ169a0b9+eM2fOsH37drKysgoNOVHAiUjJokATERERERER+SeoWPgvuh2CEhkZSfPmzXF2ds6Xovz0009jZ2cHwPz589m9ezdNmjTh22+/pXr16uzZs6fQvi0tLbG3t893iIiIiIiIiIiI3A8VC4GqVatiYWFBVFSU8VpWVhb79u3D29v7nvrw8vLK9zxAVFRUvudv71u4detW4/LlgIAAvvnmG3755Rfmzp3LiBEjAJg1axYvvPACEydO5PTp01hYWLBkyZJC3689C0VKHo8x6xV0IiIiIiIiIsVKxULAxsaGQYMG8cYbb7Bx40aOHTtGv379uHnzJq+88so99aRaVWcAAN/gSURBVPHGG2+wYMECPvvsM2JjY/n4449ZuXIlo0aNMrZp1qwZN27cYN26dfmKhYsXL8bV1ZVSpUoBsGbNGoYOHUrPnj3ZunUr77zzDhkZGXh5eRX6fu1ZKCIiIiIiIiIiRWX2oAfwX/Hhhx+Sm5tLr169uHHjBvXr12fTpk04OTnd0/MdO3YkPDycadOmMXz4cKpUqcL8+fONRUG4laJcpUoVTp8+Tfny5YFbBcTc3FyaN29u3O/w6tWrmJqaMnv2bD744ANcXV0ZOXIkAwYMKPT9ISEhBAcHG8+Tk5NVMBQRERERERERkftiyMvLy3vQg3iUBQQE4OfnR1hYGAARERG0aNGCxMREHB0dC2z77rvv4u/vT0JCAoGBgQQGBtKpUyfjzMN7kZycjIODA0lJSdq/UERERERERESkBLufOpGWIf8H2dnZcfDgQb755htcXV0ZP348derU4fr16w96aCIiIiIiIiIi8ghTsfAfFBQURGRkJOHh4RgMBgwGA+fOnQPgwIED1K9fn1KlStGkSRNOnjyZ79n169czevRopk+fTk5ODmfOnGHz5s2FvksBJyIlz+2Akz8eIiIiIiIiIkWhYmExCggIMKYZA4SHh9O4cWP69etHQkICCQkJxn0Ex44dS2hoKPv378fMzIy+ffsan/voo4/o1q0bHTt2ZPPmzTz33HPk5uby7rvvFvpuBZyIiIiIiIiIiEhRPdJ7FgYFBXH9+nVWr179r7zvz/sTFnTt9p6FW7ZsoVWrVgBs2LCBZ599lqZNm/L444+zc+dOrl27xvXr10lPT8fT05MrV66QlJRESkpKge/OyMggIyPDeH474ER7FoqIiIiIiIiIlGz3s2eh0pAfEF9fX+Pfrq6uACxatIiKFSvi6upKSkoKpqammJiYcPr0adLS0sjNzeXmzZsFBp1YWlpiaWn5r41fREREREREREQePY/EMuTly5fj4+ODtbU1Li4uPPXUU7zxxhssXLiQNWvWGPcLjIiIAODNN9+kevXqlCpViscee4y3336brKwsY38TJkzAz8+PRYsW4eHhgYODAy+++CI3btwwtklNTaV3797Y2tri6upKaGjoHeNatGgRBw4cYNasWZQvX56XXnqJxMREAMzNzYmIiMBgMBAVFQVAtWrV2LlzJykpKXh7e5Obm4u1tTWvvfYa9evXp0+fPlhZWf2Dv6SIiIiIiIiIiJRkD/3MwoSEBLp3786UKVPo1KkTN27cYMeOHfTu3Zu4uDiSk5OZP38+AM7OzsCttOEFCxZQoUIFDh8+TL9+/bCzs2P06NHGfk+fPs3q1atZt24diYmJvPDCC3z44Ye8//77ALzxxhtERkayZs0aypYty1tvvcXBgwfx8/Mz9pGVlYWnpye1a9dm8ODBBAcH8+GHH97xDdOnTwdgy5Yt+Pj44OjoyMmTJ/n++++NfR8/fpzGjRtjYlJwfbegZcgiUnz+i+Eh5z589kEPQURERERERB4xD/3MwoSEBLKzs+ncuTMeHh74+PgwePBgbG1tsba2xtLSkvLly1O+fHksLCwAGDduHE2aNMHDw4P27dszatQoli1bZuxz9erVpKWlsWDBAmrXrk3Tpk3p1asXW7duBSAlJYUvv/ySadOm0apVK3x8fFi4cCHZ2dn5xta3b1/q16/PiRMnKF++PJMmTWLv3r13fMOgQYMAcHd3x8LCgitXrpCens7OnTsxMTHhrbfeIj09nV27dhX6OyjgREREREREREREiuqhn1lYp04dY8GudevWPPPMM3Tt2hUnJ6dCn/n222+ZPn06p0+fJiUlhezs7HybOwYGBpKRkYGdnZ3xmqurK5cuXQJuzTrMzMykUaNGxvvOzs7UqFEj33sOHDhAbGwsP/30E1WqVCl0PLVq1TL+ffr0abKzs/nqq6+YPXs2H330Eebm5pibm991A8qQkBCCg4ON57cDTkSkeGgWn4iIiIiIiJQED/3MQlNTUzZv3swPP/yAt7c3M2bMoEaNGpw9e7bA9rt376ZHjx60bduWdevWcejQIcaOHUtmZqaxjZWV1R1hIQaDgdzc3HseV2pqKq1bt6ZChQps2bKF48ePs2nTJgAOHTqEo6OjsW3Dhg3Jy8vDw8PDeK158+ZERUVx8+ZNkpKSqF69OrVr1y70fZaWltjb2+c7RERERERERERE7sdDXyyEW4U8f39/Jk6cyKFDh7CwsGDVqlVYWFiQk5OTr+2uXbtwd3dn7Nix1K9fH09PT86fP5+vzerVq43Fxo0bN/Lkk08SEhJCfHw87dq1w2AwYG5uTnR0NOfOncNgMDBv3jx+/vlnZs6cSYMGDdi0aRNXr17l8OHDtGnThtdff51Tp07le8/69bf2QCtXrhw1a9Zk1qxZVK1aFXNzc6Kiohg6dCiurq5YWlry008/sW/fvn/wVxQRERERERERkZLuoV+GHB0dzdatW3nmmWcoW7Ys0dHRXL58GS8vL9LT09m0aRMnT57ExcUFBwcHPD09iYuLY+nSpTRo0ID169ezatWqQvtPTU0lODiYAwcOMH/+fExMTOjZsyd9+/bljTfe4IMPPgBg+PDhWFpa0rVrV2JjY5k4cSIGgwEfHx/ef/99BgwYwO7du439Ll68mHnz5gGwd+9eTp8+Tb9+/bCxseGVV15hyJAhmJmZMXXqVL7++muioqLuOltQASciJc9/MXTlr2g5t4iIiIiIyH/bQz+z0N7enu3bt9O2bVuqV6/OuHHjCA0NpU2bNvTr148aNWpQv359ypQpQ1RUFM899xyvv/46Q4cOxc/Pj127dvH2228X2n+XLl3o3LkzZcqU4dq1a7i6unL48GH69u1L06ZNefXVV4Fb+xw2bNgQZ2dnhg8fzs8//8xbb73Frl27eP755zE3N8fW1tbY7zvvvMPgwYOBW8EmnTt35vXXX+fzzz9n6tSplC1blqtXr/Lmm2+SmJhIqVKl7tgT8Y8UcCIiIiIiIiIiIkVlyMvLy3vQg/ivCQoK4vr166xevZrY2FjGjx9PdHQ0cXFxmJiYkJWVxfr162nbti3nzp2jSpUq7N27lwYNGgCwbds2WrZsyaVLlyhTpgwA8+fPZ+TIkVy7do3U1FRjWrOJyf/Va7Ozs3FwcODixYscPHiQp59+GhcXF0xNTXFycrprGnJBMwvd3NxISkrS/oUiIiIiIiIiIiVYcnIyDg4O91QneuhnFv7T2rdvz7Vr15gzZw5169alW7duAPkCUQDMzc2NfxsMhgKv3Q5ISUlJAWDOnDnExMQYjyNHjrBnzx4AHn/8cc6ePcu7775LTk4O+/bto2vXroWOUwEnIiIiIiIiIiJSVA/9noX/pKtXr3Ly5EnmzJlD06ZNsbGxITU1FYCXXnqJUqVK0b17d2P7xMREhg8fzsqVKwHo2rUrn332GZ6ensCtAqOjoyPffvstZmZmvPzyy7Rs2ZL58+fj6uoKQE5ODsHBwcybNw9TU1NeeeUVGjduTOnSpVmxYgXXrl3D2dn5X/4lROS/6GHcs/ButJ+hiIiIiIjIg6eZhXfh5OSEi4sLX3zxBadOnSIxMZE1a9YAMHXqVMLDw5k7d66xfVBQEPv37zeGnuTl5dG2bVuysrKMbW7evMm0adN48803MTExISYmhv79+3P48GHmz59Phw4dWLBgAR07diQkJIQzZ86wYsUKfvvtN8qXL4+jo2OBY83IyCA5OTnfISIiIiIiIiIicj80s/AuTExMWLp0KcOGDaN27dqYmZlRqVIl4uLiqFixIh07dmTnzp3Mnj2b8+fPs3btWqKiooxLlOfMmUPt2rVZvXq1sc+srCxmz55N1apV8fb25s0332TdunVERUXh4+PD4cOHCQkJwdHRkVmzZhEbG8vNmzextrbmxx9/zLfH4R9NnjyZiRMn/hs/i4iIiIiIiIiIPKIUcFKA7t27Y2pqytdff53vekBAAI899hjz5s0zXluzZg1du3Zl+fLldO3alfT0dExNTY3369atS6dOnRg/fjwLFixgyJAhxqXMAKtWraJLly7k5uaSlJSEo6MjkZGRNGvWzNimU6dO5OXlsXr1al5++WUqVqzIe++9l29sCjgREREREREREZGCKODkb8rOzubYsWPs3r2bWrVq/SPv+GPoCdwKPrnXem1OTg7r1q3jueeeu+OeAk5ERERERERERKSotAz5D44cOUKTJk1o0aIFAwcOLLBNdHR0vvM9e/bg6emJt7c32dnZREdH06RJE+D/AlK8vb3v6f0ODg64uroSHR1tnFmYnZ3NgQMHePzxx9m1axfm5uY0aNDgjmcLmlkoIsXjvxokokAQERERERERKW4qFv6Bn58fN2/evGubuLg4goODGTBgAAcPHmTGjBmEhobi6elJhw4d6NevH59//jl2dnaMGTOGihUr0qFDh3sew/Dhw/nwww/x9PSkZs2afPzxx1y/fh2AtWvX0r59ewwGwx3Pac9CEREREREREREpqod2GXJAQAAjRoz419/bu3dv0tLSaNiwIUOGDGH48OH0798fgPnz51OvXj3atWtH48aNycvLY8OGDXcsPb6bkSNH0qtXL/r06UPjxo2xs7OjU6dOwK39EQtaggwQEhJCUlKS8YiPjy/6x4qIiIiIiIiISIny0AacXLt2DXNzc+zs7B70UO6JwWBg1apVdOzY8W89f/z4cRo0aMCVK1ewsrL6y/b3s3GliIiIiIiIiIg8uu6nTvTQLkN2dnZ+0EP4V61du5ann346X9KyiIiIiIiIiIhIcXokliF7eHjwwQcf0LdvX+zs7KhcuTJffPGFsW1mZiZDhw7F1dUVKysr3N3dmTx5svG+wWDgs88+o02bNlhbW/PYY4+xfPnyfO+Lj4/nhRdewNHREWdnZzp06MC5c+fytZk3bx61atXC0tISV1dXhg4dahwfQKdOnTAYDMZzgM8++4yqVatiYWFBjRo1WLRoUb4+b4/to48+YsOGDbz//vsF/h4ZGRkkJyfnO0Tk4eAxZv3fOkRERERERESK20NbLPyz0NBQ6tevz6FDhxg8eDCDBg3i5MmTAEyfPp21a9eybNkyTp48yeLFi/MV7ADefvttunTpwk8//USPHj148cUXOX78OABZWVm0bt0aOzs7duzYQVRUFLa2tgQGBpKZmQncKvoNGTKE/v37c/jwYdauXUu1atUA2LdvH3BrT8OEhATj+apVqxg+fDgjR47kyJEjDBgwgJdffplt27blG9vYsWNJTExk3rx59O3bt8Dvnzx5Mg4ODsbDzc2teH5YEREREREREREpMR7aPQsDAgLw8/MjLCwMDw8PmjZtapyVl5eXR/ny5Zk4cSIDBw5k2LBhHD16lC1bthSYJGwwGBg4cCCfffaZ8doTTzzB448/zqxZs/j666957733OH78uPH5zMxMHB0dWb16Nc888wwVK1bk5Zdf5r333itwvAXtWejv70+tWrXyzYJ84YUXSE1NZf369cbnnnzySXbu3MmhQ4fw8/MrsP+MjAwyMjKM58nJybi5uWnPQhERERERERGREu5+9ix8ZGYW+vr6Gv82GAyUL1+eS5cuARAUFERMTAw1atRg2LBh/Pjjj3c837hx4zvOb88s/Omnnzh16hR2dnbY2tpia2uLs7Mz6enpnD59mkuXLvH777/TqlWr+xrz8ePH8ff3z3fN39/f+N7bEhMT/7IvS0tL7O3t8x0iIiIiIiIiIiL346ENOPkzc3PzfOcGg4Hc3FwAHn/8cc6ePcsPP/zAli1beOGFF3jqqafu2JewMCkpKdSrV4/Fixffca9MmTKYmBRPzTU3N5etW7cSHx+PpaUl5cqVA6BGjRocPXq0WN4hIiIiIiIiIiJSmEdmZuFfsbe3p1u3bsyZM4dvv/2WFStWcO3aNeP9PXv25Gu/Z88evLy8gFvFxtjYWMqWLUu1atXyHQ4ODtjZ2eHh4cHWrVsLfb+5uTk5OTn5rnl5eREVFWU8DwkJYePGjdSqVYtjx46xZMkSAFq3bv2X36eAE5FHmwJORERERERE5N9QIoqFH3/8Md988w0nTpzgl19+4bvvvqN8+fI4Ojoa23z33XfMmzePX375hXfeeYe9e/ca04x79OhB6dKl6dChAzt27ODs2bNEREQwbNgwfv31VwAmTJhAaGgo06dPJzY2loMHDzJjxgxj/7eLiRcuXDAuK37jjTdYsGABn332GYcOHSI0NJScnBzCwsKoWrUqTz755D1/owJORERERERERESkqB6ZZch3Y2dnx5QpU4iNjcXU1JQGDRqwYcOGfMuHr127xuLFixk8eDCZmZnMnDkTb29vAEqVKsX27dt58803efbZZ0lJSaFKlSrUrl2bJ598knPnztGnTx/S09P55JNPGDVqFKVLl6Zr167G/kNDQwkODmbOnDlUrFiRc+fO0bFjR8LDw5k2bRpxcXHk5OQQGhpKQEDAfX9jSEgIwcHBxvPbASci8mg49+GzD3oIIiIiIiIiUgI8tGnIxclgMFC1alVOnTpFdHQ0Xbt2JT4+vsC2wcHBmJqaMnXqVD766COOHDliTGEuisOHD+Pr68uZM2eoUqVKvnvnzp2jSpUqd01D/rP7SbkREREREREREZFHV4lMQy6q2/sT7ty5846E4j/atWuX8X5hbSMjI2nYsCGWlpa4uroyZswYsrOzjfc9PDwICwvL90yPHj0wMzNj69at5OXlMWHCBCpXroylpSUNGzYshi8UERERERERERG5uxKxDLkgcXFx+Pr6Gs83bdqEo6MjaWlpGAwGHB0deemll5g1axZLlixh8ODBwK1KbK9evTA1NeXGjRts27aNMWPGMGvWLF566SV+++032rZtS1BQEF999RUnTpygX79+WFlZMWHChELHY2Jigr+/P6NHj+ann35iwYIFTJo0iaysLKpXr06nTp3u+j0ZGRlkZGQYzxVwIvJo8xizXkuTRUREREREpNiV2GJhhQoViImJITk5mfr167N//35sbGzw8/Nj/fr1VK5cGVtbWwCee+45mjRpwpYtWwgLC2PdunX8/PPPDBw4kF27dgFQunRpAGbNmoWbmxszZ87EYDBQs2ZNfv/9d958803Gjx+fb5/EP2vevDlPP/00oaGhpKSkEBYWxsCBA+9p6fHkyZOZOHFi0X8YEREREREREREpsUrsMmQzMzM8PDw4ceIEDRo0wNfXlwsXLlCuXDmaNWuGh4eHsQBoa2uLjY0N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FhbB7fATExMTLl68iJ2dHWPHjuX777+nXbt2d7S9vY9h6dKl6dSpE56envTu3Zv69euzdetWAA4ePAjc2hPxhRdeICYmBhcXFwA+//xzFixYUOBYFHAiIiIiIiIiIiJFpWXIRXA7/CQgIIDdu3dz/fp1oqKiaNCgwR1tb+9JGBAQQLt27fj000+N91xdXbl06RIAx48fx93dnTNnzhjvOzs7A7eKjI6OjgWORQEnIiWDlh6LiIiIiIjIP0kzC4tJ3bp1KVOmDPPmzbsjoOTPzM3N853n5eWxe/duypYty8iRI/n999/Zt28f586dw2AwkJiYCECnTp0KnVkoIiIiIiIiIiJSVJpZWEyqVq1KaGgoAQEBmJqaMnPmzHt+9ujRoyQkJLBixQp+/fVXBgwYwNNPP83p06dJSEigatWq3Lx5k3nz5tGtW7cC+1DAiUjJ88ewk/8qzYQUERERERF5uGhmYTGqXr0627ZtY8WKFYwYMaLANnv27OHQoUPG89TUVM6ePUv9+vVp06YNr7zyCjVr1iQ9PZ333nuP2NhYYxHQyckJa2vrAvtVwImIiIiIiIiIiBSVZhYWsxo1avC///2PJ554gs8++4zu3bvnu1+vXj1q165tPD99+jR5eXmULVsWABMTE1avXk2TJk2YPn06GzZswNLSkps3b971vSEhIQQHBxvPk5OTVTAUecRp1p6IiIiIiIgUN0PeX22wJ3/LggULGDFiBNevX79ru59//pk6depw7tw53N3djdc7deqEk5MT8+bNw9HRkbCwMIKCgu75/cnJyTg4OJCUlIS9vf3f/AoREREREREREXnY3U+dSMuQC7Fx40aefPJJHB0dcXFxoV27dpw+fRrAGDyycuVKWrRoQalSpahTpw67d+8GICIigpdffpmkpCQMBgMGg4EJEyYA4OHhQVhYmPE9Li4umJiY4Ovri5WVFbVr12b16tXs27cPV1dX2rdvT1JSEgMGDKBWrVps2LDh3/4pRERERERERESkhNAy5EKkpqYSHByMr68vKSkpjB8/nk6dOhETE2NsM3bsWKZNm4anpydjx46le/funDp1iiZNmhAWFsb48eM5efIkALa2tne8Izc3l65du+Lo6IjBYCAsLIy0tDQ+/fRTbt68yf79+8nLy8POzo5x48bh7e1dYD+ggBORkujvBpxo+bKIiIiIiIgU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J/pPLkMWOHPmDJUrV+bMmTNkZmbyww8/5Es7/jNLS0ssLS3/xRGKiIiIiIiIiMijRsXCB2Tjxo289957HD58GICOHTuyfPlyqlatSmxsLD///DOxsbFUq1aNvLw87O3tad26daH9ac9CkZKnOAJOtLm8iIiIiIiI/NF/cs/CkiA1NZXg4GAOHDjASy+9xIkTJ3jqqac4cuQIISEhAFSqVInvv/8eOzs7qlevTq9evcjOzi6wP+1ZKCIiIiIiIiIiRaVi4QPSpUsXOnfuTLVq1fjyyy/p2bMn586do169epw/fx6AN998k2effRYTExM6duzI+fPnOXXqVIH9hYSEkJSUZDwK29tQRERERERERESkMFqG/IDExsYyfvx4oqOjuXLlCrm5uQCsWrUKb29vqlSpgq+vLwDXr18nMTGRcePGcenSJWrWrHlHf9qzUKTk0RJiERERERERKW4qFj4g7du3x93dnTlz5lChQgVyc3OpXbs2mZmZxjbm5ubGvw0GA0C+fQlFRERERERERESKk4qFRZSRkcEbb7zB0qVLSU5Opn79+nzyySfUq1ePypUrM3bsWAYNGmRsf+jQIR5//HEA5syZg4+PD6NGjWL58uUAvP3223z00UfG9hMmTGD16tX07dsXgGeeeYa8vLwCx6GAE5EHrzhCR+6VZhaKiIiIiIhIcdOehUU0evRoVqxYwcKFCzl48CDVqlWjdevWXL9+ne7du7NkyZJ87RcvXoy/vz8uLi588cUXPPvssxw7doyKFSsC8Nhjj9GjR498z5w6dYq1a9cCMHfu3ALHoYATEREREREREREpKkNeQdPU5J6kpqbi5OTEggULeOmllwD4/fffqVixIu+99x7PPPMMDRs2ZNeuXTRu3Jjc3FwqV67MuHHjqFatGi+99BKXL1/Gx8eHAQMGMHToUFatWsXw4cOJi4tjzpw59OvXD3Nzc44dO4anpyfbtm0jICDgjrEUNLPQzc2NpKQk7O3t/62fRERERERERERE/mOSk5NxcHC4pzqRliEXwenTp8nKysLf3994bf/+/Tg6OnL69Glyc3MxMzMjMjKSxo0bExkZyaVLl3j++edxcXGhdu3aREREcObMGYKDgzEzM6Nnz56kpaUxevRoqlWrBoCbmxvVqlUrcPnxbQo4ERERERERERGRotIy5GK2a9cuXFxcANi5cyde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L19Oly5dAEhLS+Orr76ifPnyAAwcOJBx48bl+NygoCACAwMf5quJiIiIiIiIiEgBp2ThAxYTE0NqairPPfec+VrRokWpVKkSAFFRUVhZWWW5X6xYMSpVqkRUVJT5WqFChcyJwtv9/vrrL8aOHcvYsWPveG5AQAD+/v7m88TERFVEFnnCaeagiIiIiIiIPGpKFuZTt5cj33bx4sW7tjcajRiNxocZkoiIiIiIiIiIFHAqcPKAlS9fHmtra8LDw83Xrl69yrFjxwCoUqUK6enpWe5fvnyZ6OhoqlatmuO4+/fvf3hBi4iIiIiIiIiIoJmFD5yDgwN9+vRh6NChFCtWjBIlSjBy5EgsLG7lZb28vGjfvj19+/bl66+/pnDhwowYMYJnnnmG9u3b5zjulClT6NixY473VeBE5OnzbwVQChItyRYREREREXk0NLPwIZgyZQqNGjWiXbt2NGvWjBdeeIHatWub78+dO5fatWvz8ssvU79+fUwmE7/99tsdS4+zk91+hXCrwImTk5P50H6FIiIiIiIiIiKSWwaTyWR63EHI3fn6+uLt7c306dNzbJPdzEJ3d3cSEhJwdHR8BFGKiIiIiIiIiEh+lJiYiJOT0z3libQMuYBQgRMREREREREREckrLUPO5/z8/NiyZQshISEYDAYMBgOxsbGPOywRERERERERESmANLMwnwsJCeHYsWNUq1aNcePGAeDi4nJHOxU4kYfhaSqg8SRS0Q8RERERERF50DSz8DHw8/OjQ4cO99TWyckJGxsbChUqhKurK66urlhaWt7RTgVOREREREREREQkrzSzMI/upfjIoxAQEIC/v7/5/HaBE5G80Mw1ERERERERkaeLkoUFhAqciIiIiIiIiIhIXmkZch5kV3wkJiaGPn36ULZsWezs7KhUqRIhISF3HWfPnj24uLjwySefABAfH89bb72Fi4sLjo6O/PHHH/z111+P4pVEJB/yHLEq20NERERERETkQdPMwjzIrvhIkSJFKF26ND///DPFihVjx44d9OvXDzc3N1577bU7xti4cSOdOnVi8uTJ9OvXD4AuXbpgZ2fH6tWrcXJyonPnzvz8888MHz6c0qVLU7RoUSwssuZ5VeBERERERERERETySjML8yC74iNGo5HAwEDq1KlD2bJl6d69O7169eKnn366o/+yZcto3749X3/9tTlR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HEtLS06dOsW7775LXFwcw4cPzzKera0tISEhGI1Grl69Sq1atTAYDOYxs2M0GnF0dMxyiIiIiIiIiIiI5MYTnywEMBgMNGzYkMDAQA4cOICNjQ1hYWGUKlWKkydPUqFChSxH2bJlczV+lSpVCAsLy3ItLCyMqlWrAuDi4gLcWhJ92z+Lndzm4uJCz549+f7775k+ffodRUz+qU2bNtjb2zNz5kzCwsIoV64c33//fa7iFhERERERERERyY0nfs/C8PBwNmzYQIsWLShRogTh4eH8/fffVKlShcDAQN577z2cnJxo1aoVKSkp7N27l6tXr+Lv73/Pzxg6dCivvfYaPj4+NGvWjF9++YWlS5fy+++/A2BnZ8fzzz/PpEmTKFu2LBcvXuSjjz7KMsbo0aOpXbs2zz77LCkpKfz6669UqVIlx2daWlri5+dHQEAAXl5evP766yxatIgBAwZk214FTuReZFcQQ55cKmYiIiIiIiIiD9oTP7PQ0dGRrVu30qZNGypWrMhHH33EtGnTaN26NW+99RbffPMNc+fOpXr16jRu3JjQ0NBczyzs0KEDISEhTJ06lWeffZavv/6auXPn4uvra24zZ84c0tPTqV27NoMHD+bjjz/OMoaNjQ0BAQHUqFGDF198EUtLSxYtWnTX5/bp04fU1FR69epFvXr12L17d5aE4D8FBQXh5ORkPtzd3XP1jiIiIiIiIiIiIk98gZOCbNu2bbz00kucPXuWv/76i5o1axIbG2uu+vxPKnAiIiIiIiIiIiLZyU2Bkyd+GXJBlJKSwt9//83YsWPp0qULJUuWNC8rTk5OzraP0WjEaDQ+yjBFRERERERERKSAUbIwH1q4cCF9+vTB29ub7777DoArV64A/1dMReRpoX0Wc6Y9C0VERERERORBU7IwH/Lz88PPzy/LtcOHD1O6dGmKFy+ebR8VOBERERERERERkbx64guc/JvY2FgMBgMRERF3befr68vgwYMfSUz/xtPTk+nTp2e5tm3bNlq0aJFjHxU4ERERERERERGRvHrqZhZu3ryZJk2acPXqVZydnR93OPfk5s2bLF++nDVr1uTYJiAgAH9/f/P57QInIk86LbUVEREREREReXSeumThk2ju3LnUq1eP559/Psc2KnAiIiIiIiIiIiJ5VSCShWvWrOHjjz/m8OHDWFpaUr9+fUJCQihf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R0dKlSpFWFhYlpmFYWFh1KtXL9uxa9WqxZIlS/D09MTK6v5+fTVq1ODcuXMcO3aMihUrZvuMyMhIKlSocM9jpqSkZFmirD0LRZ4cuS1scptmIoqIiIiIiMiDVuD2LLyte/furFq1ijlz5tC9e/cc2w0dOpRPPvmEH3/8kejoaEaMGEFERASDBg3Ktv2AAQO4cuUK3bp1Y8+ePcTExLB27Vp69epFRkbGPcXWuHFjXnzxRTp37sz69es5deoUq1evZs2aNQAMHz6cHTt2MHDgQCIiIjh+/DgrVqxg4MCBOY6pPQtFRERERERERCSvCuTMQoCmTZtStGhRoqOjeeONN3Js995775GQkMAHH3zAxYsXqVq1KitXrsTLyyvb9rdnIg4fPpwWLVqQkpJCmTJlaNWqFRYW9557XbJkCUOGDKFbt25cv36dChUqMGnSJHNMr7zyCseOHaNRo0aYTCbKly9P165dcxxPexaKiIiIiIiIiEheGUy3K2dIvnHlyhWsra0pXLgwnp6eDB48mMGDB+dqjMTERJycnEhISMDR0fHhBCoiIiIiIiIiIvlebvJEBXZm4ZOsaNGijzsEERERERERERF5CmlmYT7k6+uLt7c3ERERbNmyJcu9nP5c2RU4cXd318xCkQIsN4VRVAxFRERERETk6ZWbmYUFtsBJQbB06VJKly7NuHHjiIuLIy4uLse2KnAiIiIiIiIiIiJ5pWXI+VjRokWxtLSkcOHCrFmzhl69ejFmzBjGjh17R1sVOBF5+mi2oIiIiIiIiDxoShY+IU6dOkXJkiVzvG80GjEajY8wIhERERERERERKWi0DPkJsXr1amrXrv24wxARERERERERkQJMMwvzORsbGzIyMti9ezd+fn45tsuuwImIFGy5KXBS0GgJtoiIiIiIyMOhmYX5nKenJ1u3buX8+fNMnTo12/0KQQVOREREREREREQk7wwmk8n0uIOQrHx9ffH29mb69Ons2rWL//73v0RHR5OSkkJOf67sZha6u7vfU0lsEREREREREREpuBITE3FycrqnPJGShQVUbj4CEREREREREREpuHKTJ9Iy5Hxu8eLFVK9eHTs7O4oVK0azZs24fv364w5LREREREREREQKIBU4ycfi4uLo1q0bkydPpmPHjly7do1t27ZluxRZBU5Enj4FrcCJipaIiIiIiIg8fgVm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6OhoZs+eTUxMDJaWlly9ehWAjh07smfPHurUqUPXrl3p2rUrlpaWfP3111y6dInixYvf8btSgRORB+NuRUPyGxUxERERERERkQct388snDdvHlZWVuzevZuQkBA+/fRTvvnmG/P9qVOnUrNmTQ4cOMCoUaOIiYmhVatWdO7cmT/++IMff/yR7du3M3DgQAC6d+/O7t27iYmJMY9x5MgR/vjjD954441sYxg2bBhLlixh3rx57N+/nwoVKtCyZUuuXLlyz+/RvXt3SpcuzZ49e9i3bx8ffvghzs7OzJo1i7/++ov09HTznoM1a9Zk0KBBLFy4kKNHj3Ls2DHmzZuHhYUFRYsWzXZ8FTgREREREREREZG8ytd7Fvr6+nLx4kWOHDmCwWAAYMSIEaxcuZLIyEg8PT3x8fFh2bJl5j5vvfWWeRbebdu3b6dx48Zcv34dW1tbvL296dy5M6NGjQLgww8/ZOPGjezatQvIWuDk+vXrODo64uPjw969ewFIS0vD09OTwYMHM3To0LvOLKxZsyYRERE4OjoyY8YMevbsaW7z+++/895773H8+HEyMzPZuHEjvr6+DBkyhC+//BIvLy9OnDgB3KqcXLZsWU6ePJnt7yq7mYXu7u7as1BERERERERE5ClXoPYsfP75582JQoD69etz/PhxMjIyAKhTp06W9gcPHiQ0NBQHBwfz0bJlSzIzMzl16hRwa5bfDz/8AIDJZGLhwoV079492+fHxMSQmZmZZUaftbU19erVIyoq6p7fw9/fn7feeotmzZoxadIkYmJiaNasGZGRkcyePZvChQvTuHFjTCYTEyZMoFChQowYMYKkpCR69+5N2bJl7/rHNBqNODo6ZjlERERERERERERyI1/vWXgv7O3ts5wnJSXx3//+l/fee++Oth4eHgB069aN4cOHs3//fm7cuMHZs2fp2rUrixcvJjAwkMjISCwtLWnWrBmlS5cGYP369eak5aZNmwDYu3cvFStWJDY2lvT0dEaNGsXo0aOxtrZm/fr1wK3k5e1+QUFBGI1GfvnlF0aOHGmO/ZlnnjEnPwFsbGyoXLkyPXv25K233iI9PZ3mzZtz9uzZB/mrExERERERERERySLfJwv/txDJrl278PLywtLSMtv2tWrVIjIykgoVKuQ4ZunSpWncuDELFizgxo0bNG/enIyMDLp168bkyZMJCwvjypUrdOrUic6dOzN//nyqVavG2rVrAShcuDB79uyhWrVqjB49mmPHjtG7d29mzZpF4cKFGTZsmDkR+Oyzz/L7778Dt6os29nZ8dtvv+Hq6kr58uX59ttveffdd4mOjubKlSsULVqUn376ifDwcNLT0/nggw/49NNP2bx5M+XLl8/xnVTgROT+PEkFTf6XCpyIiIiIiIjIg5bvlyGfOXMGf39/oqOjWbhwITNmzGDQoEE5th8+fDg7duxg4MCBREREcPz4cVasWGEucHJb9+7dWbRoET///DPdu3cnLi6O9PR0OnXqhIODA46OjvTv35+SJUtSqVIljh07RkREBFeuXGHAgAEkJyezcOFCGjRowCuvvEKhQoWoWLEi8+fP54cffmDBggUAWFlZ4eTkxMcff0x4eDiLFy9mx44d2NraUr9+fby8vHj99dcxmUx06dIFgOnTp9O3b1/q16/PtGnT6NWrF88+++xdf08qcCIiIiIiIiIiInmV72cW9ujRgxs3blCvXj0sLS0ZNGgQ/fr1y7F9jRo12LJlCyNHjqRRo0aYTCbKly9P165ds7R79dVXGThwIJaWlnTo0AE7OzteeuklqlevTtGiRXF2dubq1asUKVKE2rVrc/PmTd58802uXbtGnTp1WLt2LevWreOzzz4jJiaG9PR0wsLCzHsgjh071hynpaUlly9fpkePHuak5JkzZ/j888/54osvSEtLM8cOEBUVxdtvv03t2rXZsWMHvXv35ocffjAvf85OQECAuZoy/F+BExG5O83OExEREREREfk/+T5ZaG1tzfTp05k5c+Yd92JjY7PtU7duXdatW3fXcZ2dnbl582aWa+vXr2fHjh2sW7eOZcuWUalSJcLDw7G0tKRGjRosX77c3Hbnzp10796dwMBAWrZsiZOTE4sWLWLatGn88ssvAJw/f57ly5djY2PDwoULAfjkk0+YMWMGmzdvzjamfzp//jzVq1enbt265oIsOTEajRiNxru2ERERERERERERuZt8nyx8lAwGAw0bNqRhw4aMHj2aMmXKsGzZMmxsbLIUIAHYsWMHZcqUYeTIkeZrp0+fztImu361atXiwoULWFlZ4enpab7u6+uLt7c306dPJzk5malTp3L8+HFMJhMeHh5YWVmpwrGIiIiIiIiIiDxUShb+f+Hh4WzYsIEWLVpQokQJwsPD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zMxMkpOTgVtLkHfu3Ennzp2pWLEiLVq0oEOHDjRo0ACA/fv307x5c4oVK0arVq2wsbFh2rRp5PTnym5mobu7u/YsFBERERERERF5ymnPwnzg5s2btGzZEisrK1q1asWePXtYtmxZljatW7fm9OnTvP/++/z555+89NJLDBkyBIBatWpx6tQpxo8fz40bN/j8888pXrx4js8zGo04OjpmOURERERERERERHJDycI8Cg8Pz3K+a9cuvLy8OHr0KJcvX+bixYssXryYKlWq0LJlS3O7ffv2UadOHcqUKcPXX3/NqFGjmD59OrNmzQJuzVD09fWlZ8+ebNiwAQcHBy5dusSVK1ce6fuJiIiIiIiIiMjTQ3sW5tGZM2fw9/fnv//9L/v372fGjBlMmzYNDw8PbGxsKF68OI0aNaJ169aMHz+emJgYAEaOHMmzzz6Ln58f8+bN4/XXX6d06dJUqVKFbdu20bVrV3r16sUnn3zCuXPneO+993BwcMDZ2TnbOFTgROTpk12BkwdNBVNERERERESeLkoW5lGPHj24ceMG9erVw9LSkkGDBtGvXz8MBgOhoaH07t2bxYsXc+bMGYKDg3nllVcAmDBhAjt37uTLL7/k5MmTpKSkULp0aRYtWkTfvn1p06YNu3btYv78+VhaWlKmTBn++usvLCyynwyqAiciIiIiIiIiIpJXKnCSB76+vnh7ezN9+vR7brN582aaNGnCxYsXcXFxAeDAgQPUqlWL06dP4+HhgYuLC0lJSVhaWprHycjI4ObNm1y/fp1ChQrd8RwVOBERERERERERkezkpsCJZhY+JtbW1uafDQYDAGlpaWRmZpKUlERgYCCdOnW6o5+trW224xmNRoxG48MJVkREREREREREngoFtsCJr68vAwcOZODAgTg5OVG8eHFGjRrF7YmUV69epUePHhQpUoRChQrRunVrjh8/bu4fGhqKs7Mzy5cvx8vLC1tbW1q2bMnZs2ezPOfkyZPUrVsXW1tbihcvTseOHc33rl69yrFjx5g5c6b5GefOnbvjGZs3bwagYsWKnDlzBpPJxE8//cTEiRPx8fGhadOmbNy4kQoVKuS4DFlERERERERERCSvCvTMwnnz5tGnTx92797N3r176devHx4eHvTt2xc/Pz+OHz/OypUrcXR0ZPjw4bRp04bIyEjzrL/k5GQmTJjAd999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dxEREREREREREQElC++bq6srP/zwA4cPH6ZatWo5tktKSuL06dOEhobmavx9+/bx119/ERoaipWVFVFRUeYqy9lRgRMREREREREREckrLUO+T++++y5169alevXqeHp68vrrrzNnzpwsCTu4NbPwxIkTvPDCCzg4OODg4EDr1q2zHdNkMvH777+zbds2hgwZwtmzZ3nppZeAW8nA69ev5xhPUFAQTk5O5sPd3f3BvayIiIiIiIiIiDwVNLPwPtnb27Nq1SpiYmLYtGkTu3bt4oMPPiAkJISdO3dSqFAh4FY15f3792fp+7/7D/766684ODiQlpZGZmYmb7zxBmPHjs3SxtvbG09PzxzjCQgIwN/f33yekJCAh4eHZhiKiIiIiIiIiDzlbueH7qXOsZKFeVS+fHnKly/PW2+9xciRI6lYsSI//vgjvXr1AsDCwoIKFSrcdYwmTZowc+ZMbGxsKFWqFFZWuf+zGI1GjEaj+fz2R6AZhiIiIiIiIiIiAnDt2jWcnJzu2kbJwgfI09OTQoUK3XW5cHbs7e3/NaGYW6VKleLs2bMULlwYg8HwQMeWByMxMRF3d3fOnj2r6tWSa/p+JC/0/Uhe6PuRvND3I3mh70fyQt+P5EVB+H5MJhPXrl2jVKlS/9pWycL7NHbsWJKTk2nTpg1lypQhPj6ezz77jLS0NJo3b25uZzKZuHDhwh39S5QogYXFw9sy0sLCgtKlSz+08eXBcXR0fGL/sZHHT9+P5IW+H8kLfT+SF/p+JC/0/Uhe6PuRvHjSv59/m1F4m5KF96lx48Z88cUX9OjRg7/++osiRYrg4+PDunXrqFSpkrldYmIibm5ud/SPi4vD1dX1UYYsIiIiIiIiIiJyV0oW3qcmTZrQpEmTu7bx8/PDz8/vrm1CQ0MfXFAiIiIiIiIiIiJ58PDWwRZAX375JQ4ODhw6dOiRPXPbtm04ODiwYMGCR/ZMeTSMRiNjxozJUphG5F7p+5G80PcjeaHvR/JC34/khb4fyQt9P5IXT9v3YzDdS81k4fz589y4cQMADw8PbGxsHslzb9y4wfnz5wFwcHDQ0mUREREREREREXlolCwUERERERERERERQMuQRURERERERERE5P9TslBEREREREREREQAJQtFRERERERERETk/1OyUERERERERERERAAlC0UeqStXrtC9e3ccHR1x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HDhgOnDggMnNzc00ZMgQ04EDB0zHjx9/XK8gj1Fuv59JkyaZbGxsTIsXLzbFxcWZj2vXrj2uV5DHKLffz8SJE03r1q0zxcTEmCIjI01Tp041WVlZmWbPnv24XkEeo9x+P/9L1ZCfbrn9fgIDA01r1641xcTEmPbt22d6/fXXTba2tqYjR448rleQxyi338+ZM2dMhQsXNg0cONAUHR1t+vXXX00lSpQwffzxx4/rFR4oJQtFHqHLly+bunXrZnJwcDA5OjqaevXqleV/TJ06dcoEmDZt2mS+NmbMGBNwxzF37txH/wLySM2YMcPk4eFhsrGxMdWrV8+0a9cu873GjRubevbsmaX9Tz/9ZKpYsaLJxsbG9Oyzz5pWrVr1iCOW/CQ338/tf3v+92jcuPGjD1zyhdx8P2XKlMn2+xkzZsyjD1zyhdx8PyNHjjRVqFDBZGtraypSpIipfv36pkWLFj2GqCW/yO1///yTkoWSm+9n8ODB5rYlS5Y0tWnTxrR///7HELXkF7n992fHjh2m5557zmQ0Gk3lypUzTZgwwZSenv6Io344DCaTyfTIpzOKiIiIiIiIiIhIvqM9C0VERERERERERARQslBERERERERERET+PyULRUREREREREREBFCyUERERERERERERP4/JQtFREREREREREQEULJQRERERERERERE/j8lC0VERERERERERARQslBERERERERERET+PyULRUREREREREREBFCyUERERERERERERP4/JQtFREREREREREQEgP8HM2eWjwfodg4AAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "table.iloc[::-1].plot(x=\"tokens\",y=\"score\",kind=\"barh\",figsize=(15,15))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "5I9SdaWY50e0", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 337 + }, + "outputId": "845405b2-4024-4728-a3f5-e5a4ddc5374c" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "<IPython.core.display.HTML object>" + ], + "text/html": [ + "<table width: 100%><div style=\"border-top: 1px solid; margin-top: 5px; padding-top: 5px; display: inline-block\"><b>Legend: </b><span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(0, 75%, 60%)\"></span> Negative <span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(0, 75%, 100%)\"></span> Neutral <span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(120, 75%, 50%)\"></span> Positive </div><tr><th>True Label</th><th>Predicted Label</th><th>Attribution Label</th><th>Attribution Score</th><th>Word Importance</th><tr><td><text style=\"padding-right:2em\"><b>1</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_1 (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_1</b></text></td><td><text style=\"padding-right:2em\"><b>2.66</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> this </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> latest </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> entry </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> in </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> long </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> series </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> films </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> with </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> french </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> agent </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> o </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> 117 </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ( </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> french </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> answer </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> to </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> james </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> bond </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ) </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> series </font></mark><mark style=\"background-color: hsl(120, 75%, 84%); opacity:1.0; line-height:1.75\"><font color=\"black\"> was </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0; line-height:1.75\"><font color=\"black\"> launched </font></mark><mark style=\"background-color: hsl(120, 75%, 88%); opacity:1.0; line-height:1.75\"><font color=\"black\"> in </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> early </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> 1950 </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> and </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> spawned </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> at </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> least </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> eight </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> films </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ( </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> none </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> which </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> was </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ever </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> released </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> in </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> u </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ) </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> o </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> 117 </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> : </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> cairo </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> nest </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> spies </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> bree </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##zy </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> little </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> comedy </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> that </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> should </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> not </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> repeat </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> not </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> be </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> taken </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> too </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> seriously </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> our </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> protagonist </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> finds </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> himself </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> in </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> middle </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> spy </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> chase </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> in </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> egypt </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ( </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> with </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> mor </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##ro </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##co </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> doing </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> stand </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> in </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> for </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> egypt </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ) </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> to </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> find </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> out </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> about </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> long </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> lost </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> friend </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> what </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> follows </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> standard </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> james </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> bond </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> / </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> inspector </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> cl </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##ous </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##so </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##u </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> kind </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> antics </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> although </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> our </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> man </font></mark><mark style=\"background-color: hsl(120, 75%, 71%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 91%); opacity:1.0; line-height:1.75\"><font color=\"black\"> something </font></mark><mark style=\"background-color: hsl(120, 75%, 85%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> an </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> over </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##t </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> x </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##eno </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##ph </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##obe </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> sex </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##ist </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> homo </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##ph </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##obe </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> treated </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> as </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> pure </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> far </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##ce </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ( </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> as </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> i </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> said </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> don </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> t </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> take </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> too </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> seriously </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ) </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> although </font></mark><mark style=\"background-color: hsl(0, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> there </font></mark><mark style=\"background-color: hsl(120, 75%, 92%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 91%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> bit </font></mark><mark style=\"background-color: hsl(120, 75%, 88%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> rough </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> language </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> & </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> cartoon </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> violence </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> basically </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> okay </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> for </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> older </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> kids </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ( </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ages </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> 12 </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> & </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> up </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ) </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> as </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> previously </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> stated </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> in </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> subject </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> line </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> just </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> sit </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> back </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> pass </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> popcorn </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> & </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> just </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> enjoy </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr></table>" + ] + }, + "metadata": {} + } + ], + "source": [ + "html = cls_explainer.visualize()" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### ▶▶ Exercice : Afficher les attributions pour un exemple mal prédit\n", + "\n", + "Recommencer les étapes précédentes pour un exemple correspondant à une erreur du système." + ], + "metadata": { + "id": "IMOLP2uCpf2V" + } + }, + { + "cell_type": "code", + "source": [ + "# ----------------------------------------\n", + "# essayons avec une erreur du modèle\n", + "ex_eval = small_eval_dataset[32][\"text\"]" + ], + "metadata": { + "id": "udXeK-PoiDIn" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "word_attributions = cls_explainer(ex_eval)" + ], + "metadata": { + "id": "em_SJ6b7igiy" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "49KjhvdWigjG", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "1e65a897-2181-4d23-87df-bb051f12cfea" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'LABEL_0'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 50 + } + ], + "source": [ + "cls_explainer.predicted_class_name" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "fwpGOSlgigjG", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "40e038dd-053a-4a0a-b852-cf1c7a84f4dd" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[('[CLS]', 0.0),\n", + " ('it', -0.02972405010250239),\n", + " (\"'\", -0.00836009777991108),\n", + " ('s', -0.003212345860559767),\n", + " ('really', 0.15705698290065206),\n", + " ('too', 0.4004755374755616),\n", + " ('bad', 0.7050968578044625),\n", + " ('that', 0.16657697134811325),\n", + " ('nobody', 0.07241928747778366),\n", + " ('knows', 0.026469350939685898),\n", + " ('about', 0.05751417719907079),\n", + " ('this', 0.04394098062527192),\n", + " ('movie', 0.04895364712324049),\n", + " ('.', 0.06618026604076149),\n", + " ('i', 0.009636671189838297),\n", + " ('think', 0.058354379897569995),\n", + " ('if', 0.04799546609028966),\n", + " ('it', -0.008761901773550294),\n", + " ('were', 0.0576155270420662),\n", + " ('just', 0.029384690650663726),\n", + " ('spruce', -0.02123901822268993),\n", + " ('##d', 0.054518711831337746),\n", + " ('up', 0.05547945343636232),\n", + " ('a', -0.014537957567386933),\n", + " ('little', 0.015322850184311114),\n", + " ('and', 0.0069182107525636695),\n", + " ('if', 0.03665999286256078),\n", + " ('it', 0.0006020026912051485),\n", + " ('weren', 0.051613470015233025),\n", + " (\"'\", 0.012200272335258151),\n", + " ('t', 0.0845835095314227),\n", + " ('so', 0.05606412874649003),\n", + " ('low', 0.12662256088013296),\n", + " ('-', 0.061007045350765975),\n", + " ('budget', 0.11307373665844166),\n", + " (',', 0.01337810779496148),\n", + " ('i', 0.009311491649636072),\n", + " ('think', 0.06149138100207932),\n", + " ('one', 0.02214202445148461),\n", + " ('of', 0.015921458592826836),\n", + " ('the', 0.002462762599837583),\n", + " ('major', 0.02249051932636235),\n", + " ('film', 0.05470345255040223),\n", + " ('companies', 0.07854389943133017),\n", + " ('might', 0.11549207716658857),\n", + " ('have', 0.1358044658906154),\n", + " ('wanted', 0.07684921089786911),\n", + " ('to', 0.11246716516083044),\n", + " ('take', 0.054513213383642616),\n", + " ('it', -0.017790910546927836),\n", + " ('.', 0.07699227831077965),\n", + " ('i', -0.0076690511003086525),\n", + " ('first', -0.03135541351307307),\n", + " ('saw', 0.030238314292197845),\n", + " ('this', 0.06584747187400228),\n", + " ('movie', 0.047362385611469576),\n", + " ('when', -0.00910195914784005),\n", + " ('i', 0.00034444577411095234),\n", + " ('was', 0.007332490136649946),\n", + " ('11', 0.015908248657278898),\n", + " (',', 0.026792042178219566),\n", + " ('and', 0.031229973653764415),\n", + " ('i', 0.002731984444914955),\n", + " ('thought', 0.09295610017155527),\n", + " ('it', 0.0008125880119052416),\n", + " ('was', -0.08242145547983765),\n", + " ('so', -0.02777828357009039),\n", + " ('powerful', -0.08630544242261605),\n", + " ('with', -0.1347694856195853),\n", + " ('the', -0.045426817375491375),\n", + " ('many', -0.032681011186445716),\n", + " ('great', -0.08554329488757813),\n", + " (',', 0.012095208286085983),\n", + " ('yet', 0.02075004785374743),\n", + " ('illegal', 0.10118163486793479),\n", + " ('lengths', 0.002553796829371673),\n", + " ('that', 0.02818143317849195),\n", + " ('mitchell', 0.020616523528933617),\n", + " ('goes', 0.006959851865591534),\n", + " ('to', 0.037970831605181575),\n", + " ('just', 0.023898394427700614),\n", + " ('to', 0.027046583585774324),\n", + " ('keep', 0.03186641109056918),\n", + " ('his', -0.03844458081857583),\n", + " ('family', 0.009677587225824616),\n", + " ('together', -0.03240738621340652),\n", + " ('.', 0.039187197207556465),\n", + " ('it', -0.026696685750999677),\n", + " ('inspired', -0.03471937273037023),\n", + " ('me', 0.020305172887687174),\n", + " ('then', 0.01771357293796737),\n", + " ('and', 0.01945067889849652),\n", + " ('it', -0.007341284305131333),\n", + " ('ama', -0.012244828663642087),\n", + " ('##zes', 0.003325461848701437),\n", + " ('me', 0.021812207294926472),\n", + " ('now', 0.0326349027980971),\n", + " ('.', 0.08156967128654034),\n", + " ('if', 0.06468531863571728),\n", + " ('you', 0.016891787513213397),\n", + " (\"'\", -0.02445157708003048),\n", + " ('re', 0.09314914186433272),\n", + " ('lucky', -0.03342269440094451),\n", + " ('enough', 0.04238966060072335),\n", + " ('to', 0.03808244600339135),\n", + " ('find', 0.044840577365615045),\n", + " ('a', 0.018753683953989228),\n", + " ('copy', 0.015299864293097579),\n", + " ('of', 0.009380378369480222),\n", + " ('this', 0.056804491780985594),\n", + " ('movie', 0.05044099948393434),\n", + " (',', 0.031997382942518145),\n", + " ('don', 0.044057577697975164),\n", + " (\"'\", -0.007296280555195887),\n", + " ('t', 0.08822111417150165),\n", + " ('miss', 0.036658490695708174),\n", + " ('it', -0.0017830976356365197),\n", + " ('!', -0.0027706226593199133),\n", + " ('[SEP]', 0.0)]" + ] + }, + "metadata": {}, + "execution_count": 51 + } + ], + "source": [ + "word_attributions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "1O-1eD6CigjH" + }, + "outputs": [], + "source": [ + "table = pds.DataFrame(word_attributions,columns=[\"tokens\",\"score\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "f4m-PqhaigjH", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 942 + }, + "outputId": "86be1b04-fd1e-4c84-8c62-f052d85e484d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "<Axes: ylabel='tokens'>" + ] + }, + "metadata": {}, + "execution_count": 53 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "<Figure size 1500x1500 with 1 Axes>" + ], + "image/png": "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By+gXbt2evrppyVJ8+bNU/fu3fXkk086vy9btkxhYWH66quv1L59e91yyy0l2i9btkzBwcHat2+fOnfufMnxxo8fr759+6qgoEChoaE6duyYNm7cqPfff7/UNsnJyUpKSrrMGQIAAAAAAACsHLygnj17On9nZ2frww8/lL+/v7N07NhRkpSbmytJOnjwoEaPHq3WrVsrICBAZrNZknT48OEyjdenTx916tRJK1askCT9/e9/V8uWLTVgwIBS21gsFlmtVmfJz8+/nKkCAAAAAADAjbFy8AL8/Pycv0+dOqVhw4bpqaeeOq9eaGioJGnYsGFq2bKlli5dqmbNmqm4uFidO3cu12Um48eP1wsvvKCEhAQtX75c99xzjwwGQ6n1jUajjEZjOWYFoCpwthoAAAAAoDYjOXgJPXr00FtvvSWz2Swvr/P/XMePH9eBAwe0dOlS9e/fX5K0bdu2co/z17/+VQ8//LCee+457du3T2PHjq1w7AAAAAAAAMDFsK34Eh544AH99NNPGj16tHbt2qXc3Fz997//1T333KOioiI1bNhQjRo10ssvv6yvv/5aH3zwgWbMmFHucRo2bKiRI0dq5syZuuGGG9S8efMqmA0AAAAAAADw/5EcvIRmzZpp+/btKioq0g033KAuXbooLi5OgYGB8vDwkIeHh1atWqVPP/1UnTt31oMPPqhnnnnmssa69957dfbsWY0bN66SZwEAAAAAAACcz+BwOByuDqIuiYmJUWRkpFJTU8vd9vXXX9eDDz6oI0eOyMfHp1xtbTabTCaTrFarAgICyj02AAAAAAAA6oby5Ik4c7AG+OWXX1RQUKD58+dr0qRJ5U4MAnAdc8IGV4cAAAAqGReOAQDcCduKK1FsbKwyMzOVlpYmg8Egg8GgvLw8ZWZmqk+fPjIajQoNDVVCQoLOnTvnbPfkk0+qffv2OnjwoBYsWKCrr75au3btcuFMAAAAAAAA4A5IDlaitLQ0RUVFacKECSooKFBBQYG8vb114403qnfv3srOztbixYv16quvat68ec52P//8s0JCQrRu3Trt2bNHbdu21aBBg/TTTz+VOpbdbpfNZitRAAAAAAAAgPIgOViJTCaTfHx85Ovrq5CQEIWEhOjFF19UWFiYnn/+eXXs2FHDhw9XUlKSUlJSVFxcrNOnT2vx4sV65plnNGTIEEVERGjp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mzYKDg6u6DQAAAAAAACAUhkcDofD1UHURImJiVq7dq2ysrIqtd+8vDy1atVKe/bsuWjysbxsNptMJpOsVqsCAgIqrV8AAAAAAADULuXJE3HmIABUgDlhg6tDcBtc/gIAAAAAla/ObiuOiYnRtGnT9PDDDysoKEghISFKTEx0fj98+LBuvvlm+fv7KyAgQLfddpu+//778/pZsmSJwsLC5Ovrq9tuu01Wq9X5rbi4WHPnzlXz5s1lNBoVGRmpTZs2lWj/ySefqHv37qpXr5569eqlPXv2OL85HA61bdtWCxYsKNEmKytLBoNBX3/9dSX9NQAAAAAAAIDz1dnkoCStWLFCfn5+2rlzp55++mnNnTtX7733noqLi3XzzTfrp59+UmZmpt577z198803uv3220u0//rrr/XPf/5T//73v7Vp0ybt2bNHkydPdn5PS0tTSkqKFixYoL1792rQoEH6y1/+ooMHD0r67TbioUOHKiIiQp9++qkSExMVHx/vbG8wGDRu3DgtX768xLjLly/XgAED1LZt21LnZrfbZbPZShQAAAAAAACgPOp0crBr16567LHH1K5dO919993q1auXNm/erM2bN+vzzz/XG2+8oZ49e+rKK6/Ua6+9pszMTO3atcvZ/syZM3rttdcUGRmpAQMGaNGiRVq1apWOHj0qSVqwYIFmzZqlO+64Qx06dNBTTz2lyMhIpaamSpLeeOMNFRcX69VXX1WnTp00dOhQzZw5s0SMsbGxOnDggD755BNJUmFhod544w2NGzfuonNLTk6WyWRylrCwsEr8ywEAAAAAAMAd1Pnk4B+Fhobq2LFjysnJUVhYWImEWkREhAIDA5WTk+N816JFC11xxRXO56ioKBUXF+vAgQOy2Ww6cuSI+vXrV2KMfv36OfvIyclR165dVa9evRJ9/FGzZs100003admyZZKkf//737Lb7Ro1atRF52axWGS1Wp0lPz+/LH8SAAAAAAAAwKlOX0ji7e1d4tlgMKi4uNhF0ZRu/Pjxuuuuu7Rw4UItX75ct99+u3x9fS/axmg0ymg0VlOEAErDJRkAAAAAgNqsTq8cLE14eLjy8/NLrLbbt2+fTp48qYiICOe7w4cP68iRI87njz/+WB4eHurQoYMCAgLUrFkzbd++vUTf27dvd/YRHh6uvXv36syZMyX6+LMbb7xRfn5+Wrx4sTZt2nTJLcUAAAAAAABAZXDL5OB1112n+vXr66qrrtJnn32mTz75RHfffbeio6PVq1cvZ7169epp7Nixys7O1tatWzVt2jTddtttCgkJkSTNnDlTTz31lN58800dOHBACQkJysrK0vTp0yVJY8aMkcFg0IQJE7Rv3z5t3LjxvJuJJcnT01OxsbGyWCxq167deVuPAQAAAAAAgKrglslBg8GgTp06qV69ehowYICuu+46tW7dWm+++WaJem3bttXIkSN144036oYbblDXrl314osvOr9PmzZNM2bM0EMPPaQuXbpo06ZNWr9+vdq1aydJ8vf317///W99/vnn6t69u2bPnq2nnnrqgjHde++9Onv2rO65556qmzgAAAAAAADwBwaHw+FwdRCuEBMTU+JmYVfbunWrBg4cqPz8fDVt2rTc7W02m0wmk6xWqwICAqogQgAAAAAAANQG5ckT1ekLScpjw4YNGjNmjF588UW99957OnnypK6++mqlpKTo7NmzuuOOO5Samuq85OTEiROaPn2683bh6OhoPffcc2rXrp0cDoeaNGmixYsX69Zbb5UkRUZG6vvvv1dBQYEkadu2bRo4cKCOHj2qU6dOaezYsfL29laLFi3UqFEj3XrrrXruuedc9vcAUDbmhA2uDoFLUQAAAAAAl80ttxX/2RtvvKHRo0dr5cqVuvPOOyVJH374oXJzc/Xhhx9qxYoVSk9PV3p6urNNbGysdu/erfXr1+ujjz6Sw+HQjTfeqMLCQhkMBg0YMEAZGRmSfksk5uTk6Ndff9X+/fslSZmZmerdu7fWrVunli1b6ttvv9VLL72kgwcPau3aterSpctFY7bb7bLZbCUKAAAAAAAAUB5uv3LwhRde0OzZs/Xvf/9b0dHRzvcNGzbU888/L09PT3Xs2FE33XSTNm/erAkTJujgwYNav369tm/frr59+0qSVq5cqbCwMK1du1ajRo1STEyMlixZIknasmWLunfvrpCQEGVkZKhjx47KyMhQdHS0YmNj9dNPP2nJkiW64447nKsH+/Tpc9G4k5OTlZSUVHV/GAAAAAAAANR5br1ycPXq1XrwwQf13nvvlUgMSlKnTp3k6enpfA4NDdWxY8ckSTk5OfLy8tKVV17p/N6oUSN16NBBOTk5kqTo6Gjt27dPP/zwgzIzMxUTE6OYmBhlZGSosLBQO3bs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rjFjxui5556Tj4+PJCkmJkadO3eWl5eX/v73v8tsNuvLL7/UmTNn1K9fP+cYJ0+eVMOGDfXhhx8qJiZGkvTll19q1qxZ2rJlixwOhyIjI5Wenu7ccvzKK68oJSVFhw4dktls1rRp0zR58uRq//sAdYE5YUO1jcWFJAAAAACA2sytkoMFBQUaPXq0nn76aY0YMUI///yztm7dqt93Vm/evFn16tVTRkaG8vLydM8996hRo0Z64oknnH2sWLFC999/v7Zv3y7pt1uDW7VqddElmt99950GDBigmJgYffDBBwoICND27dt17tw5SdLKlSs1Z84cPf/88+revbv27NmjCRMmyM/PT2PHjr1gn3a7XXa73flss9kq/PcBAAAAAACAe3G75OC5c+c0cuRI5+3AXbp0cX738fHRsmXL5Ovrq06dOmnu3LmaOXOmHn/8cXl4/LYDu127dnr66aedbfLy8i457gsvvCCTyaRVq1bJ29tbktS+fXvn98cee0wpKSkaOXKkJKlVq1bat2+flixZUmpyMDk5WUlJSeX7AwAAAAAAAAB/4FZnDnbr1k0DBw5Uly5dNGrUKC1dulQnTpwo8d3X19f5HBUVpVOnTik/P9/5rmfPnuUeNysrS/3793cmBv/o9OnTys3N1b333it/f39nmTdvnnJzc0vt02KxyGq1OssfYwQAAAAAAADKwq1WDnp6euq9997Tjh079O6772rRokWaPXu2du7cWeY+/Pz8Sjz/vqLwj5c+FxYWlqhTv379Uvs7deqUJGnp0qW68sorz4u3NEajUUajsWxBAwAAAAAAABfgVslBSTIYDOrXr5/69eunOXPmqGXLlnr77bclSdnZ2fr111+dybyPP/5Y/v7+CgsLK7W/4OBgSb9tWe7evbuk31YK/lHXrl21YsUKFRYWnrd6sGnTpmrWrJm++eYb3XnnnZU1TcCtcUkIAAAAAABl41bJwZ07d2rz5s264YYb1KRJE+3cuVM//PCDwsPDtXfvXp09e1b33nuvHnnkEeXl5emxxx7TlClTnKsDL6R+/fq66qqrNH/+fLVq1UrHjh3TI488UqLOlClTtGjRIt1xxx2yWCwymUz6+OOP1adPH3Xo0EFJSUmaNm2aTCaTBg8eLLvdrt27d+vEiROaMWNGVf9ZAAAAAAAA4Kbc6szBgIAAbdmyRTfeeKPat2+v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2rdvn5o1a6axY8dq9uzZ8vLiXwTUZOaEDdU6HhegAAAAAAAqEysHK8HDDz+st956SytWrNBnn32mtm3batCgQfrpp5+cdWbPnq2UlBTt3r1bXl5eGjdunPPb1q1bdffdd2v69Onat2+flixZovT0dD3xxBOljmm322Wz2UoUAAAAAAAAoDw4c7CCTp8+rYYNGyo9PV1jxoyRJBUWFspsNisuLk69e/d2rhwcOHCgJGnjxo266aab9Ouvv6pevXq67rrrNHDgQFksFme/f//73/Xwww/ryJEjFxw3MTFRSUlJ573nzEGgerFyEAAAAABQ03DmYDXKzc1VYWGh+vXr53zn7e2tPn36KCcnx/mua9euzt+hoaGSpGPHjkmSsrOzNXfuXPn7+zvLhAkTVFBQoF9++eWC41osFlmtVmfJz8+viukBAAAAAACgDuNAu2ri7e3t/G0wGCRJxcXFkqRTp04pKSlJI0eOPK9dvXr1Ltif0WiU0WisgkgBlAcr+QAAAAAAtRnJwQpq06aNfHx8tH37drVs2VLSb9uKd+3apbi4uDL10aNHDx04cEBt27atwkgBAAAAAACAkkgOVpCfn5/uv/9+zZw5U0FBQWrRooWefvpp/fLLL7r33nuVnZ19yT7mzJmjoUOHqkWLFrr11lvl4eGh7OxsffHFF5o3b141zAIAAAAAAADuiORgJZg/f76Ki4t111136eeff1avXr303//+Vw0bNixT+0GDBuk///mP5s6dq6eeekoeHh4qLi6W3W7XF198obVr11btBAAAAAAAAOCWuK24BrryyivVvn17JScny9/fX4GBgZdsU55baAAAAAAAAFB3lSdPxMrBGig3N1f33Xefmjdv7upQAFyCOWFDpfbHBScAAAAAgOrk4eoA3JHdbte0adPUpEkT1atXT1dffbV27dqlvLw8GQwGHT9+XOPGjZPBYFB6erqrwwUAAAAAAEAdRXLQBR5++GG99dZbWrFihT777DO1bdtWgwYNUoMGDVRQUKCAgAClpqaqoKBAt99++wX7sNvtstlsJQoAAAAAAABQHiQHq9np06e1ePFiPfPMMxoyZIgiIiK0dOlS1a9fX8uWLVNISIgMBoNMJpNCQkJUv379C/aTnJwsk8nkLGFhYdU8EwAAAAAAANR2JAerWW5urgoLC9WvXz/nO29vb/Xp00c5OTll7sdischqtTpLfn5+VYQLAAAAAACAOowLSWopo9Eoo9Ho6jAAt8cFIgAAAACA2oyVg9WsTZs28vHx0fbt253vCgsLtWvXLkVERLgwMgAAAAAAALgbkoNVLCMjQwaDQSdPnpQk+fn56f7779fMmTO1adMm7du3TxMmTNAvv/yie++917XBAgAAAAAAwK2wrbiSxcTEKDIyUqmpqaXWmT9/voqLi3XXXXfp559/Vq9evfTf//5XDRs2rL5AAQAAAAAA4PZIDrpAvXr19Nxzz+m555674PffVxkCAAAAAAAAVYltxZUoNjZWmZmZSktLk8FgkMFgUF5eniTp008/Va9eveTr66u+ffvqwIEDJdquW7dOPXr0UL169dS6dWslJSXp3LlzLpgFgPIwJ2xwFgAAAAAAahuSg5UoLS1NUVFRmjBhggoKClRQUKCwsDBJ0uzZs5WSkqLdu3fLy8tL48aNc7bbunWr7r77bk2fPl379u3TkiVLlJ6erieeeKLUsex2u2w2W4kCAAAAAAAAlAfJwUpkMpnk4+MjX19fhYSEKCQkRJ6enpKkJ554QtHR0YqIiFBCQoJ27NihM2fOSJKSkpKUkJCgsWPHqnXr1rr++uv1+OOPa8mSJaWOlZycLJPJ5Cy/JyEBAAAAAACAsiI5WE26du3q/B0aGipJOnbsmCQpOztbc+fOlb+/v7P8vvrwl19+uWB/FotFVqvVWfLz86t+EgAAAAAAAKhTuJCkmnh7ezt/GwwGSVJxcbEk6dSpU0pKStLIkSPPa1evXr0L9mc0GmU0GqsgUgAAAAAAALgLkoOVzMfHR0VFReVq06NHDx04cEBt27atoqgAVJW8+Te5OgQAAAAAAC4bycFKZjabtXPnTuXl5cnf39+5OvBi5syZo6FDh6pFixa69dZb5eHhoezsbH3xxReaN29eNUQNAAAAAAAAd8SZg5UsPj5enp6eioiIUHBwsGJjYy/ZZtCgQfrPf/6jd999V71799ZVV12lhQsXqmXLllUfMAAAAAAAANyWweFwOFwdRF116tQp2e12NWrUqMrHstlsMplMslqtCggIqPLxAAAAAAAAUDOVJ0/EtuIq9PvNwxVRWFhY4jITAAAAAAAAoLKQHPw/MTEx6tKlizw9PbVixQr5+Pho3rx5GjNmjKZMmaLVq1eradOmWrRokYYMGaKioiJNnDhRH3zwgY4ePaoWLVpo8uTJmj59urPPxMRErV27VllZWZJ+u5143rx5evnll/XDDz8oPDxc8+fP1+DBgyVJeXl5atWqlVatWqUXX3xRO3fu1EsvvVSmrckAXMOcsKFax+MCFAAAAABAZeLMwT9YsWKFGjdurE8++URTp07V/fffr1GjRqlv37767LPPdMMNN+iuu+7SL7/8ouLiYjVv3lz/+te/tG/fPs2ZM0d/+9vf9M9//rPU/tPS0pSSkqIFCxZo7969GjRokP7yl7/o4MGDJeolJCRo+vTpysnJ0aBBgy7Yl91ul81mK1EAAAAAAACA8uDMwf8TExOjoqIibd26VZJUVFQkk8mkkSNH6rXXXpMkHT16VKGhofroo4901VVXndfHlClTdPToUa1evVrS+SsHr7jiCj3wwAP629/+5mzTp08f9e7dWy+88IJz5WBqamqJFYgXkpiYqKSkpPPec+YgUL1YOQgAAAAAqGnKc+YgKwf/oGvXrs7fnp6eatSokbp06eJ817RpU0nSsWPHJEkvvPCCevbsqeDgYPn7++vll1/W4cOHL9i3zWbTkSNH1K9fvxLv+/Xrp5ycnBLvevXqdclYLRaLrFars+Tn55dtkgAAAAAAAMD/4czBP/jzxR8Gg6HEO4PBIOm3swNXrVql+Ph4paSkKCoqSg0aNNAzzzyjnTt3VjgOPz+/S9YxGo0yGo0VHgtAxbCSDwAAAABQm5EcvEzbt29X3759NXnyZOe73NzcUusHBASoWbNm2r59u6Kjo0v006dPnyqNFQAAAAAAALgQkoOXqV27dnrttdf03//+V61atdLrr7+uXbt2qVWrVqW2mTlzph577DG1adNGkZGRWr58ubKysrRy5cpqjBwAAAAAAAD4DcnByzRp0iTt2bNHt99+u3799VcZDAbZ7XZ9/vnniouLU2pqqiRp3759Sk1NVVxcnKZNmyar1aqHHnpIx44dU0REhNavX6927dq5djIAAAAAAABwSyQH/09GRsZ57/Ly8s5798fLnZcvX67bbrtNN998sz788EO1bt1aHh4eql+/viTJbrfLw+P/3/ni4eGhxx57TI899tgFYzCbzeLyaAAAAAAAAFQXkoMVlJubq9DQUPXt29f5zuFwKDc3V5s3bz7vkhMAdYs5YYOrQ6hxuKQFAAAAAGoPj0tXQWliY2M1depUHT58WAaDQWazWTExMZo8ebIiIiLk4+Mjk8lUoo3BYNCSJUs0dOhQ+fr6Kjw8XB999JG+/vprxcTEyM/PT3379r3o5SYAAAAAAABAZSA5WAFpaWmaO3eumjdvroKCAu3atUuSZDQaZbfbtW3bNnl5nb848/HHH9fdd9+trKwsdezYUWPGjNGkSZNksVi0e/duORwOTZky5aJj2+122Wy2EgUAAAAAAAAoD5KDFWAymdSgQQN5enoqJCREwcHBZWp3zz336LbbblP79u01a9Ys5eXl6c4779SgQYMUHh6u6dOnX/AMxD9KTk6WyWRylrCwsEqYEQAAAAAAANwJyUEX6Nq1q/N306ZNJUldunQp8e7MmTMXXQ1osVhktVqdJT8/v+oCBgAAAAAAQJ3EhSQu8MdLSgwGQ6nviouLS+3DaDTKaDRWUYQAyorLNwAAAAAAtRkrBwEAAAAAAAA3RXKwipjNZqWmpro6DAAAAAAAAKBUJAeryK5duzRx4kRXhwEAAAAAAACUyuBwOByuDgIVZ7PZZDKZZLVaFRAQ4OpwAAAAAAAA4CLlyRO59EKS4uJiLViwQC+//LLy8/PVtGlTTZo0SbNnz9bnn3+u6dOn66OPPpKvr69uueUWPfvss/L395ckxcbG6uTJk+rTp4/S0tJkt9s1Y8YM/e1vf5PFYtGrr74qX19fPf7447rnnnskSXl5eWrVqpX+8Y9/6LnnntNnn32mtm3b6oUXXlB0dLQkqaioSBMnTtQHH3ygo0ePqkWLFpo8ebKmT5/ujPv3sa+++mqlpKTo7NmzuuOOO5Samuq8WMRsNisuLk5xcXGSpJMnTyo+Pl7r1q2T3W5Xr169tHDhQnXr1k2SlJ2drbi4OO3evVsGg0Ht2rXTkiVL1KtXr+r6dwC4DOaEDa4OAf+Hy2EAAAAAoPxcmhy0WCxaunSpFi5cqKuvvloFBQXav3+/Tp8+rUGDBikqKkq7du3SsWPHNH78eE2ZMkXp6enO9h988IGaN2+uLVu2aPv27br33nu1Y8cODRgwQDt37tSbb76pSZMm6frrr1fz5s2d7WbOnKnU1FRFRETo2Wef1bBhw3To0CE1atRIxcXFat68uf71r3+pUaNG2rFjhyZOnKjQ0FDddtttzj4+/PBDhYaG6sMPP9TXX3+t22+/XZGRkZowYcIF5zpq1CjVr19f77zzjkwmk5YsWaKBAwfqq6++UlBQkO688051795dixcvlqenp7KyskrcYPxndrtddrvd+Wyz2SrwnwAAAAAAAIA7ctm24p9//lnBwcF6/vnnNX78+BLfli5dqlmzZik/P19+fn6SpI0bN2rYsGE6cuSImjZtqtjYWGVkZOibb76Rh8dvRyd27NhRTZo00ZYtWyT9tgrQZDLplVde0R133OFcOTh//nzNmjVLknTu3Dm1atVKU6dO1cMPP3zBWKdMmaKjR49q9erVkuQcOzc3V56enpKk2267TR4eHlq1apWkkisHt23bpptuuknHjh2T0Wh09tu2bVs9/PDDmjhxogICArRo0SKNHTu2TH+/xMREJSUlnfeebcVA9WLlYM3BykEAAAAA+E15thW77EKSnJwc2e12DRw48ILfunXr5kwMSlK/fv1UXFysAwcOON916tTJmRiUpKZNm6pLly7OZ09PTzVq1EjHjh0r0X9UVJTzt5eXl3r16qWcnBznuxdeeEE9e/ZUcHCw/P399fLLL+vw4cMl+ujUqZMzMShJoaGh543zu+zsbJ06dUqNGjWSv7+/sxw6dEi5ubmSpBkzZmj8+PG67rrrNH/+fOf70lgsFlmtVmfJz8+/aH0AAAAAAADgz1y2rbh+/foV7uPP224NBsMF3xUXF5e5z1WrVik+Pl4pKSmKiopSgwYN9Mwzz2jnzp2XHLu0cU6dOqXQ0FBlZGSc9y0wMFDSbysBx4wZow0bNuidd97RY489plWrVmnEiBEX7NNoNJZYhQgAAAAAAACUl8uSg+3atVP9+vW1efPm87YVh4eHKz09XadPn3auHty+fbs8PDzUoUOHCo/98ccfa8CAAZJ+21b86aefasqUKc5x+vbtq8mTJzvrX2oV36X06NFDR48elZeXl8xmc6n12rdvr/bt2+vBBx/U6NGjtXz58lKTgwBqBrayAgAAAABqM5dtK65Xr55mzZqlhx9+WK+99ppyc3P18ccf69VXX9Wdd96pevXqaezYsfriiy/04YcfaurUqbrrrrvUtGnTCo/9wgsv6O2339b+/fv1wAMP6MSJExo3bpyk35KWu3fv1n//+1999dVXevTRR7Vr164KjXfdddcpKipKw4cP17vvvqu8vDzt2LFDs2fP1u7du/Xrr79qypQpysjI0Lfffqvt27dr165dCg8Pr/BcAQAAAAAA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rObNm0uSgoODrzluQkKC4uPjy3s6AAAAAAAAqEJYOXgThYaGOn7Xr19fknTy5MnL6vn5+SkqKkq9evVS3759lZiYqPz8/Gv2HRcXJ6vV6ih5eXnlGzwAAAAAAAAqPZKDN5GHh4fj969bhIuLi69YNykpSbt371bXrl31zjvvqGXLlvr000+v2rfRaJSvr2+pAgAAAAAAADiDbcXlwNPTU0VFRTfcT7t27dSuXTvFxcWpS5cuWrlype6+++5yiBDAzcIlGgAAAACAioyVg+XAbDZrz549ysnJ0Y8//njV1YFXc/z4ccXFxWn37t06ceKEtmzZoq+++uo3zx0EAAAAAAAAbgTJwXIQExMjd3d3tWnTRv7+/srNzb1m/VmzZum1115zPHt5eenw4cN69NFH1bJlS40ZM0Z//OMf9fTTT9/s0AEAAAAAAFCFGUpKSkpcHURVU1hYKLvdrjp16pRbnzabTSaTSVarlfMHAQAAAAAAqjBn8kScOegC3t7e8vb2dnUYAAAAAAAAqOKqfHLQYrEoJCRE7u7uWr58uTw9PTV37lwNGTJE48aN0+rVq1WvXj29/PLLevDBByVJqampmjJlijIzM+Xn56fhw4dr7ty5qlatmv7+979r1qxZ+uabb+Tm9n+7th955BHVqVNHb7zxhmbNmqV169YpIyPD8f3111/XwoULdfz4cZnNZo0fP15jx4691X8OAE4yx25ydQi3FBewAAAAAEDlwpmDkpYvX666detq7969evbZZ/XMM89o4MCB6tq1qw4ePKgHHnhATz75pH7++Wd9++236tOnjzp16qTMzEy9+uqr+sc//qG5c+dKkgYOHKhTp07pk08+cfT/008/afPmzRo6dOgVx1+xYoVmzJihefPmKSsrS88995z+8pe/aPny5VeN2W63y2azlSoAAAAAAACAM0gOSgoLC9P06dMVFBSkuLg4Va9eXXXr1tXo0aMVFBSkGTNm6NSpU/rss8/0yiuvKDAwUEuWLFHr1q3Vr18/xcfHa+HChSouLlbt2rX14IMPauXKlY7+V69erbp16+qee+654vgzZ87UwoULFRkZqaZNmyoyMlITJ07U0qVLrxpzQkKCTCaTowQGBpb73wUAAAAAAACVG8lBSaGhoY7f7u7uqlOnjkJCQhzv6tWrJ0k6efKksrKy1KVLFxkMBsf3bt26qbCw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AABQgV3XmYNwvSutHAwMDOTMQeAWY1sxAAAAAOB2c9PPHPzVN998I0lq1KjRjXSD62A0GmU0Gl0dBgAAAAAAACowp5ODxcXFmjt3rhYuXKjCwkJJko+PjyZPnqxp06bJzc2t3IMEgNsVK/YAAAAAABWZ08nBadOm6R//+Ifmz5+vbt26SZJ27typWbNm6dy5c5o3b165BwkAAAAAAACg/Dl95mCDBg302muv6fe//32p9+vXr9fYsWP17bfflmuAVdWoUaP0j3/8Q2X99zizlxwAAAAAAACVlzN5Iqf3AP/0009q3br1Ze9bt26tn376ydnucBU//PCD3N3dXR0GAAAAAAAAKjGnk4NhYWFasmTJZe+XLFmisLCwcgkK0ueff67q1au7OgwAAAAAAABUYk6fOfj888/roYce0kcffaQuXbpIknbv3q28vDy9//775R5gRbB582bNnTtXX3zxhdzd3dWlSxclJiaqefPmysnJUdOmTfXee+/p5Zdf1p49exQUFKTXXnvN8feTpOTkZM2YMUM//vijevXqpT/+8Y+aM2eOC2cFoCzMsZtcHcJVcVkKAAAAAOC3OL1ysGnTpjpy5Ij69++v06dP6/Tp04qMjFR2draaNGlyM2K87Z09e1aTJk3S/v37tW3bNrm5ual///4qLi521Jk2bZpiYmKUkZGhli1bavDgwbp48aIkac+ePRo5cqTGjRunjIwM3XPPPZo7d+41x7Tb7bLZbKUKAAAAAAAA4AynLyRxd3dXfn6+7rjjjlLvT506pTvuuENFRUXlGmBF9OOPP8rf31+ff/65vL291bRpU73++usaOXKkJOnQoUO68847lZWVpdatW2vIkCGyWq3atOn/ViA9/vjj2rx5s06fPn3FMWbNmqX4+PjL3nMhCXBrsXIQAAAAAHC7uakXklwtl1hYWFhlz8j76quvNHjwYDVr1ky+vr4ym82SpNzcXEed0NBQx+/69etLkk6ePClJysrK0l133VWqz//ecnwlcXFxslqtjpKXl1ceUwEAAAAAAEAVUuYzBydNmiRJMhgMmjFjhry8vBzfioqKtGfPHoWHh5d7gBVB37591aRJEy1btkwNGjRQcXGx2rZtq/PnzzvqeHh4OH4bDAZJKrXt2FlGo1FGo/H6gwYAAAAAAECVV+bkYHp6uqRLKwc///xzeXp6Or55enoq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\n" + }, + "metadata": {} + } + ], + "source": [ + "table.iloc[::-1].plot(x=\"tokens\",y=\"score\",kind=\"barh\",figsize=(15,15))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "3mRIFciFigjI", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 214 + }, + "outputId": "ea1ca672-8de6-4340-a801-6305ed047d0d" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "<IPython.core.display.HTML object>" + ], + "text/html": [ + "<table width: 100%><div style=\"border-top: 1px solid; margin-top: 5px; padding-top: 5px; display: inline-block\"><b>Legend: </b><span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(0, 75%, 60%)\"></span> Negative <span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(0, 75%, 100%)\"></span> Neutral <span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(120, 75%, 50%)\"></span> Positive </div><tr><th>True Label</th><th>Predicted Label</th><th>Attribution Label</th><th>Attribution Score</th><th>Word Importance</th><tr><td><text style=\"padding-right:2em\"><b>0</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_0 (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>LABEL_0</b></text></td><td><text style=\"padding-right:2em\"><b>4.14</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> s </font></mark><mark style=\"background-color: hsl(120, 75%, 93%); opacity:1.0; line-height:1.75\"><font color=\"black\"> really </font></mark><mark style=\"background-color: hsl(120, 75%, 80%); opacity:1.0; line-height:1.75\"><font color=\"black\"> too </font></mark><mark style=\"background-color: hsl(120, 75%, 65%); opacity:1.0; line-height:1.75\"><font color=\"black\"> bad </font></mark><mark style=\"background-color: hsl(120, 75%, 92%); opacity:1.0; line-height:1.75\"><font color=\"black\"> that </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> nobody </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> knows </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> about </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> this </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> movie </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> i </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> think </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> if </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> were </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> just </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> spruce </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##d </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> up </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> little </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> and </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> if </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> weren </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0; line-height:1.75\"><font color=\"black\"> t </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> so </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0; line-height:1.75\"><font color=\"black\"> low </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> - </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> budget </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> i </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> think </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> one </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> major </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> film </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> companies </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> might </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0; line-height:1.75\"><font color=\"black\"> have </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> wanted </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> to </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> take </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> i </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> first </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> saw </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> this </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> movie </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> when </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> i </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> was </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> 11 </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> and </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> i </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0; line-height:1.75\"><font color=\"black\"> thought </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> was </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> so </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> powerful </font></mark><mark style=\"background-color: hsl(0, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> with </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> the </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> many </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> great </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> yet </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> illegal </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> lengths </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> that </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> mitchell </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> goes </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> to </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> just </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> to </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> keep </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> his </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> family </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> together </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> inspired </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> me </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> then </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> and </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ama </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ##zes </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> me </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> now </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> if </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> you </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0; line-height:1.75\"><font color=\"black\"> re </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> lucky </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> enough </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> to </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> find </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> copy </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> this </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> movie </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> don </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ' </font></mark><mark style=\"background-color: hsl(120, 75%, 96%); opacity:1.0; line-height:1.75\"><font color=\"black\"> t </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> miss </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> it </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> ! </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr></table>" + ] + }, + "metadata": {} + } + ], + "source": [ + "html = cls_explainer.visualize()" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### ▶▶ Exercice : chercher les termes corrélés à chaque classe\n", + "\n", + "- Appliquer le modèle appris sur l'éval de imdb\n", + "- Appliquer l'interprétation sur un ensemble d'instances (100 puis 1000) et relever les termes avec les attributions les plus fortes, dans un sens ou dans l'autre. Réduisez la taille des phrases des reviews à 30 tokens.\n", + "- Trouvez les éventuels biais du jeu de données\n", + "\n" + ], + "metadata": { + "id": "23--_RYHjq-e" + } + }, + { + "cell_type": "markdown", + "source": [ + "#### --- CORRECTION" + ], + "metadata": { + "id": "S3402Fm7ju91" + } + }, + { + "cell_type": "code", + "source": [ + "def get_topk(attributions,k=5,threshold=None):\n", + " \"\"\"recup des k tokens les plus positifs + k tokens les plus négatifs\"\"\"\n", + " table = pds.DataFrame(word_attributions,columns=[\"tokens\",\"score\"])\n", + " high = table.nlargest(k,\"score\")\n", + " low = table.nsmallest(k,\"score\")\n", + " return high,low" + ], + "metadata": { + "id": "G4cN9FVNumeH" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "get_topk(word_attributions)" + ], + "metadata": { + "id": "waGGZz-3wSVg", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "303d3923-11d0-4c2a-896f-709512452ae4" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "( tokens score\n", + " 6 bad 0.705097\n", + " 5 too 0.400476\n", + " 7 that 0.166577\n", + " 4 really 0.157057\n", + " 45 have 0.135804,\n", + " tokens score\n", + " 68 with -0.134769\n", + " 67 powerful -0.086305\n", + " 71 great -0.085543\n", + " 65 was -0.082421\n", + " 69 the -0.045427)" + ] + }, + "metadata": {}, + "execution_count": 56 + } + ] + }, + { + "cell_type": "code", + "source": [ + "def cut_sentence(sent,threshold):\n", + " toks = sent.split()[:threshold]\n", + " return \" \".join(toks)\n", + "\n", + "one = small_eval_dataset[0][\"text\"]\n", + "cut_sentence(one,50)" + ], + "metadata": { + "id": "EjKCi-pvxN_a", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 70 + }, + "outputId": "3f6eb12d-dee6-46a4-84ac-83de4b3a57f7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'<br /><br />When I unsuspectedly rented A Thousand Acres, I thought I was in for an entertaining King Lear story and of course Michelle Pfeiffer was in it, so what could go wrong?<br /><br />Very quickly, however, I realized that this story was about A Thousand Other Things besides just'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 57 + } + ] + }, + { + "cell_type": "code", + "source": [ + "maxseqlength = 30\n", + "small_eval_dataset_text = [cut_sentence(one[\"text\"],maxseqlength) for one in small_eval_dataset]" + ], + "metadata": { + "id": "CzVhne2S5typ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "all_pos = []\n", + "all_neg = []\n", + "\n", + "for sentence in tqdm(small_eval_dataset_text[:100]):\n", + " word_attributions = cls_explainer(sentence)\n", + " label = cls_explainer.predicted_class_name\n", + " high,low = get_topk(word_attributions)\n", + " if label == \"LABEL_1\":\n", + " all_pos.append(high)\n", + " else:\n", + " all_neg.append(high)\n" + ], + "metadata": { + "id": "hP28_7GwuC23", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6a0840d2-3564-4c71-f7a8-3745d747856a" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 100/100 [00:14<00:00, 6.73it/s]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "df_high = pds.concat(all_pos)\n", + "df_low = pds.concat(all_neg)\n", + "df_high" + ], + "metadata": { + "id": "Kp0V1zKl6TNo", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "outputId": "57e87698-3ef9-409d-ce8d-f1d2c96bcfad" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " tokens score\n", + "35 was 0.568941\n", + "3 the 0.329927\n", + "37 in 0.314863\n", + "6 in 0.305550\n", + "12 with 0.229829\n", + ".. ... ...\n", + "19 with 0.535879\n", + "16 was 0.522429\n", + "17 very 0.452258\n", + "18 pleased 0.342951\n", + "20 the 0.207745\n", + "\n", + "[255 rows x 2 columns]" + ], + "text/html": [ + "\n", + " <div id=\"df-27585ed8-78be-42a1-87e0-0b37c70254fa\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>tokens</th>\n", + " <th>score</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>35</th>\n", + " <td>was</td>\n", + " <td>0.568941</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>the</td>\n", + " <td>0.329927</td>\n", + " </tr>\n", + " <tr>\n", + " <th>37</th>\n", + " <td>in</td>\n", + " <td>0.314863</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>in</td>\n", + " <td>0.305550</td>\n", + " </tr>\n", + " <tr>\n", + " <th>12</th>\n", + " <td>with</td>\n", + " <td>0.229829</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>19</th>\n", + " <td>with</td>\n", + " <td>0.535879</td>\n", + " </tr>\n", + " <tr>\n", + " <th>16</th>\n", + " <td>was</td>\n", + " <td>0.522429</td>\n", + " </tr>\n", + " <tr>\n", + " <th>17</th>\n", + " <td>very</td>\n", + " <td>0.452258</td>\n", + " </tr>\n", + " <tr>\n", + " <th>18</th>\n", + " <td>pleased</td>\n", + " <td>0.342951</td>\n", + " </tr>\n", + " <tr>\n", + " <th>20</th>\n", + " <td>the</td>\n", + " <td>0.207745</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>255 rows × 2 columns</p>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-27585ed8-78be-42a1-87e0-0b37c70254fa')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-27585ed8-78be-42a1-87e0-0b37c70254fa button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-27585ed8-78be-42a1-87e0-0b37c70254fa');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-9a568328-66f1-418d-bdf3-0185f7576a59\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-9a568328-66f1-418d-bdf3-0185f7576a59')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-9a568328-66f1-418d-bdf3-0185f7576a59 button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " <div id=\"id_382bee1e-ec1b-4356-821e-7cf5e173e9ad\">\n", + " <style>\n", + " .colab-df-generate {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-generate:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-generate {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-generate:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + " <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df_high')\"\n", + " title=\"Generate code using this dataframe.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", + " </svg>\n", + " </button>\n", + " <script>\n", + " (() => {\n", + " const buttonEl =\n", + " document.querySelector('#id_382bee1e-ec1b-4356-821e-7cf5e173e9ad button.colab-df-generate');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " buttonEl.onclick = () => {\n", + " google.colab.notebook.generateWithVariable('df_high');\n", + " }\n", + " })();\n", + " </script>\n", + " </div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df_high", + "summary": "{\n \"name\": \"df_high\",\n \"rows\": 255,\n \"fields\": [\n {\n \"column\": \"tokens\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 119,\n \"samples\": [\n \"contemporary\",\n \"echo\",\n \"wonderful\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"score\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.14596453115265742,\n \"min\": 0.041472185172674654,\n \"max\": 0.8964410890164579,\n \"num_unique_values\": 255,\n \"samples\": [\n 0.590017962023669,\n 0.326237245857802,\n 0.15125531603546963\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 60 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df_high_avg = df_high.groupby(\"tokens\").mean()\n", + "df_low_avg = df_low.groupby(\"tokens\").mean()" + ], + "metadata": { + "id": "becpniSG6jDr" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df_high_avg.nlargest(20,\"score\")" + ], + "metadata": { + "id": "BRh3UR5Y61nX", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 708 + }, + "outputId": "09b1337c-f99c-40fa-d434-da738f9e78cd" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " score\n", + "tokens \n", + "fun 0.896441\n", + "nice 0.866636\n", + "wonderful 0.684729\n", + "classic 0.668721\n", + "love 0.614399\n", + "boasts 0.590018\n", + "time 0.585315\n", + "days 0.572387\n", + "fantastic 0.555914\n", + "happy 0.551691\n", + "favorites 0.534012\n", + "incredible 0.481024\n", + "first 0.472386\n", + "liked 0.467156\n", + "a 0.461484\n", + "easy 0.450394\n", + "echo 0.448480\n", + "great 0.447943\n", + "amazing 0.444855\n", + "year 0.439871" + ], + "text/html": [ + "\n", + " <div id=\"df-abce00ee-fffd-47e0-b569-fb1da04df366\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>score</th>\n", + " </tr>\n", + " <tr>\n", + " <th>tokens</th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>fun</th>\n", + " <td>0.896441</td>\n", + " </tr>\n", + " <tr>\n", + " <th>nice</th>\n", + " <td>0.866636</td>\n", + " </tr>\n", + " <tr>\n", + " <th>wonderful</th>\n", + " <td>0.684729</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classic</th>\n", + " <td>0.668721</td>\n", + " </tr>\n", + " <tr>\n", + " <th>love</th>\n", + " <td>0.614399</td>\n", + " </tr>\n", + " <tr>\n", + " <th>boasts</th>\n", + " <td>0.590018</td>\n", + " </tr>\n", + " <tr>\n", + " <th>time</th>\n", + " <td>0.585315</td>\n", + " </tr>\n", + " <tr>\n", + " <th>days</th>\n", + " <td>0.572387</td>\n", + " </tr>\n", + " <tr>\n", + " <th>fantastic</th>\n", + " <td>0.555914</td>\n", + " </tr>\n", + " <tr>\n", + " <th>happy</th>\n", + " <td>0.551691</td>\n", + " </tr>\n", + " <tr>\n", + " <th>favorites</th>\n", + " <td>0.534012</td>\n", + " </tr>\n", + " <tr>\n", + " <th>incredible</th>\n", + " <td>0.481024</td>\n", + " </tr>\n", + " <tr>\n", + " <th>first</th>\n", + " <td>0.472386</td>\n", + " </tr>\n", + " <tr>\n", + " <th>liked</th>\n", + " <td>0.467156</td>\n", + " </tr>\n", + " <tr>\n", + " <th>a</th>\n", + " <td>0.461484</td>\n", + " </tr>\n", + " <tr>\n", + " <th>easy</th>\n", + " <td>0.450394</td>\n", + " </tr>\n", + " <tr>\n", + " <th>echo</th>\n", + " <td>0.448480</td>\n", + " </tr>\n", + " <tr>\n", + " <th>great</th>\n", + " <td>0.447943</td>\n", + " </tr>\n", + " <tr>\n", + " <th>amazing</th>\n", + " <td>0.444855</td>\n", + " </tr>\n", + " <tr>\n", + " <th>year</th>\n", + " <td>0.439871</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-abce00ee-fffd-47e0-b569-fb1da04df366')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-abce00ee-fffd-47e0-b569-fb1da04df366 button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-abce00ee-fffd-47e0-b569-fb1da04df366');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-fa89b4bc-f344-437b-9619-5dced976ad1a\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-fa89b4bc-f344-437b-9619-5dced976ad1a')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-fa89b4bc-f344-437b-9619-5dced976ad1a button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"df_high_avg\",\n \"rows\": 20,\n \"fields\": [\n {\n \"column\": \"tokens\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 20,\n \"samples\": [\n \"fun\",\n \"great\",\n \"easy\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"score\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.13315786028797585,\n \"min\": 0.43987148037876733,\n \"max\": 0.8964410890164579,\n \"num_unique_values\": 20,\n \"samples\": [\n 0.8964410890164579,\n 0.4479427429515886,\n 0.450393897853726\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 62 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df_low_avg.nlargest(20,\"score\")" + ], + "metadata": { + "id": "szxynupe7LBV", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 708 + }, + "outputId": "6112e88f-a3ef-4174-ca6a-4b690767ac48" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " score\n", + "tokens \n", + "horrible 0.965108\n", + "rubbish 0.937169\n", + "worse 0.860141\n", + "apologize 0.751744\n", + "problems 0.708701\n", + "disappointed 0.704018\n", + "waste 0.702883\n", + "terrible 0.637877\n", + "raped 0.637700\n", + "wrong 0.632074\n", + "nobody 0.631476\n", + "cannot 0.630634\n", + "bad 0.629007\n", + "awful 0.617681\n", + "racism 0.607421\n", + "rid 0.583682\n", + "edge 0.537524\n", + "weak 0.519776\n", + "frustrating 0.514577\n", + "the 0.514314" + ], + "text/html": [ + "\n", + " <div id=\"df-5faa884f-3ec6-45f9-9ffc-58a88cbe47f6\" class=\"colab-df-container\">\n", + " <div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>score</th>\n", + " </tr>\n", + " <tr>\n", + " <th>tokens</th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>horrible</th>\n", + " <td>0.965108</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rubbish</th>\n", + " <td>0.937169</td>\n", + " </tr>\n", + " <tr>\n", + " <th>worse</th>\n", + " <td>0.860141</td>\n", + " </tr>\n", + " <tr>\n", + " <th>apologize</th>\n", + " <td>0.751744</td>\n", + " </tr>\n", + " <tr>\n", + " <th>problems</th>\n", + " <td>0.708701</td>\n", + " </tr>\n", + " <tr>\n", + " <th>disappointed</th>\n", + " <td>0.704018</td>\n", + " </tr>\n", + " <tr>\n", + " <th>waste</th>\n", + " <td>0.702883</td>\n", + " </tr>\n", + " <tr>\n", + " <th>terrible</th>\n", + " <td>0.637877</td>\n", + " </tr>\n", + " <tr>\n", + " <th>raped</th>\n", + " <td>0.637700</td>\n", + " </tr>\n", + " <tr>\n", + " <th>wrong</th>\n", + " <td>0.632074</td>\n", + " </tr>\n", + " <tr>\n", + " <th>nobody</th>\n", + " <td>0.631476</td>\n", + " </tr>\n", + " <tr>\n", + " <th>cannot</th>\n", + " <td>0.630634</td>\n", + " </tr>\n", + " <tr>\n", + " <th>bad</th>\n", + " <td>0.629007</td>\n", + " </tr>\n", + " <tr>\n", + " <th>awful</th>\n", + " <td>0.617681</td>\n", + " </tr>\n", + " <tr>\n", + " <th>racism</th>\n", + " <td>0.607421</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rid</th>\n", + " <td>0.583682</td>\n", + " </tr>\n", + " <tr>\n", + " <th>edge</th>\n", + " <td>0.537524</td>\n", + " </tr>\n", + " <tr>\n", + " <th>weak</th>\n", + " <td>0.519776</td>\n", + " </tr>\n", + " <tr>\n", + " <th>frustrating</th>\n", + " <td>0.514577</td>\n", + " </tr>\n", + " <tr>\n", + " <th>the</th>\n", + " <td>0.514314</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>\n", + " <div class=\"colab-df-buttons\">\n", + "\n", + " <div class=\"colab-df-container\">\n", + " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5faa884f-3ec6-45f9-9ffc-58a88cbe47f6')\"\n", + " title=\"Convert this dataframe to an interactive table.\"\n", + " style=\"display:none;\">\n", + "\n", + " <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", + " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", + " </svg>\n", + " </button>\n", + "\n", + " <style>\n", + " .colab-df-container {\n", + " display:flex;\n", + " gap: 12px;\n", + " }\n", + "\n", + " .colab-df-convert {\n", + " background-color: #E8F0FE;\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: #1967D2;\n", + " height: 32px;\n", + " padding: 0 0 0 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-convert:hover {\n", + " background-color: #E2EBFA;\n", + " box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: #174EA6;\n", + " }\n", + "\n", + " .colab-df-buttons div {\n", + " margin-bottom: 4px;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert {\n", + " background-color: #3B4455;\n", + " fill: #D2E3FC;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-convert:hover {\n", + " background-color: #434B5C;\n", + " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", + " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", + " fill: #FFFFFF;\n", + " }\n", + " </style>\n", + "\n", + " <script>\n", + " const buttonEl =\n", + " document.querySelector('#df-5faa884f-3ec6-45f9-9ffc-58a88cbe47f6 button.colab-df-convert');\n", + " buttonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + "\n", + " async function convertToInteractive(key) {\n", + " const element = document.querySelector('#df-5faa884f-3ec6-45f9-9ffc-58a88cbe47f6');\n", + " const dataTable =\n", + " await google.colab.kernel.invokeFunction('convertToInteractive',\n", + " [key], {});\n", + " if (!dataTable) return;\n", + "\n", + " const docLinkHtml = 'Like what you see? Visit the ' +\n", + " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", + " + ' to learn more about interactive tables.';\n", + " element.innerHTML = '';\n", + " dataTable['output_type'] = 'display_data';\n", + " await google.colab.output.renderOutput(dataTable, element);\n", + " const docLink = document.createElement('div');\n", + " docLink.innerHTML = docLinkHtml;\n", + " element.appendChild(docLink);\n", + " }\n", + " </script>\n", + " </div>\n", + "\n", + "\n", + "<div id=\"df-d34edaa7-7318-46eb-b0de-0975b991a063\">\n", + " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-d34edaa7-7318-46eb-b0de-0975b991a063')\"\n", + " title=\"Suggest charts\"\n", + " style=\"display:none;\">\n", + "\n", + "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", + " width=\"24px\">\n", + " <g>\n", + " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", + " </g>\n", + "</svg>\n", + " </button>\n", + "\n", + "<style>\n", + " .colab-df-quickchart {\n", + " --bg-color: #E8F0FE;\n", + " --fill-color: #1967D2;\n", + " --hover-bg-color: #E2EBFA;\n", + " --hover-fill-color: #174EA6;\n", + " --disabled-fill-color: #AAA;\n", + " --disabled-bg-color: #DDD;\n", + " }\n", + "\n", + " [theme=dark] .colab-df-quickchart {\n", + " --bg-color: #3B4455;\n", + " --fill-color: #D2E3FC;\n", + " --hover-bg-color: #434B5C;\n", + " --hover-fill-color: #FFFFFF;\n", + " --disabled-bg-color: #3B4455;\n", + " --disabled-fill-color: #666;\n", + " }\n", + "\n", + " .colab-df-quickchart {\n", + " background-color: var(--bg-color);\n", + " border: none;\n", + " border-radius: 50%;\n", + " cursor: pointer;\n", + " display: none;\n", + " fill: var(--fill-color);\n", + " height: 32px;\n", + " padding: 0;\n", + " width: 32px;\n", + " }\n", + "\n", + " .colab-df-quickchart:hover {\n", + " background-color: var(--hover-bg-color);\n", + " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", + " fill: var(--button-hover-fill-color);\n", + " }\n", + "\n", + " .colab-df-quickchart-complete:disabled,\n", + " .colab-df-quickchart-complete:disabled:hover {\n", + " background-color: var(--disabled-bg-color);\n", + " fill: var(--disabled-fill-color);\n", + " box-shadow: none;\n", + " }\n", + "\n", + " .colab-df-spinner {\n", + " border: 2px solid var(--fill-color);\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " animation:\n", + " spin 1s steps(1) infinite;\n", + " }\n", + "\n", + " @keyframes spin {\n", + " 0% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " border-left-color: var(--fill-color);\n", + " }\n", + " 20% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 30% {\n", + " border-color: transparent;\n", + " border-left-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 40% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-top-color: var(--fill-color);\n", + " }\n", + " 60% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " }\n", + " 80% {\n", + " border-color: transparent;\n", + " border-right-color: var(--fill-color);\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " 90% {\n", + " border-color: transparent;\n", + " border-bottom-color: var(--fill-color);\n", + " }\n", + " }\n", + "</style>\n", + "\n", + " <script>\n", + " async function quickchart(key) {\n", + " const quickchartButtonEl =\n", + " document.querySelector('#' + key + ' button');\n", + " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", + " quickchartButtonEl.classList.add('colab-df-spinner');\n", + " try {\n", + " const charts = await google.colab.kernel.invokeFunction(\n", + " 'suggestCharts', [key], {});\n", + " } catch (error) {\n", + " console.error('Error during call to suggestCharts:', error);\n", + " }\n", + " quickchartButtonEl.classList.remove('colab-df-spinner');\n", + " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", + " }\n", + " (() => {\n", + " let quickchartButtonEl =\n", + " document.querySelector('#df-d34edaa7-7318-46eb-b0de-0975b991a063 button');\n", + " quickchartButtonEl.style.display =\n", + " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", + " })();\n", + " </script>\n", + "</div>\n", + "\n", + " </div>\n", + " </div>\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"df_low_avg\",\n \"rows\": 20,\n \"fields\": [\n {\n \"column\": \"tokens\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 20,\n \"samples\": [\n \"horrible\",\n \"weak\",\n \"rid\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"score\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.1288800431828551,\n \"min\": 0.5143137253513317,\n \"max\": 0.9651084414490478,\n \"num_unique_values\": 20,\n \"samples\": [\n 0.9651084414490478,\n 0.5197757541628621,\n 0.5836823317123255\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 63 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-XRoTAe-50e1" + }, + "source": [ + "## 3.2 Classification de tokens : entités nommées" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### ▶▶ Exercice : Explication de modèle de reconnaissance d'entités nommées\n", + "\n", + "On définit ci-dessous un modèle de reconnaissance d'entités nommées.\n", + "Utilisez l'outil d'explicabilité pour une tâche de classification de token, et affichez les attributions pour un exemple." + ], + "metadata": { + "id": "jwvarY88mHD4" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "s881ijMF50e1", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 397, + "referenced_widgets": [ + "8cc7102386fd4c69accde862a0ea7fed", + "9edef49cc2554343bd3d79c788e12661", + "144ffb316bd544cc920e750b7aaeac1c", + "fbd3c36fd683490584d2b51f46787590", + "b109f675f8e34273a1ee775aa0ccea3f", + "d4834fb7d9f64e28bc5da090cb6dd45f", + "ad18c899cd87466f9a9a3a01a25fe911", + "cf5b28af07ff439cad4fed3e30086b5f", + "bbad2acca5ff46579a7350e84bab05fb", + "c4583f2848584bd5bc692fde42ea00af", + "919e11fc68164a40a7bb37385420c71d", + "4aed151c3b0242e69aaa56275ec1d5d2", + "1310073b571241e1a2d560f4588c72ae", + "435f701ec71e48b296e8faea483ebc9f", + "fdb50a445dd048829e3ccdedbdd8bbaf", + "9591465f79c744cf98177d6ca396cf86", + "fd8b282ce79149dab4ec659b76af6abd", + "33c461aedff54a559490ae5cfb51beb5", + "7fe41338ef304f55aa4676ff854e156f", + "d12a156bbc6d40aa8b2506b831238c9f", + "f130f44b7b9e475690f9105c2093a4b6", + "47899894609e43f98d1960fd79367d41", + "96b9a61426d5444583386ae07c058009", + "3e0dacd959de42e2b04b4e44fcd132a1", + "17409d4b8f6f48d8a559b4af97ed7b33", + "41256bfb81ed4e5ab57ae5407ec4d551", + "eaf143c9cde9448d8817b292f5591b45", + "53893e997296452987b04f9e155bd3ba", + "0cca6ecbb5cc41569c73158c815c60ae", + "312362ac54444ad3bf4b59430e189c63", + "bd218feec0bc4795b168d3da59b07470", + "d5e2ebe9956643ed87205130d976c1e0", + "eafb3c965593460989a32f5951cf5840", + "bcaed8f11348439385dd5b3a8ec179d9", + "3783f5bb4bad483d9a46ddf4de656b69", + "d5fc71ce208d4774a7964da144187bfa", + "200208d464d441cd82e9460a65532dfc", + "e59764d18b924435bb0544786ffd037c", + "b82b6b97561a481a9036413bc946984d", + "84384c445d9a4d1180bdede77c1aa8aa", + "8c64425a649446c5a425366a1cfecc6e", + "0bfb2cf3613f4c8eac6b9f2b3b94a282", + "2aca31853a4b478a924ba3a6b49157c7", + "573ff9f886724783852135785aa82dda", + "930c9f0633c249d095cbc30df4da9100", + "34b2908aec6c4d75bf3d82c2e74b1c5a", + "751ef25e36ed4327b7b683d428ccd8d2", + "bc3bee44a5e44041908b2c37353ac832", + "5fed72f165bd4dd1a27c0250d693c0a9", + "787099ec62ec4ed68469e2a167bb2872", + "40496d44379e465098cb8b4abfc3d77f", + "06469f5319514717a85fad73e2f8b043", + "1e945cb285734976b8658038f53a3f98", + "1f42a09aaff146e7aec5805939c893ba", + "c26960a60b4d498b96e4671be5e950d0", + "3e8a54cf88654ad9be2ce23f320a2199", + "dcf08dd9c849457c8866b385cd4c21a7", + "e55d01f0a7f7403e90f19ef4373a0032", + "34f28b6e8b4c4d08ab1a123c78183e0a", + "758dc2d991e445fd896004d68270b0a2", + "c08d20358eef4a53b2efb846c8f8d0f3", + "40467f274f4e459eba8a83ed3c476b25", + "d3be1627242348279af1111cf076991c", + "e4c8fd841d04470da2996fb9d7509890", + "648b1137d1af43068f9feca547ef7764", + "ec5e90bd647b465199cd33abe7225af9" + ] + }, + "outputId": "2a5a4ab9-65a4-45e8-8e1a-fb65d2b05bfa" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "config.json: 0%| | 0.00/829 [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "8cc7102386fd4c69accde862a0ea7fed" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "model.safetensors: 0%| | 0.00/433M [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "4aed151c3b0242e69aaa56275ec1d5d2" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "tokenizer_config.json: 0%| | 0.00/59.0 [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "96b9a61426d5444583386ae07c058009" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "vocab.txt: 0%| | 0.00/213k [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "bcaed8f11348439385dd5b3a8ec179d9" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "added_tokens.json: 0%| | 0.00/2.00 [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "930c9f0633c249d095cbc30df4da9100" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "special_tokens_map.json: 0%| | 0.00/112 [00:00<?, ?B/s]" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "3e8a54cf88654ad9be2ce23f320a2199" + } + }, + "metadata": {} + } + ], + "source": [ + "model_name = 'dslim/bert-base-NER'\n", + "model = AutoModelForTokenClassification.from_pretrained(model_name)\n", + "tokenizer = AutoTokenizer.from_pretrained(model_name)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "gIBA1tnP50e1" + }, + "outputs": [], + "source": [ + "ner_explainer = TokenClassificationExplainer(model=model, tokenizer=tokenizer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "D7f05OD550e1" + }, + "outputs": [], + "source": [ + "instance = \"New-York City is a place full of celebrities, like Donald Trump.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Z4ep0_VL50e2" + }, + "outputs": [], + "source": [ + "attributions = ner_explainer(instance, ignored_labels=['O'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "5i5qiujC50e2", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b459c31c-1e7a-4bf4-edb6-57bd454ebf11" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "{'New': {'label': 'B-LOC',\n", + " 'attribution_scores': [('[CLS]', 0.0),\n", + " ('New', 0.11522658691454679),\n", + " ('-', 0.46603817775234785),\n", + " ('York', 0.6893381785436592),\n", + " ('City', 0.5121534793438478),\n", + " ('is', 0.13319080709305373),\n", + " ('a', 0.02181923925265407),\n", + " ('place', 0.10400882558743559),\n", + " ('full', -0.02257841084347405),\n", + " ('of', -0.0020049589176366375),\n", + " ('celebrities', 0.006248950235281484),\n", + " (',', 0.030198116531579108),\n", + " ('like', 0.009767105665165837),\n", + " ('Donald', -0.005156455552972984),\n", + " ('Trump', 0.00975752503393775),\n", + " ('.', 0.03643156390202468),\n", + " ('[SEP]', 0.0)]},\n", + " '-': {'label': 'I-LOC',\n", + " 'attribution_scores': [('[CLS]', 0.0),\n", + " ('New', 0.8222961624837605),\n", + " ('-', 0.29912863887482893),\n", + " ('York', 0.4751802933646559),\n", + " ('City', -0.035362585327093826),\n", + " ('is', 0.05356122761397254),\n", + " ('a', 0.029608278383848663),\n", + " ('place', -0.01730584046390251),\n", + " ('full', 0.009172963780251012),\n", + " ('of', 0.018796684200808246),\n", + " ('celebrities', -0.022613662920536216),\n", + " (',', 0.02793702495546166),\n", + " ('like', -0.007824760803275625),\n", + " ('Donald', -0.00918802890811021),\n", + " ('Trump', -0.025381208170742887),\n", + " ('.', 0.027205539126205873),\n", + " ('[SEP]', 0.0)]},\n", + " 'York': {'label': 'I-LOC',\n", + " 'attribution_scores': [('[CLS]', 0.0),\n", + " ('New', 0.5337492169619215),\n", + " ('-', 0.25998727499706475),\n", + " ('York', 0.7606980059506682),\n", + " ('City', 0.24466536309389758),\n", + " ('is', 0.06205621041284834),\n", + " ('a', -0.027586858628998748),\n", + " ('place', 0.025106264194788536),\n", + " ('full', -0.05140017864461721),\n", + " ('of', -0.019691584436654863),\n", + " ('celebrities', -0.006924876493947967),\n", + " (',', -0.012906328684374),\n", + " ('like', -0.015183896769670923),\n", + " ('Donald', -0.01204036640148225),\n", + " ('Trump', 0.011279656359069704),\n", + " ('.', 0.0025388317477680034),\n", + " ('[SEP]', 0.0)]},\n", + " 'City': {'label': 'I-LOC',\n", + " 'attribution_scores': [('[CLS]', 0.0),\n", + " ('New', -0.08719345239654737),\n", + " ('-', -0.0524897534959616),\n", + " ('York', 0.5869292101377458),\n", + " ('City', 0.7707565224003641),\n", + " ('is', 0.11985660753797572),\n", + " ('a', 0.04739018827326886),\n", + " ('place', 0.1805590475244674),\n", + " ('full', 0.00828691084204081),\n", + " ('of', 0.011989906449620953),\n", + " ('celebrities', -0.0032475106540728713),\n", + " (',', 0.031248392601942055),\n", + " ('like', 0.021615119707316135),\n", + " ('Donald', 0.005680373604494104),\n", + " ('Trump', 0.00404614974487494),\n", + " ('.', 0.012740355482399924),\n", + " ('[SEP]', 0.0)]},\n", + " 'Donald': {'label': 'B-PER',\n", + " 'attribution_scores': [('[CLS]', 0.0),\n", + " ('New', -0.013149772298472851),\n", + " ('-', 0.03789828036540612),\n", + " ('York', 0.02540278725254585),\n", + " ('City', 0.008722030153492339),\n", + " ('is', 0.014231916079556055),\n", + " ('a', 0.027366374023769485),\n", + " ('place', -0.019735079948038754),\n", + " ('full', -0.01247201654780089),\n", + " ('of', 0.03221016613496855),\n", + " ('celebrities', 0.024813075410914712),\n", + " (',', -0.017656270724549446),\n", + " ('like', 0.2729821619767517),\n", + " ('Donald', 0.719180584925053),\n", + " ('Trump', 0.6334537565329436),\n", + " ('.', -0.034704097997057266),\n", + " ('[SEP]', 0.0)]},\n", + " 'Trump': {'label': 'I-PER',\n", + " 'attribution_scores': [('[CLS]', 0.0),\n", + " ('New', -0.0013212822286869873),\n", + " ('-', 0.016093372865552385),\n", + " ('York', 0.04688254279462517),\n", + " ('City', 0.013796325424241722),\n", + " ('is', 0.003590890616336741),\n", + " ('a', 0.024211369758444755),\n", + " ('place', 0.00041608693732241746),\n", + " ('full', -0.0007240991111717892),\n", + " ('of', 0.02103574941962767),\n", + " ('celebrities', 0.01816752290526648),\n", + " (',', 0.03074231246421054),\n", + " ('like', 0.15109008062796192),\n", + " ('Donald', 0.734340021421949),\n", + " ('Trump', 0.6562611269559748),\n", + " ('.', -0.047658851041918),\n", + " ('[SEP]', 0.0)]}}" + ] + }, + "metadata": {}, + "execution_count": 68 + } + ], + "source": [ + "attributions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "dm58uxm_50e2", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "6bf508f6-cdb4-4092-f84f-98e6cb571595" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "<IPython.core.display.HTML object>" + ], + "text/html": [ + "<table width: 100%><div style=\"border-top: 1px solid; margin-top: 5px; padding-top: 5px; display: inline-block\"><b>Legend: </b><span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(0, 75%, 60%)\"></span> Negative <span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(0, 75%, 100%)\"></span> Neutral <span style=\"display: inline-block; width: 10px; height: 10px; border: 1px solid; background-color: hsl(120, 75%, 50%)\"></span> Positive </div><tr><th>True Label</th><th>Predicted Label</th><th>Attribution Label</th><th>Attribution Score</th><th>Word Importance</th><tr><td><text style=\"padding-right:2em\"><b>B-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>B-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>New</b></text></td><td><text style=\"padding-right:2em\"><b>2.10</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> New </font></mark><mark style=\"background-color: hsl(120, 75%, 77%); opacity:1.0; line-height:1.75\"><font color=\"black\"> - </font></mark><mark style=\"background-color: hsl(120, 75%, 66%); opacity:1.0; line-height:1.75\"><font color=\"black\"> York </font></mark><mark style=\"background-color: hsl(120, 75%, 75%); opacity:1.0; line-height:1.75\"><font color=\"black\"> City </font></mark><mark style=\"background-color: hsl(120, 75%, 94%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> place </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> full </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> celebrities </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> like </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Donald </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Trump </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>I-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>-</b></text></td><td><text style=\"padding-right:2em\"><b>1.65</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(120, 75%, 59%); opacity:1.0; line-height:1.75\"><font color=\"black\"> New </font></mark><mark style=\"background-color: hsl(120, 75%, 86%); opacity:1.0; line-height:1.75\"><font color=\"black\"> - </font></mark><mark style=\"background-color: hsl(120, 75%, 77%); opacity:1.0; line-height:1.75\"><font color=\"black\"> York </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> City </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> place </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> full </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> celebrities </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> like </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Donald </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Trump </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>I-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>York</b></text></td><td><text style=\"padding-right:2em\"><b>1.75</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(120, 75%, 74%); opacity:1.0; line-height:1.75\"><font color=\"black\"> New </font></mark><mark style=\"background-color: hsl(120, 75%, 88%); opacity:1.0; line-height:1.75\"><font color=\"black\"> - </font></mark><mark style=\"background-color: hsl(120, 75%, 62%); opacity:1.0; line-height:1.75\"><font color=\"black\"> York </font></mark><mark style=\"background-color: hsl(120, 75%, 88%); opacity:1.0; line-height:1.75\"><font color=\"black\"> City </font></mark><mark style=\"background-color: hsl(120, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> place </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> full </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> celebrities </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> like </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Donald </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Trump </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-LOC</b></text></td><td><text style=\"padding-right:2em\"><b>I-LOC (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>City</b></text></td><td><text style=\"padding-right:2em\"><b>1.66</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(0, 75%, 97%); opacity:1.0; line-height:1.75\"><font color=\"black\"> New </font></mark><mark style=\"background-color: hsl(0, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> - </font></mark><mark style=\"background-color: hsl(120, 75%, 71%); opacity:1.0; line-height:1.75\"><font color=\"black\"> York </font></mark><mark style=\"background-color: hsl(120, 75%, 62%); opacity:1.0; line-height:1.75\"><font color=\"black\"> City </font></mark><mark style=\"background-color: hsl(120, 75%, 95%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 91%); opacity:1.0; line-height:1.75\"><font color=\"black\"> place </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> full </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> celebrities </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> like </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Donald </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Trump </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>B-PER</b></text></td><td><text style=\"padding-right:2em\"><b>B-PER (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>Donald</b></text></td><td><text style=\"padding-right:2em\"><b>1.70</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> New </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> - </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> York </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> City </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> place </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> full </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> celebrities </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 87%); opacity:1.0; line-height:1.75\"><font color=\"black\"> like </font></mark><mark style=\"background-color: hsl(120, 75%, 65%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Donald </font></mark><mark style=\"background-color: hsl(120, 75%, 69%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Trump </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr><tr><td><text style=\"padding-right:2em\"><b>I-PER</b></text></td><td><text style=\"padding-right:2em\"><b>I-PER (1.00)</b></text></td><td><text style=\"padding-right:2em\"><b>Trump</b></text></td><td><text style=\"padding-right:2em\"><b>1.67</b></text></td><td><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [CLS] </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> New </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> - </font></mark><mark style=\"background-color: hsl(120, 75%, 98%); opacity:1.0; line-height:1.75\"><font color=\"black\"> York </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> City </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> is </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> a </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> place </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> full </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> of </font></mark><mark style=\"background-color: hsl(120, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> celebrities </font></mark><mark style=\"background-color: hsl(120, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> , </font></mark><mark style=\"background-color: hsl(120, 75%, 93%); opacity:1.0; line-height:1.75\"><font color=\"black\"> like </font></mark><mark style=\"background-color: hsl(120, 75%, 64%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Donald </font></mark><mark style=\"background-color: hsl(120, 75%, 68%); opacity:1.0; line-height:1.75\"><font color=\"black\"> Trump </font></mark><mark style=\"background-color: hsl(0, 75%, 99%); opacity:1.0; line-height:1.75\"><font color=\"black\"> . </font></mark><mark style=\"background-color: hsl(0, 75%, 100%); opacity:1.0; line-height:1.75\"><font color=\"black\"> [SEP] </font></mark></td><tr></table>" + ] + }, + "metadata": {} + } + ], + "source": [ + "html = ner_explainer.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "VSn32SrQ50e3" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "visual", + "language": "python", + "name": "visual" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + }, + "colab": { + "provenance": [], + "collapsed_sections": [ + "-XRoTAe-50e1" + ] + }, + "accelerator": "GPU", + "gpuClass": "standard", + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "71f513231cb546f3bb0e7273b6f05a4b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_d6e5cf1c4e6342e5840238ad56c76b04", + "IPY_MODEL_486e1311bf0848d49d6dd1517071a8df", + "IPY_MODEL_093251dc2f8949159096bf8118903bea" + ], + "layout": "IPY_MODEL_76da8c28a2bc4101ad35416a84525f17" + } + }, + "d6e5cf1c4e6342e5840238ad56c76b04": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_22010396d1604097ac8a4a8592083359", + "placeholder": "", + "style": "IPY_MODEL_d0126561003141b7957d2882d387877a", + "value": "config.json: 100%" + } + }, + "486e1311bf0848d49d6dd1517071a8df": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_0533b41aa7ad44d6861470fb0336cde4", + "max": 483, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5a60c9838a084711aa5d3b218af766d3", + "value": 483 + } + }, + "093251dc2f8949159096bf8118903bea": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_04e3a93a0ed04f1da648750ed86b69ce", + "placeholder": "", + "style": "IPY_MODEL_e3a13f9097a944719b60e661eb18b75e", + "value": " 483/483 [00:00<00:00, 31.1kB/s]" + } + }, + "76da8c28a2bc4101ad35416a84525f17": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "22010396d1604097ac8a4a8592083359": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "d0126561003141b7957d2882d387877a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "0533b41aa7ad44d6861470fb0336cde4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "5a60c9838a084711aa5d3b218af766d3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "04e3a93a0ed04f1da648750ed86b69ce": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "e3a13f9097a944719b60e661eb18b75e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "4c678aa0d2fb453c9f6d1d8ce4476eda": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_7e0b00d284cd4087840a01da213d8e1d", + "IPY_MODEL_34f5a07f787546fdb75138976005a945", + "IPY_MODEL_0f0172b5785147d5a35b8bfb6b372675" + ], + "layout": "IPY_MODEL_bab08b94965a4445913febc24ef8c4ee" + } + }, + "7e0b00d284cd4087840a01da213d8e1d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_62efb89bbdcb4476922ea891e3031b4d", + "placeholder": "", + "style": "IPY_MODEL_fd4a8607a8364f989ed116b2fbcd4f70", + "value": "model.safetensors: 100%" + } + }, + "34f5a07f787546fdb75138976005a945": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_b5ac2d703a7a4a5db53accb80b72e989", + "max": 267954768, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_774bc49178824f529e187595fd4ee6a1", + "value": 267954768 + } + }, + "0f0172b5785147d5a35b8bfb6b372675": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_d8ac6bfb50d34fdc961a9bef601f703f", + "placeholder": "", + "style": "IPY_MODEL_85ff0c80090245849dbc40209324ac8e", + "value": " 268M/268M [00:01<00:00, 141MB/s]" + } + }, + "bab08b94965a4445913febc24ef8c4ee": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "62efb89bbdcb4476922ea891e3031b4d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "fd4a8607a8364f989ed116b2fbcd4f70": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "b5ac2d703a7a4a5db53accb80b72e989": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "774bc49178824f529e187595fd4ee6a1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "d8ac6bfb50d34fdc961a9bef601f703f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "85ff0c80090245849dbc40209324ac8e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "7580f4aa316641b883f240fde06165e7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_2093c31efa4d432b94ed8367fed99a03", + "IPY_MODEL_317fd45169a7407580f92e876948c0a7", + "IPY_MODEL_68eac9460d0a42d39a850da313459ba6" + ], + "layout": "IPY_MODEL_1fea2ee9532243f299cdcfd652edd4ac" + } + }, + "2093c31efa4d432b94ed8367fed99a03": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_9cba649d20894817b8a6afa29d3700db", + "placeholder": "", + "style": "IPY_MODEL_ceefb33412ce4ec385ea3249d8f57569", + "value": "tokenizer_config.json: 100%" + } + }, + "317fd45169a7407580f92e876948c0a7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_82801b5155204c4e9bbdc664471aa29c", + "max": 48, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_d54bbbe6900945dfbef35b3863555747", + "value": 48 + } + }, + "68eac9460d0a42d39a850da313459ba6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_2f1f4b8314d74bd8a3dbd957ed3f68b5", + "placeholder": "", + "style": "IPY_MODEL_987d67ac6de14c05bd93051dedc6e4c4", + "value": " 48.0/48.0 [00:00<00:00, 1.21kB/s]" + } + }, + "1fea2ee9532243f299cdcfd652edd4ac": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "9cba649d20894817b8a6afa29d3700db": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ceefb33412ce4ec385ea3249d8f57569": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "82801b5155204c4e9bbdc664471aa29c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "d54bbbe6900945dfbef35b3863555747": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "2f1f4b8314d74bd8a3dbd957ed3f68b5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "987d67ac6de14c05bd93051dedc6e4c4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "511a7985a25e4ca4b7aa234378aff468": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_d7b39d82d41646bb83584109107b8e80", + "IPY_MODEL_25f91b125b5149229f4f3b31b31f331d", + "IPY_MODEL_f6c45ef1d74547afbe9cd701efd862c9" + ], + "layout": "IPY_MODEL_06f20868b72042b090c4fdf83c96bc2f" + } + }, + "d7b39d82d41646bb83584109107b8e80": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_e7d3fb9955d2469786dba1f6e9d07246", + "placeholder": "", + "style": "IPY_MODEL_012bdf1069c2479189b149511fb32c96", + "value": "vocab.txt: 100%" + } + }, + "25f91b125b5149229f4f3b31b31f331d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_8226ce0abf0842249a733a6e90fe99e4", + "max": 231508, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_ab7a6c165a4d4648ae66c2189900c8c7", + "value": 231508 + } + }, + "f6c45ef1d74547afbe9cd701efd862c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_e5f7dacbb624458bacb2f26874f4a255", + "placeholder": "", + "style": "IPY_MODEL_712fe6f4b9c74102b3ebd22aa783abb2", + "value": " 232k/232k [00:00<00:00, 6.09MB/s]" + } + }, + "06f20868b72042b090c4fdf83c96bc2f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "e7d3fb9955d2469786dba1f6e9d07246": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "012bdf1069c2479189b149511fb32c96": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "8226ce0abf0842249a733a6e90fe99e4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ab7a6c165a4d4648ae66c2189900c8c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "e5f7dacbb624458bacb2f26874f4a255": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "712fe6f4b9c74102b3ebd22aa783abb2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "0d2187d9fd234801a3580f4d977043d3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_ac6e1993b541486293893a0bd6a4166f", + "IPY_MODEL_9ce07d33709949d38cbfca4b89045f8f", + "IPY_MODEL_bcaf8ef12b9a44fc86ef2848c1942096" + ], + "layout": "IPY_MODEL_310dc498db82462d99cab4c8317aa90c" + } + }, + "ac6e1993b541486293893a0bd6a4166f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_82654cc1cdc241ed80e9e4e4140f5028", + "placeholder": "", + "style": "IPY_MODEL_47cf97cb5db0488c992a176ad0509525", + "value": "tokenizer.json: 100%" + } + }, + "9ce07d33709949d38cbfca4b89045f8f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_62e6ad29a8e045d0a9b1b8006148b45a", + "max": 466062, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_16452ee0832c47c58a848af3da1bd882", + "value": 466062 + } + }, + "bcaf8ef12b9a44fc86ef2848c1942096": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_3e40bc9059d748e1bffc49b0eed7fc15", + "placeholder": "", + "style": "IPY_MODEL_ad98a995daa84cc9a0d8af146cc560c7", + "value": " 466k/466k [00:00<00:00, 6.35MB/s]" + } + }, + "310dc498db82462d99cab4c8317aa90c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "82654cc1cdc241ed80e9e4e4140f5028": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "47cf97cb5db0488c992a176ad0509525": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "62e6ad29a8e045d0a9b1b8006148b45a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "16452ee0832c47c58a848af3da1bd882": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "3e40bc9059d748e1bffc49b0eed7fc15": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ad98a995daa84cc9a0d8af146cc560c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "9253342f53bf493dab8bf1d241542693": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_f3f5bb47292d4094a939d8bc24af4a16", + "IPY_MODEL_abc317414ffd450bb2c54d5c29da6be9", + "IPY_MODEL_367824689e654ac7b5c8058d9ed2886f" + ], + "layout": "IPY_MODEL_199e067032b14e70a0cd43e59f2eead6" + } + }, + "f3f5bb47292d4094a939d8bc24af4a16": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_031e05bb06904fc5991216973bc4fcc2", + "placeholder": "", + "style": "IPY_MODEL_8321d2764961459a85d1fdf9539ed8e7", + "value": "README.md: 100%" + } + }, + "abc317414ffd450bb2c54d5c29da6be9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_5a76c0d42c30462db2758ca73836421a", + "max": 7809, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_6d3ebff41f0d445f8f919cdddb8d4ff1", + "value": 7809 + } + }, + "367824689e654ac7b5c8058d9ed2886f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_dd113092d97c4f09a0278c7d4999b5b2", + "placeholder": "", + "style": "IPY_MODEL_7e2a24be23c74a5d9250c0ae025b5d48", + "value": " 7.81k/7.81k [00:00<00:00, 150kB/s]" + } + }, + "199e067032b14e70a0cd43e59f2eead6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "031e05bb06904fc5991216973bc4fcc2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "8321d2764961459a85d1fdf9539ed8e7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "5a76c0d42c30462db2758ca73836421a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "6d3ebff41f0d445f8f919cdddb8d4ff1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "dd113092d97c4f09a0278c7d4999b5b2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "7e2a24be23c74a5d9250c0ae025b5d48": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "8f0e51d5edbb4d97a52e5739ea37d099": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_193dec2ef40843b3a884d1026692823f", + "IPY_MODEL_dfc1715a2cf149b6bf2cfe330f6fddcd", + "IPY_MODEL_826ab7f92b3c4e188b32cf31c4f09510" + ], + "layout": "IPY_MODEL_b5556a3bfdcf42b6bf96db53e9cfda05" + } + }, + "193dec2ef40843b3a884d1026692823f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_4986493f8e9d4bb39fea4a701c570b45", + "placeholder": "", + "style": "IPY_MODEL_56024c9b819c44f6bb1cccf3430ae42f", + "value": "train-00000-of-00001.parquet: 100%" + } + }, + "dfc1715a2cf149b6bf2cfe330f6fddcd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_7dfe8100de6f491db68ef36fe83f0276", + "max": 20979968, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_c4170ed6abb343f284035446e2932dea", + "value": 20979968 + } + }, + "826ab7f92b3c4e188b32cf31c4f09510": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_3539c72164a8415380da3a2b92316184", + "placeholder": "", + "style": "IPY_MODEL_36e1e6ee9a5f4397a04babb9647a49c7", + "value": " 21.0M/21.0M [00:00<00:00, 79.8MB/s]" + } + }, + "b5556a3bfdcf42b6bf96db53e9cfda05": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "4986493f8e9d4bb39fea4a701c570b45": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "56024c9b819c44f6bb1cccf3430ae42f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "7dfe8100de6f491db68ef36fe83f0276": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "c4170ed6abb343f284035446e2932dea": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "3539c72164a8415380da3a2b92316184": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "36e1e6ee9a5f4397a04babb9647a49c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "91addbb4ccef47bbb3a2cd7134d73516": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_34b05d40f0bd4aef97150ceaa5493082", + "IPY_MODEL_ee28cb7fc875486c87d8e4da43e010db", + "IPY_MODEL_38712627341444d9a0a57b052a4a8315" + ], + "layout": "IPY_MODEL_11a7ffac123746cb97ac8db5701150f9" + } + }, + "34b05d40f0bd4aef97150ceaa5493082": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_d56ac54fe7a742d9a8dfaf1a0a41d4a5", + "placeholder": "", + "style": "IPY_MODEL_0c61e794a7714b14ba0140a80b7fe166", + "value": "test-00000-of-00001.parquet: 100%" + } + }, + "ee28cb7fc875486c87d8e4da43e010db": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_dab49977db6142d0bd65acba7be0df6f", + "max": 20470363, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_09e77a1a23ee4a1183b1bfa5f99ef83c", + "value": 20470363 + } + }, + "38712627341444d9a0a57b052a4a8315": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_01f24f744bbc42d8801fd6b685bfb461", + "placeholder": "", + "style": "IPY_MODEL_d25513c3ee5c44c3b139209f65e95442", + "value": " 20.5M/20.5M [00:00<00:00, 204MB/s]" + } + }, + "11a7ffac123746cb97ac8db5701150f9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "d56ac54fe7a742d9a8dfaf1a0a41d4a5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "0c61e794a7714b14ba0140a80b7fe166": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "dab49977db6142d0bd65acba7be0df6f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "09e77a1a23ee4a1183b1bfa5f99ef83c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "01f24f744bbc42d8801fd6b685bfb461": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "d25513c3ee5c44c3b139209f65e95442": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "1c3d22a0ed4e42b790e8aca314084098": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_0c0439f10ba74524a71bcd93ab17842f", + "IPY_MODEL_b3ea2f4c2c6a46b4aa50b7d6ce89a247", + "IPY_MODEL_13237a6ee30c4d9089a19d31aebc8f17" + ], + "layout": "IPY_MODEL_1d4fb16718fa4961933db8e1c61473ad" + } + }, + "0c0439f10ba74524a71bcd93ab17842f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_2afa17d5efc54cbbadcef138b3b45c44", + "placeholder": "", + "style": "IPY_MODEL_c9f310a1deab48d99e5eb86bd989e0af", + "value": "unsupervised-00000-of-00001.parquet: 100%" + } + }, + "b3ea2f4c2c6a46b4aa50b7d6ce89a247": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_784ef84463174362b05b1af3383e3a93", + "max": 41996509, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_1a214e22b4b74bd78f19211e72c24499", + "value": 41996509 + } + }, + "13237a6ee30c4d9089a19d31aebc8f17": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_c6bb9f5dcf4241338d004590082df06f", + "placeholder": "", + "style": "IPY_MODEL_55d124e89c8d4adb90594548c83313e7", + "value": " 42.0M/42.0M [00:00<00:00, 189MB/s]" + } + }, + "1d4fb16718fa4961933db8e1c61473ad": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "2afa17d5efc54cbbadcef138b3b45c44": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "c9f310a1deab48d99e5eb86bd989e0af": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "784ef84463174362b05b1af3383e3a93": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "1a214e22b4b74bd78f19211e72c24499": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "c6bb9f5dcf4241338d004590082df06f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "55d124e89c8d4adb90594548c83313e7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "a9824148fec1458ebe6efe615f2e93e4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_caa7452847d4499683f60d26d5274893", + "IPY_MODEL_d9642ce167f745d888ff198880004e4f", + "IPY_MODEL_426486fa21f34067afbe243d25409d7c" + ], + "layout": "IPY_MODEL_c1170f9120224068961cce67fda678b8" + } + }, + "caa7452847d4499683f60d26d5274893": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_43d458224dee486fb498c55c61d089be", + "placeholder": "", + "style": "IPY_MODEL_66db6fda057a4d6695a0ff1a1fb8aee4", + "value": "Generating train split: 100%" + } + }, + "d9642ce167f745d888ff198880004e4f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_45d98a7fdee642d9a7acd5466d1af5db", + "max": 25000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_ba9f7bb95c5c47a4a3a148a06faeae21", + "value": 25000 + } + }, + "426486fa21f34067afbe243d25409d7c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_cead44dbeff243b8a4855becf534b9a4", + "placeholder": "", + "style": "IPY_MODEL_ce93ab7995074a3cbf8fb577f5f7c6d1", + "value": " 25000/25000 [00:00<00:00, 48479.29 examples/s]" + } + }, + "c1170f9120224068961cce67fda678b8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "43d458224dee486fb498c55c61d089be": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "66db6fda057a4d6695a0ff1a1fb8aee4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "45d98a7fdee642d9a7acd5466d1af5db": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ba9f7bb95c5c47a4a3a148a06faeae21": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "cead44dbeff243b8a4855becf534b9a4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ce93ab7995074a3cbf8fb577f5f7c6d1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "21bd6ba6b34f4ece86cca0ce5fc1a8de": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_cd62943060394172aa3ca286d3361d73", + "IPY_MODEL_86029aa7ff614afe84ab80457f709983", + "IPY_MODEL_e25712ede689404a966e102d220a4e31" + ], + "layout": "IPY_MODEL_5e8e686a0f434093b02e23a680d409a3" + } + }, + "cd62943060394172aa3ca286d3361d73": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_e0a9dd6536484b78885694fc728f5de8", + "placeholder": "", + "style": "IPY_MODEL_7266b9516cbf4cd988a544aeb9b0f6d6", + "value": "Generating test split: 100%" + } + }, + "86029aa7ff614afe84ab80457f709983": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_dc46619f16b44279a0f03eac64b657d2", + "max": 25000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_841990d53aab4278b08aa90e4a4b40fd", + "value": 25000 + } + }, + "e25712ede689404a966e102d220a4e31": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_f42429db71904f979ef32de57f6ec6ae", + "placeholder": "", + "style": "IPY_MODEL_a1f16d6272824e96a63f8ce91f400935", + "value": " 25000/25000 [00:00<00:00, 65356.41 examples/s]" + } + }, + "5e8e686a0f434093b02e23a680d409a3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "e0a9dd6536484b78885694fc728f5de8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "7266b9516cbf4cd988a544aeb9b0f6d6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "dc46619f16b44279a0f03eac64b657d2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "841990d53aab4278b08aa90e4a4b40fd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "f42429db71904f979ef32de57f6ec6ae": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "a1f16d6272824e96a63f8ce91f400935": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "aedd062492334a4ba534f12a0449b14f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_9fe70230c3b5456d8a1529a9bb20a5c5", + "IPY_MODEL_05eb03c316ad4389bf3a3b12e97c1b46", + "IPY_MODEL_b9084f1884ef4b3892b10d1cb3afef86" + ], + "layout": "IPY_MODEL_2b5dc2ded0c64fafb24eba2cc8b99e4e" + } + }, + "9fe70230c3b5456d8a1529a9bb20a5c5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_2cb673f3eaff4f6e91cd939f51d2b6cb", + "placeholder": "", + "style": "IPY_MODEL_40307448b95d44af8d5d8dba4c530e49", + "value": "Generating unsupervised split: 100%" + } + }, + "05eb03c316ad4389bf3a3b12e97c1b46": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_80452122288c4c95ab82b79114f4aa93", + "max": 50000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5f98205766ea481ba19ddd52f04fe3db", + "value": 50000 + } + }, + "b9084f1884ef4b3892b10d1cb3afef86": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_e72b8af7774b4a7daa744798603f4516", + "placeholder": "", + "style": "IPY_MODEL_1096353f8eca45c3bca96c432bca136e", + "value": " 50000/50000 [00:00<00:00, 98143.26 examples/s]" + } + }, + "2b5dc2ded0c64fafb24eba2cc8b99e4e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "2cb673f3eaff4f6e91cd939f51d2b6cb": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "40307448b95d44af8d5d8dba4c530e49": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "80452122288c4c95ab82b79114f4aa93": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "5f98205766ea481ba19ddd52f04fe3db": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "e72b8af7774b4a7daa744798603f4516": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "1096353f8eca45c3bca96c432bca136e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "d728bb3d53f84461a1a05dec5538f309": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_8ef1d98afbd84812ad0409db7812c79e", + "IPY_MODEL_42c2baadec4548d0b59ce2c41bc97c05", + "IPY_MODEL_2666321d41ee467ea6412e358a4c257f" + ], + "layout": "IPY_MODEL_fa15243099294d3b93fcc60a3e0e0917" + } + }, + "8ef1d98afbd84812ad0409db7812c79e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_d304540cc3f74529acdd6a3d8f45e6fe", + "placeholder": "", + "style": "IPY_MODEL_3bf5be0e3497437a8a214af449c9ea01", + "value": "Map: 100%" + } + }, + "42c2baadec4548d0b59ce2c41bc97c05": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_57fea904b66f4edca86b7dcc05ca5682", + "max": 25000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_ac4b37b9af4f459493f23cbba33b65ff", + "value": 25000 + } + }, + "2666321d41ee467ea6412e358a4c257f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_3e91fe2f32b24cecaf755a2ac02c7e27", + "placeholder": "", + "style": "IPY_MODEL_db66239f3f3046c99aaeb13b21b68209", + "value": " 25000/25000 [00:35<00:00, 1005.17 examples/s]" + } + }, + "fa15243099294d3b93fcc60a3e0e0917": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "d304540cc3f74529acdd6a3d8f45e6fe": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "3bf5be0e3497437a8a214af449c9ea01": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "57fea904b66f4edca86b7dcc05ca5682": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ac4b37b9af4f459493f23cbba33b65ff": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "3e91fe2f32b24cecaf755a2ac02c7e27": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "db66239f3f3046c99aaeb13b21b68209": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "ca3f841d824b4e169b982b5ef7817a99": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_591d23aa9ed2454db5a8f283dfba9eff", + "IPY_MODEL_38c205f1990e4705bba82c61bde0f77b", + "IPY_MODEL_8b49b468e05c4f3e9d02c7ca1511a07e" + ], + "layout": "IPY_MODEL_1406414808794e7ca6cc12f0ba0eb558" + } + }, + "591d23aa9ed2454db5a8f283dfba9eff": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_e0d579203edc47fcaa453f791e400011", + "placeholder": "", + "style": "IPY_MODEL_35bb79ec92f74e408df7e901fc592482", + "value": "Map: 100%" + } + }, + "38c205f1990e4705bba82c61bde0f77b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_55fa69191e234f3da9e60f67858c8b5f", + "max": 25000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_1a4f507b868d4ffcb507c06d1f51ab9f", + "value": 25000 + } + }, + "8b49b468e05c4f3e9d02c7ca1511a07e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_d3bee28bfe864a49a240477372524de2", + "placeholder": "", + "style": "IPY_MODEL_37c021181966419f8921bfde6e04407e", + "value": " 25000/25000 [00:23<00:00, 883.80 examples/s]" + } + }, + "1406414808794e7ca6cc12f0ba0eb558": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "e0d579203edc47fcaa453f791e400011": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "35bb79ec92f74e408df7e901fc592482": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "55fa69191e234f3da9e60f67858c8b5f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "1a4f507b868d4ffcb507c06d1f51ab9f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "d3bee28bfe864a49a240477372524de2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "37c021181966419f8921bfde6e04407e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "3ef470f580194141bda9a54d8a5c4787": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_bad13760f1d240a8b893f95efb546179", + "IPY_MODEL_ad5a5f54fd214fe0a60871fc3b8bfcc4", + "IPY_MODEL_3e062f5f612b4d3e80eacf8957b167a8" + ], + "layout": "IPY_MODEL_e21b23738b60456eb8fbcaf18b0dbec0" + } + }, + "bad13760f1d240a8b893f95efb546179": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_063027683a554f598f548f3759f6874e", + "placeholder": "", + "style": "IPY_MODEL_e05bb9907de34c03aa6f3d166fd7b701", + "value": "Map: 100%" + } + }, + "ad5a5f54fd214fe0a60871fc3b8bfcc4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_d9d0d4c0114841eca6fb4457ba53b713", + "max": 50000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_7fedba85dc4949e98d013d47e7bb2770", + "value": 50000 + } + }, + "3e062f5f612b4d3e80eacf8957b167a8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_d7b4acf365b149c88f40abb46ef94f38", + "placeholder": "", + "style": "IPY_MODEL_76613406812f4bb9b6092bf53fbae7da", + "value": " 50000/50000 [00:49<00:00, 1103.51 examples/s]" + } + }, + "e21b23738b60456eb8fbcaf18b0dbec0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "063027683a554f598f548f3759f6874e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "e05bb9907de34c03aa6f3d166fd7b701": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "d9d0d4c0114841eca6fb4457ba53b713": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "7fedba85dc4949e98d013d47e7bb2770": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "d7b4acf365b149c88f40abb46ef94f38": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "76613406812f4bb9b6092bf53fbae7da": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "cffd050ffa39465ab87619ca5f727420": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_5985987891ff4c58846e11cd370ef3b1", + "IPY_MODEL_542b19288da345d99fbc7d8288eb678d", + "IPY_MODEL_26bdeb51415941d18a707b26034768fe" + ], + "layout": "IPY_MODEL_3dd1a247644a404799e0364b1bb7726e" + } + }, + "5985987891ff4c58846e11cd370ef3b1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_ddf1017129ae4cf4a06cb8472a37ad93", + "placeholder": "", + "style": "IPY_MODEL_24bb7f09f1f542549870f28ae927e453", + "value": "Downloading builder script: 100%" + } + }, + "542b19288da345d99fbc7d8288eb678d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_5fd76237e6574b3d97c37d4ac8028666", + "max": 4203, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0df60eb4d12448458e4bee238df312ac", + "value": 4203 + } + }, + "26bdeb51415941d18a707b26034768fe": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_5af021fbe20e4a5a89c3e16eb62ddf87", + "placeholder": "", + "style": "IPY_MODEL_feceae236a064d118d5ca97fac1b3c03", + "value": " 4.20k/4.20k [00:00<00:00, 207kB/s]" + } + }, + "3dd1a247644a404799e0364b1bb7726e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ddf1017129ae4cf4a06cb8472a37ad93": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "24bb7f09f1f542549870f28ae927e453": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "5fd76237e6574b3d97c37d4ac8028666": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "0df60eb4d12448458e4bee238df312ac": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "5af021fbe20e4a5a89c3e16eb62ddf87": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "feceae236a064d118d5ca97fac1b3c03": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "8cc7102386fd4c69accde862a0ea7fed": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_9edef49cc2554343bd3d79c788e12661", + "IPY_MODEL_144ffb316bd544cc920e750b7aaeac1c", + "IPY_MODEL_fbd3c36fd683490584d2b51f46787590" + ], + "layout": "IPY_MODEL_b109f675f8e34273a1ee775aa0ccea3f" + } + }, + "9edef49cc2554343bd3d79c788e12661": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_d4834fb7d9f64e28bc5da090cb6dd45f", + "placeholder": "", + "style": "IPY_MODEL_ad18c899cd87466f9a9a3a01a25fe911", + "value": "config.json: 100%" + } + }, + "144ffb316bd544cc920e750b7aaeac1c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_cf5b28af07ff439cad4fed3e30086b5f", + "max": 829, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_bbad2acca5ff46579a7350e84bab05fb", + "value": 829 + } + }, + "fbd3c36fd683490584d2b51f46787590": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_c4583f2848584bd5bc692fde42ea00af", + "placeholder": "", + "style": "IPY_MODEL_919e11fc68164a40a7bb37385420c71d", + "value": " 829/829 [00:00<00:00, 52.2kB/s]" + } + }, + "b109f675f8e34273a1ee775aa0ccea3f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "d4834fb7d9f64e28bc5da090cb6dd45f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ad18c899cd87466f9a9a3a01a25fe911": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "cf5b28af07ff439cad4fed3e30086b5f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "bbad2acca5ff46579a7350e84bab05fb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "c4583f2848584bd5bc692fde42ea00af": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "919e11fc68164a40a7bb37385420c71d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "4aed151c3b0242e69aaa56275ec1d5d2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_1310073b571241e1a2d560f4588c72ae", + "IPY_MODEL_435f701ec71e48b296e8faea483ebc9f", + "IPY_MODEL_fdb50a445dd048829e3ccdedbdd8bbaf" + ], + "layout": "IPY_MODEL_9591465f79c744cf98177d6ca396cf86" + } + }, + "1310073b571241e1a2d560f4588c72ae": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_fd8b282ce79149dab4ec659b76af6abd", + "placeholder": "", + "style": "IPY_MODEL_33c461aedff54a559490ae5cfb51beb5", + "value": "model.safetensors: 100%" + } + }, + "435f701ec71e48b296e8faea483ebc9f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_7fe41338ef304f55aa4676ff854e156f", + "max": 433292294, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_d12a156bbc6d40aa8b2506b831238c9f", + "value": 433292294 + } + }, + "fdb50a445dd048829e3ccdedbdd8bbaf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_f130f44b7b9e475690f9105c2093a4b6", + "placeholder": "", + "style": "IPY_MODEL_47899894609e43f98d1960fd79367d41", + "value": " 433M/433M [00:02<00:00, 243MB/s]" + } + }, + "9591465f79c744cf98177d6ca396cf86": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "fd8b282ce79149dab4ec659b76af6abd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "33c461aedff54a559490ae5cfb51beb5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "7fe41338ef304f55aa4676ff854e156f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "d12a156bbc6d40aa8b2506b831238c9f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "f130f44b7b9e475690f9105c2093a4b6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "47899894609e43f98d1960fd79367d41": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "96b9a61426d5444583386ae07c058009": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_3e0dacd959de42e2b04b4e44fcd132a1", + "IPY_MODEL_17409d4b8f6f48d8a559b4af97ed7b33", + "IPY_MODEL_41256bfb81ed4e5ab57ae5407ec4d551" + ], + "layout": "IPY_MODEL_eaf143c9cde9448d8817b292f5591b45" + } + }, + "3e0dacd959de42e2b04b4e44fcd132a1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_53893e997296452987b04f9e155bd3ba", + "placeholder": "", + "style": "IPY_MODEL_0cca6ecbb5cc41569c73158c815c60ae", + "value": "tokenizer_config.json: 100%" + } + }, + "17409d4b8f6f48d8a559b4af97ed7b33": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_312362ac54444ad3bf4b59430e189c63", + "max": 59, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_bd218feec0bc4795b168d3da59b07470", + "value": 59 + } + }, + "41256bfb81ed4e5ab57ae5407ec4d551": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_d5e2ebe9956643ed87205130d976c1e0", + "placeholder": "", + "style": "IPY_MODEL_eafb3c965593460989a32f5951cf5840", + "value": " 59.0/59.0 [00:00<00:00, 4.87kB/s]" + } + }, + "eaf143c9cde9448d8817b292f5591b45": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "53893e997296452987b04f9e155bd3ba": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "0cca6ecbb5cc41569c73158c815c60ae": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "312362ac54444ad3bf4b59430e189c63": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "bd218feec0bc4795b168d3da59b07470": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "d5e2ebe9956643ed87205130d976c1e0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "eafb3c965593460989a32f5951cf5840": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "bcaed8f11348439385dd5b3a8ec179d9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_3783f5bb4bad483d9a46ddf4de656b69", + "IPY_MODEL_d5fc71ce208d4774a7964da144187bfa", + "IPY_MODEL_200208d464d441cd82e9460a65532dfc" + ], + "layout": "IPY_MODEL_e59764d18b924435bb0544786ffd037c" + } + }, + "3783f5bb4bad483d9a46ddf4de656b69": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_b82b6b97561a481a9036413bc946984d", + "placeholder": "", + "style": "IPY_MODEL_84384c445d9a4d1180bdede77c1aa8aa", + "value": "vocab.txt: 100%" + } + }, + "d5fc71ce208d4774a7964da144187bfa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_8c64425a649446c5a425366a1cfecc6e", + "max": 213450, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0bfb2cf3613f4c8eac6b9f2b3b94a282", + "value": 213450 + } + }, + "200208d464d441cd82e9460a65532dfc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_2aca31853a4b478a924ba3a6b49157c7", + "placeholder": "", + "style": "IPY_MODEL_573ff9f886724783852135785aa82dda", + "value": " 213k/213k [00:00<00:00, 2.70MB/s]" + } + }, + "e59764d18b924435bb0544786ffd037c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "b82b6b97561a481a9036413bc946984d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "84384c445d9a4d1180bdede77c1aa8aa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "8c64425a649446c5a425366a1cfecc6e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "0bfb2cf3613f4c8eac6b9f2b3b94a282": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "2aca31853a4b478a924ba3a6b49157c7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "573ff9f886724783852135785aa82dda": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "930c9f0633c249d095cbc30df4da9100": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_34b2908aec6c4d75bf3d82c2e74b1c5a", + "IPY_MODEL_751ef25e36ed4327b7b683d428ccd8d2", + "IPY_MODEL_bc3bee44a5e44041908b2c37353ac832" + ], + "layout": "IPY_MODEL_5fed72f165bd4dd1a27c0250d693c0a9" + } + }, + "34b2908aec6c4d75bf3d82c2e74b1c5a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_787099ec62ec4ed68469e2a167bb2872", + "placeholder": "", + "style": "IPY_MODEL_40496d44379e465098cb8b4abfc3d77f", + "value": "added_tokens.json: 100%" + } + }, + "751ef25e36ed4327b7b683d428ccd8d2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_06469f5319514717a85fad73e2f8b043", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_1e945cb285734976b8658038f53a3f98", + "value": 2 + } + }, + "bc3bee44a5e44041908b2c37353ac832": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_1f42a09aaff146e7aec5805939c893ba", + "placeholder": "", + "style": "IPY_MODEL_c26960a60b4d498b96e4671be5e950d0", + "value": " 2.00/2.00 [00:00<00:00, 152B/s]" + } + }, + "5fed72f165bd4dd1a27c0250d693c0a9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "787099ec62ec4ed68469e2a167bb2872": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "40496d44379e465098cb8b4abfc3d77f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "06469f5319514717a85fad73e2f8b043": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "1e945cb285734976b8658038f53a3f98": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "1f42a09aaff146e7aec5805939c893ba": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "c26960a60b4d498b96e4671be5e950d0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "3e8a54cf88654ad9be2ce23f320a2199": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "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_dcf08dd9c849457c8866b385cd4c21a7", + "IPY_MODEL_e55d01f0a7f7403e90f19ef4373a0032", + "IPY_MODEL_34f28b6e8b4c4d08ab1a123c78183e0a" + ], + "layout": "IPY_MODEL_758dc2d991e445fd896004d68270b0a2" + } + }, + "dcf08dd9c849457c8866b385cd4c21a7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_c08d20358eef4a53b2efb846c8f8d0f3", + "placeholder": "", + "style": "IPY_MODEL_40467f274f4e459eba8a83ed3c476b25", + "value": "special_tokens_map.json: 100%" + } + }, + "e55d01f0a7f7403e90f19ef4373a0032": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "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_d3be1627242348279af1111cf076991c", + "max": 112, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e4c8fd841d04470da2996fb9d7509890", + "value": 112 + } + }, + "34f28b6e8b4c4d08ab1a123c78183e0a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "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_648b1137d1af43068f9feca547ef7764", + "placeholder": "", + "style": "IPY_MODEL_ec5e90bd647b465199cd33abe7225af9", + "value": " 112/112 [00:00<00:00, 7.62kB/s]" + } + }, + "758dc2d991e445fd896004d68270b0a2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "c08d20358eef4a53b2efb846c8f8d0f3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "40467f274f4e459eba8a83ed3c476b25": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "d3be1627242348279af1111cf076991c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "e4c8fd841d04470da2996fb9d7509890": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + }, + "648b1137d1af43068f9feca547ef7764": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "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 + } + }, + "ec5e90bd647b465199cd33abe7225af9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "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": "" + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file