diff --git a/notebooks/Classification_BertFineTuning.ipynb b/notebooks/Classification_BertFineTuning.ipynb
index 692d3b5af2a782eef88210ca4cb8b64052dd80a1..6e533e75b3b02a47abe1c2c3ba679bcbe93de0ac 100644
--- a/notebooks/Classification_BertFineTuning.ipynb
+++ b/notebooks/Classification_BertFineTuning.ipynb
@@ -20,7 +20,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 1,
+      "execution_count": null,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -28,17 +28,7 @@
         "id": "WF0qFN_g3ekz",
         "outputId": "f3a5f049-24ee-418f-fe5e-84c633234ad8"
       },
-      "outputs": [
-        {
-          "output_type": "stream",
-          "name": "stdout",
-          "text": [
-            "Your runtime has 27.3 gigabytes of available RAM\n",
-            "\n",
-            "You are using a high-RAM runtime!\n"
-          ]
-        }
-      ],
+      "outputs": [],
       "source": [
         "from psutil import virtual_memory\n",
         "ram_gb = virtual_memory().total / 1e9\n",
@@ -52,7 +42,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 2,
+      "execution_count": null,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -60,15 +50,7 @@
         "id": "vL0S-s9Uofvn",
         "outputId": "4b7efa4d-7f09-4c8e-bc98-99e6099ede32"
       },
-      "outputs": [
-        {
-          "output_type": "stream",
-          "name": "stdout",
-          "text": [
-            "Mounted at /content/drive\n"
-          ]
-        }
-      ],
+      "outputs": [],
       "source": [
         "from google.colab import drive\n",
         "drive.mount('/content/drive')"
@@ -85,7 +67,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 3,
+      "execution_count": 1,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -95,11 +77,10 @@
       },
       "outputs": [
         {
-          "output_type": "stream",
           "name": "stdout",
+          "output_type": "stream",
           "text": [
-            "There are 1 GPU(s) available.\n",
-            "We will use the GPU: Tesla P100-PCIE-16GB\n"
+            "We will use the GPU\n"
           ]
         }
       ],
@@ -108,18 +89,18 @@
         "\n",
         "# If there's a GPU available...\n",
         "if torch.cuda.is_available():    \n",
-        "\n",
         "    # Tell PyTorch to use the GPU.    \n",
         "    device = torch.device(\"cuda\")\n",
-        "\n",
         "    print('There are %d GPU(s) available.' % torch.cuda.device_count())\n",
-        "\n",
         "    print('We will use the GPU:', torch.cuda.get_device_name(0))\n",
         "\n",
-        "# If not...\n",
+        "# for MacOS\n",
+        "elif torch.backends.mps.is_available() and torch.backends.mps.is_built():\n",
+        "    device = torch.device(\"mps\")\n",
+        "    print('We will use the GPU')\n",
         "else:\n",
-        "    print('No GPU available, using the CPU instead.')\n",
-        "    device = torch.device(\"cpu\")"
+        "    device = torch.device(\"cpu\")\n",
+        "    print('No GPU available, using the CPU instead.')"
       ]
     },
     {
@@ -133,7 +114,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 4,
+      "execution_count": null,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -141,57 +122,7 @@
         "id": "pwmZ5bBvgGNh",
         "outputId": "fce0a8bf-1779-4079-c7ac-200ebb2678c5"
       },
-      "outputs": [
-        {
-          "output_type": "stream",
-          "name": "stdout",
-          "text": [
-            "Collecting transformers==4.10.3\n",
-            "  Downloading transformers-4.10.3-py3-none-any.whl (2.8 MB)\n",
-            "\u001b[K     |████████████████████████████████| 2.8 MB 5.2 MB/s \n",
-            "\u001b[?25hRequirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from transformers==4.10.3) (2.23.0)\n",
-            "Collecting sacremoses\n",
-            "  Downloading sacremoses-0.0.47-py2.py3-none-any.whl (895 kB)\n",
-            "\u001b[K     |████████████████████████████████| 895 kB 47.4 MB/s \n",
-            "\u001b[?25hRequirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from transformers==4.10.3) (4.11.0)\n",
-            "Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from transformers==4.10.3) (21.3)\n",
-            "Collecting tokenizers<0.11,>=0.10.1\n",
-            "  Downloading tokenizers-0.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.3 MB)\n",
-            "\u001b[K     |████████████████████████████████| 3.3 MB 49.6 MB/s \n",
-            "\u001b[?25hRequirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.7/dist-packages (from transformers==4.10.3) (2019.12.20)\n",
-            "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.7/dist-packages (from transformers==4.10.3) (1.21.5)\n",
-            "Collecting huggingface-hub>=0.0.12\n",
-            "  Downloading huggingface_hub-0.4.0-py3-none-any.whl (67 kB)\n",
-            "\u001b[K     |████████████████████████████████| 67 kB 5.8 MB/s \n",
-            "\u001b[?25hCollecting pyyaml>=5.1\n",
-            "  Downloading PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (596 kB)\n",
-            "\u001b[K     |████████████████████████████████| 596 kB 46.7 MB/s \n",
-            "\u001b[?25hRequirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.7/dist-packages (from transformers==4.10.3) (4.62.3)\n",
-            "Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from transformers==4.10.3) (3.4.2)\n",
-            "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.7/dist-packages (from huggingface-hub>=0.0.12->transformers==4.10.3) (3.10.0.2)\n",
-            "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->transformers==4.10.3) (3.0.7)\n",
-            "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->transformers==4.10.3) (3.7.0)\n",
-            "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->transformers==4.10.3) (1.24.3)\n",
-            "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->transformers==4.10.3) (3.0.4)\n",
-            "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->transformers==4.10.3) (2.10)\n",
-            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->transformers==4.10.3) (2021.10.8)\n",
-            "Requirement already satisfied: joblib in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers==4.10.3) (1.1.0)\n",
-            "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers==4.10.3) (1.15.0)\n",
-            "Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers==4.10.3) (7.1.2)\n",
-            "Installing collected packages: pyyaml, tokenizers, sacremoses, huggingface-hub, transformers\n",
-            "  Attempting uninstall: pyyaml\n",
-            "    Found existing installation: PyYAML 3.13\n",
-            "    Uninstalling PyYAML-3.13:\n",
-            "      Successfully uninstalled PyYAML-3.13\n",
-            "Successfully installed huggingface-hub-0.4.0 pyyaml-6.0 sacremoses-0.0.47 tokenizers-0.10.3 transformers-4.10.3\n",
-            "Collecting sentencepiece\n",
-            "  Downloading sentencepiece-0.1.96-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)\n",
-            "\u001b[K     |████████████████████████████████| 1.2 MB 5.1 MB/s \n",
-            "\u001b[?25hInstalling collected packages: sentencepiece\n",
-            "Successfully installed sentencepiece-0.1.96\n"
-          ]
-        }
-      ],
+      "outputs": [],
       "source": [
         "!pip install transformers==4.10.3\n",
         "!pip install sentencepiece"
@@ -208,7 +139,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 5,
+      "execution_count": 2,
       "metadata": {
         "id": "SkErnwgMMbRj"
       },
@@ -250,7 +181,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 28,
+      "execution_count": 3,
       "metadata": {
         "id": "WkIVcabUgxIl"
       },
@@ -290,7 +221,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 6,
+      "execution_count": null,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -298,36 +229,7 @@
         "id": "jdCdUVOTZrqh",
         "outputId": "ac52be55-ed4b-4c50-dc8c-9124ca6b71e5"
       },
-      "outputs": [
-        {
-          "output_type": "stream",
-          "name": "stdout",
-          "text": [
-            "--2022-02-18 07:03:04--  https://projet.liris.cnrs.fr/geode/EDdA-Classification/datasets/training_set.tsv\n",
-            "Resolving projet.liris.cnrs.fr (projet.liris.cnrs.fr)... 134.214.142.28\n",
-            "Connecting to projet.liris.cnrs.fr (projet.liris.cnrs.fr)|134.214.142.28|:443... connected.\n",
-            "HTTP request sent, awaiting response... 200 OK\n",
-            "Length: 175634219 (167M) [text/tab-separated-values]\n",
-            "Saving to: ‘training_set.tsv’\n",
-            "\n",
-            "training_set.tsv    100%[===================>] 167.50M  27.7MB/s    in 6.8s    \n",
-            "\n",
-            "2022-02-18 07:03:11 (24.7 MB/s) - ‘training_set.tsv’ saved [175634219/175634219]\n",
-            "\n",
-            "--2022-02-18 07:03:11--  https://projet.liris.cnrs.fr/geode/EDdA-Classification/datasets/test_set.tsv\n",
-            "Resolving projet.liris.cnrs.fr (projet.liris.cnrs.fr)... 134.214.142.28\n",
-            "Connecting to projet.liris.cnrs.fr (projet.liris.cnrs.fr)|134.214.142.28|:443... connected.\n",
-            "HTTP request sent, awaiting response... 200 OK\n",
-            "Length: 42730598 (41M) [text/tab-separated-values]\n",
-            "Saving to: ‘test_set.tsv’\n",
-            "\n",
-            "test_set.tsv        100%[===================>]  40.75M  19.5MB/s    in 2.1s    \n",
-            "\n",
-            "2022-02-18 07:03:14 (19.5 MB/s) - ‘test_set.tsv’ saved [42730598/42730598]\n",
-            "\n"
-          ]
-        }
-      ],
+      "outputs": [],
       "source": [
         "!wget https://projet.liris.cnrs.fr/geode/EDdA-Classification/datasets/training_set.tsv\n",
         "!wget https://projet.liris.cnrs.fr/geode/EDdA-Classification/datasets/test_set.tsv"
@@ -344,36 +246,32 @@
     },
     {
       "cell_type": "code",
-      "source": [
-        "train_path = 'training_set.tsv'\n",
-        "test_path =  'test_set.tsv'"
-      ],
+      "execution_count": 4,
       "metadata": {
         "id": "7JEnKknRoClH"
       },
-      "execution_count": 7,
-      "outputs": []
+      "outputs": [],
+      "source": [
+        "train_path = '../data/training_set.tsv'\n",
+        "test_path =  '../data/test_set.tsv'"
+      ]
     },
     {
       "cell_type": "code",
-      "execution_count": 9,
+      "execution_count": 5,
       "metadata": {
-        "id": "5u1acjunhoxe",
         "colab": {
           "base_uri": "https://localhost:8080/",
           "height": 496
         },
+        "id": "5u1acjunhoxe",
         "outputId": "3038048d-6506-473d-85c9-2d3ebdcc6a72"
       },
       "outputs": [
         {
-          "output_type": "execute_result",
           "data": {
             "text/html": [
-              "\n",
-              "  <div id=\"df-5a25a6b1-21af-4b77-8ab1-a5df357d33f1\">\n",
-              "    <div class=\"colab-df-container\">\n",
-              "      <div>\n",
+              "<div>\n",
               "<style scoped>\n",
               "    .dataframe tbody tr th:only-of-type {\n",
               "        vertical-align: middle;\n",
@@ -489,97 +387,48 @@
               "    </tr>\n",
               "  </tbody>\n",
               "</table>\n",
-              "</div>\n",
-              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5a25a6b1-21af-4b77-8ab1-a5df357d33f1')\"\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 0 24 24\"\n",
-              "       width=\"24px\">\n",
-              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
-              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
-              "  </svg>\n",
-              "      </button>\n",
-              "      \n",
-              "  <style>\n",
-              "    .colab-df-container {\n",
-              "      display:flex;\n",
-              "      flex-wrap:wrap;\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",
-              "    [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",
+              "</div>"
+            ],
+            "text/plain": [
+              "   volume  numero                                    head          normClass  \\\n",
+              "0      15       5                                SENACULE  Antiquité romaine   \n",
+              "1       8    3509                                Investir             Marine   \n",
+              "2       2    3428         BOYARDS, ou BOJARES, ou BOJARDS   Histoire moderne   \n",
+              "3       2    6532                                 Cerceau          Tonnelier   \n",
+              "4       8    1827  HIERONYMITES, ou HERMITES DE S. JEROME       unclassified   \n",
               "\n",
-              "      <script>\n",
-              "        const buttonEl =\n",
-              "          document.querySelector('#df-5a25a6b1-21af-4b77-8ab1-a5df357d33f1 button.colab-df-convert');\n",
-              "        buttonEl.style.display =\n",
-              "          google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
+              "      classEDdA    author  id_enccre          domaine_enccre  \\\n",
+              "0   Antiq. rom.  Jaucourt    v15-4-0               antiquité   \n",
+              "1       Marine.  Le Blond  v8-2689-1                  marine   \n",
+              "2    Hist. mod.    Mallet  v2-2041-0                histoire   \n",
+              "3    Tonneliers  unsigned  v2-4266-3               tonnelier   \n",
+              "4  unclassified  unsigned  v8-1404-0  histoireecclésiastique   \n",
               "\n",
-              "        async function convertToInteractive(key) {\n",
-              "          const element = document.querySelector('#df-5a25a6b1-21af-4b77-8ab1-a5df357d33f1');\n",
-              "          const dataTable =\n",
-              "            await google.colab.kernel.invokeFunction('convertToInteractive',\n",
-              "                                                     [key], {});\n",
-              "          if (!dataTable) return;\n",
+              "  ensemble_domaine_enccre                                            content  \\\n",
+              "0               Antiquité  SENACULE, s. m. (Antiq. rom.) senaculum:\\nlieu...   \n",
+              "1                  Marine  Investir, (Marine.) se dit parmi les matelots\\...   \n",
+              "2                Histoire  BOYARDS, ou BOJARES, ou BOJARDS, s. m.\\npl. (H...   \n",
+              "3                 Métiers  Cerceau, c'est un lien de bois qui se plie fac...   \n",
+              "4                Religion  HIERONYMITES, ou HERMITES DE S. JEROME, Voyez ...   \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",
-              "  </div>\n",
-              "  "
-            ],
-            "text/plain": [
-              "   volume  numero  ...                                     firstParagraph nb_words\n",
-              "0      15       5  ...  senacule s. m.   senaculum \\n lieu où tenoit s...       91\n",
-              "1       8    3509  ...  investir   parmi matelot \\n méditerranée échou...       30\n",
-              "2       2    3428  ...  boyard bojares bojards s. m. \\n pl   nom donne...      218\n",
-              "3       2    6532  ...  cerceau lien bois plie facilement \\n   servent...      229\n",
-              "4       8    1827  ...  hieronymites hermites s. jerome jeronymites he...       34\n",
+              "                                 contentWithoutClass  \\\n",
+              "0  senacule s. m.   senaculum \\n lieu où tenoit s...   \n",
+              "1  investir   parmi matelot \\n méditerranée échou...   \n",
+              "2  boyard bojares bojards s. m. \\n pl   nom donne...   \n",
+              "3  cerceau lien bois plie facilement \\n   servent...   \n",
+              "4  hieronymites hermites s. jerome jeronymites he...   \n",
               "\n",
-              "[5 rows x 13 columns]"
+              "                                      firstParagraph  nb_words  \n",
+              "0  senacule s. m.   senaculum \\n lieu où tenoit s...        91  \n",
+              "1  investir   parmi matelot \\n méditerranée échou...        30  \n",
+              "2  boyard bojares bojards s. m. \\n pl   nom donne...       218  \n",
+              "3  cerceau lien bois plie facilement \\n   servent...       229  \n",
+              "4  hieronymites hermites s. jerome jeronymites he...        34  "
             ]
           },
+          "execution_count": 5,
           "metadata": {},
-          "execution_count": 9
+          "output_type": "execute_result"
         }
       ],
       "source": [
@@ -589,7 +438,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 29,
+      "execution_count": 6,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -599,8 +448,8 @@
       },
       "outputs": [
         {
-          "output_type": "stream",
           "name": "stdout",
+          "output_type": "stream",
           "text": [
             "(46807, 13)\n"
           ]
@@ -612,60 +461,61 @@
     },
     {
       "cell_type": "markdown",
-      "source": [
-        "## Configuration"
-      ],
       "metadata": {
         "id": "dADYGtTcn4AB"
-      }
+      },
+      "source": [
+        "## Configuration"
+      ]
     },
     {
       "cell_type": "code",
+      "execution_count": 24,
+      "metadata": {
+        "id": "I0OrfFsBn4Io"
+      },
+      "outputs": [],
       "source": [
         "columnText = 'contentWithoutClass'\n",
         "columnClass = 'ensemble_domaine_enccre'\n",
         "\n",
         "maxOfInstancePerClass = 10000\n",
         "\n",
-        "#model_chosen = \"bert\"\n",
-        "model_chosen = \"camembert\"\n",
+        "model_chosen = \"bert\"\n",
+        "#model_chosen = \"camembert\"\n",
         "\n",
-        "batch_size = 8  # 16 or 32 recommended\n",
+        "batch_size = 16  # 16 or 32 recommended\n",
         "max_len = 512\n",
         "\n",
-        "path = \"drive/MyDrive/Classification-EDdA/\"\n",
+        "#path = \"drive/MyDrive/Classification-EDdA/\"\n",
+        "path = \"../models/new/\"\n",
         "encoder_filename = \"label_encoder.pkl\""
-      ],
-      "metadata": {
-        "id": "I0OrfFsBn4Io"
-      },
-      "execution_count": 30,
-      "outputs": []
+      ]
     },
     {
       "cell_type": "markdown",
-      "source": [
-        "## Preprocessing"
-      ],
       "metadata": {
         "id": "t3brU-Yvn4XS"
-      }
+      },
+      "source": [
+        "## Preprocessing"
+      ]
     },
     {
       "cell_type": "code",
-      "source": [
-        "if maxOfInstancePerClass != 10000:\n",
-        "  df_train = resample_classes(df_train, columnClass, maxOfInstancePerClass)"
-      ],
+      "execution_count": null,
       "metadata": {
         "id": "aQCLJE4Jtm7v"
       },
-      "execution_count": 31,
-      "outputs": []
+      "outputs": [],
+      "source": [
+        "if maxOfInstancePerClass != 10000:\n",
+        "  df_train = resample_classes(df_train, columnClass, maxOfInstancePerClass)"
+      ]
     },
     {
       "cell_type": "code",
-      "execution_count": 32,
+      "execution_count": 25,
       "metadata": {
         "id": "zrjZvs2dhzAy"
       },
@@ -693,7 +543,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 33,
+      "execution_count": 26,
       "metadata": {
         "id": "Xt_PhH_6h1_3"
       },
@@ -705,7 +555,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 34,
+      "execution_count": 27,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -715,7 +565,6 @@
       },
       "outputs": [
         {
-          "output_type": "execute_result",
           "data": {
             "text/plain": [
               "array(['senacule s. m.   senaculum \\n lieu où tenoit sénat rome \\n sénacules endroit où corps illustre assembloit \\n capitole forum \\n porte capène troisieme près temple \\n bellone cirque flaminien empereur héliogabale bâtir lieu assemblée dame \\n lieu appellé senaculum matronarum d. j.',\n",
@@ -728,8 +577,9 @@
               "      dtype=object)"
             ]
           },
+          "execution_count": 27,
           "metadata": {},
-          "execution_count": 34
+          "output_type": "execute_result"
         }
       ],
       "source": [
@@ -748,7 +598,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 35,
+      "execution_count": 28,
       "metadata": {
         "id": "YZ5PhEYZiCEA"
       },
@@ -764,7 +614,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 36,
+      "execution_count": 29,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/",
@@ -810,53 +660,11 @@
       },
       "outputs": [
         {
-          "output_type": "stream",
           "name": "stdout",
+          "output_type": "stream",
           "text": [
-            "Loading CamemBERT tokenizer...\n"
+            "Loading BERT tokenizer...\n"
           ]
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "application/vnd.jupyter.widget-view+json": {
-              "model_id": "274e505b5f354efc8de3ef26cc43e617",
-              "version_minor": 0,
-              "version_major": 2
-            },
-            "text/plain": [
-              "Downloading:   0%|          | 0.00/811k [00:00<?, ?B/s]"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "application/vnd.jupyter.widget-view+json": {
-              "model_id": "0279837673b446b09aac18346213eb7e",
-              "version_minor": 0,
-              "version_major": 2
-            },
-            "text/plain": [
-              "Downloading:   0%|          | 0.00/1.40M [00:00<?, ?B/s]"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "display_data",
-          "data": {
-            "application/vnd.jupyter.widget-view+json": {
-              "model_id": "8f467553598f4dcc9abf55da79c11018",
-              "version_minor": 0,
-              "version_major": 2
-            },
-            "text/plain": [
-              "Downloading:   0%|          | 0.00/508 [00:00<?, ?B/s]"
-            ]
-          },
-          "metadata": {}
         }
       ],
       "source": [
@@ -871,7 +679,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 37,
+      "execution_count": 30,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -881,10 +689,10 @@
       },
       "outputs": [
         {
-          "output_type": "stream",
           "name": "stderr",
+          "output_type": "stream",
           "text": [
-            "Token indices sequence length is longer than the specified maximum sequence length for this model (531 > 512). Running this sequence through the model will result in indexing errors\n"
+            "Token indices sequence length is longer than the specified maximum sequence length for this model (667 > 512). Running this sequence through the model will result in indexing errors\n"
           ]
         }
       ],
@@ -917,7 +725,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 38,
+      "execution_count": null,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/"
@@ -927,10 +735,10 @@
       },
       "outputs": [
         {
-          "output_type": "stream",
           "name": "stdout",
+          "output_type": "stream",
           "text": [
-            "Max sentence length train:  38073\n"
+            "Max sentence length train:  45443\n"
           ]
         }
       ],
@@ -940,7 +748,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 39,
+      "execution_count": null,
       "metadata": {
         "id": "xh1TQJyvjOx5"
       },
@@ -961,7 +769,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 40,
+      "execution_count": null,
       "metadata": {
         "id": "ZiwY6gn0jUkD"
       },
@@ -985,7 +793,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 41,
+      "execution_count": null,
       "metadata": {
         "id": "oBTR5AfAjXJe"
       },
@@ -1001,7 +809,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 42,
+      "execution_count": null,
       "metadata": {
         "id": "b9Mw5kq3jhTb"
       },
@@ -1018,7 +826,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 43,
+      "execution_count": null,
       "metadata": {
         "id": "UfFWzbENjnkw"
       },
@@ -1046,7 +854,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 44,
+      "execution_count": null,
       "metadata": {
         "colab": {
           "base_uri": "https://localhost:8080/",
@@ -1070,334 +878,333 @@
       },
       "outputs": [
         {
-          "output_type": "display_data",
-          "data": {
-            "application/vnd.jupyter.widget-view+json": {
-              "model_id": "d09d664839d04303b8fef9ef895f6e4f",
-              "version_minor": 0,
-              "version_major": 2
-            },
-            "text/plain": [
-              "Downloading:   0%|          | 0.00/445M [00:00<?, ?B/s]"
-            ]
-          },
-          "metadata": {}
-        },
-        {
-          "output_type": "stream",
           "name": "stderr",
+          "output_type": "stream",
           "text": [
-            "Some weights of the model checkpoint at camembert-base were not used when initializing CamembertForSequenceClassification: ['lm_head.layer_norm.bias', 'lm_head.dense.bias', 'lm_head.layer_norm.weight', 'lm_head.bias', 'roberta.pooler.dense.weight', 'roberta.pooler.dense.bias', 'lm_head.dense.weight', 'lm_head.decoder.weight']\n",
-            "- This IS expected if you are initializing CamembertForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
-            "- This IS NOT expected if you are initializing CamembertForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
-            "Some weights of CamembertForSequenceClassification were not initialized from the model checkpoint at camembert-base and are newly initialized: ['classifier.dense.bias', 'classifier.out_proj.bias', 'classifier.dense.weight', 'classifier.out_proj.weight']\n",
+            "Some weights of the model checkpoint at bert-base-multilingual-cased were not used when initializing BertForSequenceClassification: ['cls.predictions.transform.dense.bias', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.bias', 'cls.seq_relationship.weight', 'cls.predictions.decoder.weight', 'cls.predictions.bias', 'cls.seq_relationship.bias']\n",
+            "- This IS expected if you are initializing BertForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
+            "- This IS NOT expected if you are initializing BertForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
+            "Some weights of BertForSequenceClassification were not initialized from the model checkpoint at bert-base-multilingual-cased and are newly initialized: ['classifier.bias', '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"
           ]
         },
         {
-          "output_type": "execute_result",
           "data": {
             "text/plain": [
-              "CamembertForSequenceClassification(\n",
-              "  (roberta): RobertaModel(\n",
-              "    (embeddings): RobertaEmbeddings(\n",
-              "      (word_embeddings): Embedding(32005, 768, padding_idx=1)\n",
-              "      (position_embeddings): Embedding(514, 768, padding_idx=1)\n",
-              "      (token_type_embeddings): Embedding(1, 768)\n",
-              "      (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "BertForSequenceClassification(\n",
+              "  (bert): BertModel(\n",
+              "    (embeddings): BertEmbeddings(\n",
+              "      (word_embeddings): Embedding(119547, 768, padding_idx=0)\n",
+              "      (position_embeddings): Embedding(512, 768)\n",
+              "      (token_type_embeddings): Embedding(2, 768)\n",
+              "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "      (dropout): Dropout(p=0.1, inplace=False)\n",
               "    )\n",
-              "    (encoder): RobertaEncoder(\n",
+              "    (encoder): BertEncoder(\n",
               "      (layer): ModuleList(\n",
-              "        (0): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (0): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (1): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (1): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (2): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (2): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (3): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (3): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (4): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (4): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (5): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (5): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (6): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (6): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (7): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (7): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (8): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (8): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (9): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (9): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (10): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (10): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
-              "        (11): RobertaLayer(\n",
-              "          (attention): RobertaAttention(\n",
-              "            (self): RobertaSelfAttention(\n",
+              "        (11): BertLayer(\n",
+              "          (attention): BertAttention(\n",
+              "            (self): BertSelfAttention(\n",
               "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
-              "            (output): RobertaSelfOutput(\n",
+              "            (output): BertSelfOutput(\n",
               "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "              (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "              (dropout): Dropout(p=0.1, inplace=False)\n",
               "            )\n",
               "          )\n",
-              "          (intermediate): RobertaIntermediate(\n",
+              "          (intermediate): BertIntermediate(\n",
               "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
+              "            (intermediate_act_fn): GELUActivation()\n",
               "          )\n",
-              "          (output): RobertaOutput(\n",
+              "          (output): BertOutput(\n",
               "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
-              "            (LayerNorm): LayerNorm((768,), eps=1e-05, elementwise_affine=True)\n",
+              "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
               "            (dropout): Dropout(p=0.1, inplace=False)\n",
               "          )\n",
               "        )\n",
               "      )\n",
               "    )\n",
+              "    (pooler): BertPooler(\n",
+              "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
+              "      (activation): Tanh()\n",
+              "    )\n",
               "  )\n",
-              "  (classifier): RobertaClassificationHead(\n",
-              "    (dense): Linear(in_features=768, out_features=768, bias=True)\n",
-              "    (dropout): Dropout(p=0.1, inplace=False)\n",
-              "    (out_proj): Linear(in_features=768, out_features=38, bias=True)\n",
-              "  )\n",
+              "  (dropout): Dropout(p=0.1, inplace=False)\n",
+              "  (classifier): Linear(in_features=768, out_features=38, bias=True)\n",
               ")"
             ]
           },
+          "execution_count": 20,
           "metadata": {},
-          "execution_count": 44
+          "output_type": "execute_result"
         }
       ],
       "source": [
@@ -1423,16 +1230,26 @@
         "  )\n",
         "\n",
         "# Tell pytorch to run this model on the GPU.\n",
-        "model.cuda()"
+        "#model.cuda()\n",
+        "model.to(\"mps\")"
       ]
     },
     {
       "cell_type": "code",
-      "execution_count": 45,
+      "execution_count": null,
       "metadata": {
         "id": "xd_cG-8pj4Iw"
       },
-      "outputs": [],
+      "outputs": [
+        {
+          "name": "stderr",
+          "output_type": "stream",
+          "text": [
+            "/opt/homebrew/Caskroom/miniforge/base/envs/geode-classification-py39/lib/python3.9/site-packages/transformers/optimization.py:306: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use the PyTorch implementation torch.optim.AdamW instead, or set `no_deprecation_warning=True` to disable this warning\n",
+            "  warnings.warn(\n"
+          ]
+        }
+      ],
       "source": [
         "#Note: AdamW is a class from the huggingface library (as opposed to pytorch) \n",
         "# I believe the 'W' stands for 'Weight Decay fix\"\n",
@@ -1444,7 +1261,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 46,
+      "execution_count": null,
       "metadata": {
         "id": "65G-uHuLj4_6"
       },
@@ -1474,107 +1291,26 @@
       },
       "outputs": [
         {
-          "output_type": "stream",
           "name": "stdout",
+          "output_type": "stream",
           "text": [
             "\n",
             "======== Epoch 1 / 4 ========\n",
-            "Training...\n",
-            "  Batch    40  of  5,851.    Elapsed: 0:00:19.\n",
-            "  Batch    80  of  5,851.    Elapsed: 0:00:37.\n",
-            "  Batch   120  of  5,851.    Elapsed: 0:00:55.\n",
-            "  Batch   160  of  5,851.    Elapsed: 0:01:14.\n",
-            "  Batch   200  of  5,851.    Elapsed: 0:01:32.\n",
-            "  Batch   240  of  5,851.    Elapsed: 0:01:51.\n",
-            "  Batch   280  of  5,851.    Elapsed: 0:02:09.\n",
-            "  Batch   320  of  5,851.    Elapsed: 0:02:28.\n",
-            "  Batch   360  of  5,851.    Elapsed: 0:02:46.\n",
-            "  Batch   400  of  5,851.    Elapsed: 0:03:04.\n",
-            "  Batch   440  of  5,851.    Elapsed: 0:03:23.\n",
-            "  Batch   480  of  5,851.    Elapsed: 0:03:41.\n",
-            "  Batch   520  of  5,851.    Elapsed: 0:04:00.\n",
-            "  Batch   560  of  5,851.    Elapsed: 0:04:18.\n",
-            "  Batch   600  of  5,851.    Elapsed: 0:04:37.\n",
-            "  Batch   640  of  5,851.    Elapsed: 0:04:55.\n",
-            "  Batch   680  of  5,851.    Elapsed: 0:05:14.\n",
-            "  Batch   720  of  5,851.    Elapsed: 0:05:32.\n",
-            "  Batch   760  of  5,851.    Elapsed: 0:05:50.\n",
-            "  Batch   800  of  5,851.    Elapsed: 0:06:09.\n",
-            "  Batch   840  of  5,851.    Elapsed: 0:06:27.\n",
-            "  Batch   880  of  5,851.    Elapsed: 0:06:46.\n",
-            "  Batch   920  of  5,851.    Elapsed: 0:07:04.\n",
-            "  Batch   960  of  5,851.    Elapsed: 0:07:23.\n",
-            "  Batch 1,000  of  5,851.    Elapsed: 0:07:41.\n",
-            "  Batch 1,040  of  5,851.    Elapsed: 0:08:00.\n",
-            "  Batch 1,080  of  5,851.    Elapsed: 0:08:18.\n",
-            "  Batch 1,120  of  5,851.    Elapsed: 0:08:37.\n",
-            "  Batch 1,160  of  5,851.    Elapsed: 0:08:55.\n",
-            "  Batch 1,200  of  5,851.    Elapsed: 0:09:14.\n",
-            "  Batch 1,240  of  5,851.    Elapsed: 0:09:32.\n",
-            "  Batch 1,280  of  5,851.    Elapsed: 0:09:51.\n",
-            "  Batch 1,320  of  5,851.    Elapsed: 0:10:09.\n",
-            "  Batch 1,360  of  5,851.    Elapsed: 0:10:28.\n",
-            "  Batch 1,400  of  5,851.    Elapsed: 0:10:46.\n",
-            "  Batch 1,440  of  5,851.    Elapsed: 0:11:05.\n",
-            "  Batch 1,480  of  5,851.    Elapsed: 0:11:23.\n",
-            "  Batch 1,520  of  5,851.    Elapsed: 0:11:42.\n",
-            "  Batch 1,560  of  5,851.    Elapsed: 0:12:00.\n",
-            "  Batch 1,600  of  5,851.    Elapsed: 0:12:19.\n",
-            "  Batch 1,640  of  5,851.    Elapsed: 0:12:37.\n",
-            "  Batch 1,680  of  5,851.    Elapsed: 0:12:56.\n",
-            "  Batch 1,720  of  5,851.    Elapsed: 0:13:14.\n",
-            "  Batch 1,760  of  5,851.    Elapsed: 0:13:33.\n",
-            "  Batch 1,800  of  5,851.    Elapsed: 0:13:51.\n",
-            "  Batch 1,840  of  5,851.    Elapsed: 0:14:10.\n",
-            "  Batch 1,880  of  5,851.    Elapsed: 0:14:28.\n",
-            "  Batch 1,920  of  5,851.    Elapsed: 0:14:47.\n",
-            "  Batch 1,960  of  5,851.    Elapsed: 0:15:05.\n",
-            "  Batch 2,000  of  5,851.    Elapsed: 0:15:23.\n",
-            "  Batch 2,040  of  5,851.    Elapsed: 0:15:42.\n",
-            "  Batch 2,080  of  5,851.    Elapsed: 0:16:00.\n",
-            "  Batch 2,120  of  5,851.    Elapsed: 0:16:19.\n",
-            "  Batch 2,160  of  5,851.    Elapsed: 0:16:37.\n",
-            "  Batch 2,200  of  5,851.    Elapsed: 0:16:56.\n",
-            "  Batch 2,240  of  5,851.    Elapsed: 0:17:14.\n",
-            "  Batch 2,280  of  5,851.    Elapsed: 0:17:32.\n",
-            "  Batch 2,320  of  5,851.    Elapsed: 0:17:51.\n",
-            "  Batch 2,360  of  5,851.    Elapsed: 0:18:09.\n",
-            "  Batch 2,400  of  5,851.    Elapsed: 0:18:28.\n",
-            "  Batch 2,440  of  5,851.    Elapsed: 0:18:46.\n",
-            "  Batch 2,480  of  5,851.    Elapsed: 0:19:04.\n",
-            "  Batch 2,520  of  5,851.    Elapsed: 0:19:23.\n",
-            "  Batch 2,560  of  5,851.    Elapsed: 0:19:41.\n",
-            "  Batch 2,600  of  5,851.    Elapsed: 0:20:00.\n",
-            "  Batch 2,640  of  5,851.    Elapsed: 0:20:18.\n",
-            "  Batch 2,680  of  5,851.    Elapsed: 0:20:37.\n",
-            "  Batch 2,720  of  5,851.    Elapsed: 0:20:55.\n",
-            "  Batch 2,760  of  5,851.    Elapsed: 0:21:13.\n",
-            "  Batch 2,800  of  5,851.    Elapsed: 0:21:32.\n",
-            "  Batch 2,840  of  5,851.    Elapsed: 0:21:50.\n",
-            "  Batch 2,880  of  5,851.    Elapsed: 0:22:09.\n",
-            "  Batch 2,920  of  5,851.    Elapsed: 0:22:27.\n",
-            "  Batch 2,960  of  5,851.    Elapsed: 0:22:46.\n",
-            "  Batch 3,000  of  5,851.    Elapsed: 0:23:04.\n",
-            "  Batch 3,040  of  5,851.    Elapsed: 0:23:22.\n",
-            "  Batch 3,080  of  5,851.    Elapsed: 0:23:41.\n",
-            "  Batch 3,120  of  5,851.    Elapsed: 0:23:59.\n",
-            "  Batch 3,160  of  5,851.    Elapsed: 0:24:18.\n",
-            "  Batch 3,200  of  5,851.    Elapsed: 0:24:36.\n",
-            "  Batch 3,240  of  5,851.    Elapsed: 0:24:54.\n",
-            "  Batch 3,280  of  5,851.    Elapsed: 0:25:13.\n",
-            "  Batch 3,320  of  5,851.    Elapsed: 0:25:31.\n",
-            "  Batch 3,360  of  5,851.    Elapsed: 0:25:50.\n",
-            "  Batch 3,400  of  5,851.    Elapsed: 0:26:08.\n",
-            "  Batch 3,440  of  5,851.    Elapsed: 0:26:27.\n",
-            "  Batch 3,480  of  5,851.    Elapsed: 0:26:45.\n",
-            "  Batch 3,520  of  5,851.    Elapsed: 0:27:04.\n",
-            "  Batch 3,560  of  5,851.    Elapsed: 0:27:23.\n",
-            "  Batch 3,600  of  5,851.    Elapsed: 0:27:41.\n",
-            "  Batch 3,640  of  5,851.    Elapsed: 0:27:59.\n",
-            "  Batch 3,680  of  5,851.    Elapsed: 0:28:18.\n",
-            "  Batch 3,720  of  5,851.    Elapsed: 0:28:36.\n",
-            "  Batch 3,760  of  5,851.    Elapsed: 0:28:55.\n",
-            "  Batch 3,800  of  5,851.    Elapsed: 0:29:13.\n"
+            "Training...\n"
+          ]
+        },
+        {
+          "ename": "KeyboardInterrupt",
+          "evalue": "",
+          "output_type": "error",
+          "traceback": [
+            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+            "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
+            "Cell \u001b[0;32mIn [23], line 92\u001b[0m\n\u001b[1;32m     88\u001b[0m loss\u001b[39m.\u001b[39mbackward()\n\u001b[1;32m     90\u001b[0m \u001b[39m# Clip the norm of the gradients to 1.0.\u001b[39;00m\n\u001b[1;32m     91\u001b[0m \u001b[39m# This is to help prevent the \"exploding gradients\" problem.\u001b[39;00m\n\u001b[0;32m---> 92\u001b[0m torch\u001b[39m.\u001b[39;49mnn\u001b[39m.\u001b[39;49mutils\u001b[39m.\u001b[39;49mclip_grad_norm_(model\u001b[39m.\u001b[39;49mparameters(), \u001b[39m1.0\u001b[39;49m)\n\u001b[1;32m     94\u001b[0m \u001b[39m# Update parameters and take a step using the computed gradient.\u001b[39;00m\n\u001b[1;32m     95\u001b[0m \u001b[39m# The optimizer dictates the \"update rule\"--how the parameters are\u001b[39;00m\n\u001b[1;32m     96\u001b[0m \u001b[39m# modified based on their gradients, the learning rate, etc.\u001b[39;00m\n\u001b[1;32m     97\u001b[0m optimizer\u001b[39m.\u001b[39mstep()\n",
+            "File \u001b[0;32m/opt/homebrew/Caskroom/miniforge/base/envs/geode-classification-py39/lib/python3.9/site-packages/torch/nn/utils/clip_grad.py:43\u001b[0m, in \u001b[0;36mclip_grad_norm_\u001b[0;34m(parameters, max_norm, norm_type, error_if_nonfinite)\u001b[0m\n\u001b[1;32m     41\u001b[0m     total_norm \u001b[39m=\u001b[39m norms[\u001b[39m0\u001b[39m] \u001b[39mif\u001b[39;00m \u001b[39mlen\u001b[39m(norms) \u001b[39m==\u001b[39m \u001b[39m1\u001b[39m \u001b[39melse\u001b[39;00m torch\u001b[39m.\u001b[39mmax(torch\u001b[39m.\u001b[39mstack(norms))\n\u001b[1;32m     42\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m---> 43\u001b[0m     total_norm \u001b[39m=\u001b[39m torch\u001b[39m.\u001b[39mnorm(torch\u001b[39m.\u001b[39mstack([torch\u001b[39m.\u001b[39mnorm(g\u001b[39m.\u001b[39mdetach(), norm_type)\u001b[39m.\u001b[39mto(device) \u001b[39mfor\u001b[39;00m g \u001b[39min\u001b[39;00m grads]), norm_type)\n\u001b[1;32m     44\u001b[0m \u001b[39mif\u001b[39;00m error_if_nonfinite \u001b[39mand\u001b[39;00m torch\u001b[39m.\u001b[39mlogical_or(total_norm\u001b[39m.\u001b[39misnan(), total_norm\u001b[39m.\u001b[39misinf()):\n\u001b[1;32m     45\u001b[0m     \u001b[39mraise\u001b[39;00m \u001b[39mRuntimeError\u001b[39;00m(\n\u001b[1;32m     46\u001b[0m         \u001b[39mf\u001b[39m\u001b[39m'\u001b[39m\u001b[39mThe total norm of order \u001b[39m\u001b[39m{\u001b[39;00mnorm_type\u001b[39m}\u001b[39;00m\u001b[39m for gradients from \u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m     47\u001b[0m         \u001b[39m'\u001b[39m\u001b[39m`parameters` is non-finite, so it cannot be clipped. To disable \u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m     48\u001b[0m         \u001b[39m'\u001b[39m\u001b[39mthis error and scale the gradients by the non-finite norm anyway, \u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m     49\u001b[0m         \u001b[39m'\u001b[39m\u001b[39mset `error_if_nonfinite=False`\u001b[39m\u001b[39m'\u001b[39m)\n",
+            "File \u001b[0;32m/opt/homebrew/Caskroom/miniforge/base/envs/geode-classification-py39/lib/python3.9/site-packages/torch/nn/utils/clip_grad.py:43\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m     41\u001b[0m     total_norm \u001b[39m=\u001b[39m norms[\u001b[39m0\u001b[39m] \u001b[39mif\u001b[39;00m \u001b[39mlen\u001b[39m(norms) \u001b[39m==\u001b[39m \u001b[39m1\u001b[39m \u001b[39melse\u001b[39;00m torch\u001b[39m.\u001b[39mmax(torch\u001b[39m.\u001b[39mstack(norms))\n\u001b[1;32m     42\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m---> 43\u001b[0m     total_norm \u001b[39m=\u001b[39m torch\u001b[39m.\u001b[39mnorm(torch\u001b[39m.\u001b[39mstack([torch\u001b[39m.\u001b[39;49mnorm(g\u001b[39m.\u001b[39;49mdetach(), norm_type)\u001b[39m.\u001b[39mto(device) \u001b[39mfor\u001b[39;00m g \u001b[39min\u001b[39;00m grads]), norm_type)\n\u001b[1;32m     44\u001b[0m \u001b[39mif\u001b[39;00m error_if_nonfinite \u001b[39mand\u001b[39;00m torch\u001b[39m.\u001b[39mlogical_or(total_norm\u001b[39m.\u001b[39misnan(), total_norm\u001b[39m.\u001b[39misinf()):\n\u001b[1;32m     45\u001b[0m     \u001b[39mraise\u001b[39;00m \u001b[39mRuntimeError\u001b[39;00m(\n\u001b[1;32m     46\u001b[0m         \u001b[39mf\u001b[39m\u001b[39m'\u001b[39m\u001b[39mThe total norm of order \u001b[39m\u001b[39m{\u001b[39;00mnorm_type\u001b[39m}\u001b[39;00m\u001b[39m for gradients from \u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m     47\u001b[0m         \u001b[39m'\u001b[39m\u001b[39m`parameters` is non-finite, so it cannot be clipped. To disable \u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m     48\u001b[0m         \u001b[39m'\u001b[39m\u001b[39mthis error and scale the gradients by the non-finite norm anyway, \u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m     49\u001b[0m         \u001b[39m'\u001b[39m\u001b[39mset `error_if_nonfinite=False`\u001b[39m\u001b[39m'\u001b[39m)\n",
+            "File \u001b[0;32m/opt/homebrew/Caskroom/miniforge/base/envs/geode-classification-py39/lib/python3.9/site-packages/torch/functional.py:1485\u001b[0m, in \u001b[0;36mnorm\u001b[0;34m(input, p, dim, keepdim, out, dtype)\u001b[0m\n\u001b[1;32m   1483\u001b[0m     \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39misinstance\u001b[39m(p, \u001b[39mstr\u001b[39m):\n\u001b[1;32m   1484\u001b[0m         _dim \u001b[39m=\u001b[39m [i \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m \u001b[39mrange\u001b[39m(ndim)]  \u001b[39m# noqa: C416 TODO: rewrite as list(range(m))\u001b[39;00m\n\u001b[0;32m-> 1485\u001b[0m         \u001b[39mreturn\u001b[39;00m _VF\u001b[39m.\u001b[39;49mnorm(\u001b[39minput\u001b[39;49m, p, dim\u001b[39m=\u001b[39;49m_dim, keepdim\u001b[39m=\u001b[39;49mkeepdim)  \u001b[39m# type: ignore[attr-defined]\u001b[39;00m\n\u001b[1;32m   1487\u001b[0m \u001b[39m# TODO: when https://github.com/pytorch/pytorch/issues/33782 is fixed\u001b[39;00m\n\u001b[1;32m   1488\u001b[0m \u001b[39m# remove the overloads where dim is an int and replace with BraodcastingList1\u001b[39;00m\n\u001b[1;32m   1489\u001b[0m \u001b[39m# and remove next four lines, replace _dim with dim\u001b[39;00m\n\u001b[1;32m   1490\u001b[0m \u001b[39mif\u001b[39;00m dim \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n",
+            "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
           ]
         }
       ],
@@ -1619,7 +1355,7 @@
         "    for step, batch in enumerate(train_dataloader):\n",
         "\n",
         "        # Progress update every 40 batches.\n",
-        "        if step % 40 == 0 and not step == 0:\n",
+        "        if step % 5 == 0 and not step == 0:\n",
         "            # Calculate elapsed time in minutes.\n",
         "            elapsed = format_time(time.time() - t0)\n",
         "            \n",
@@ -1723,7 +1459,18 @@
       },
       "outputs": [],
       "source": [
-        "torch.save(model, model_path)"
+        "#torch.save(model, model_path)"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {},
+      "outputs": [],
+      "source": [
+        "model.save_pretrained(model_path)\n",
+        "tokenizer.save_pretrained(model_path)\n",
+        "#ludo: changement de la façon de sauver le modèle"
       ]
     },
     {
@@ -1737,13 +1484,14 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 21,
+      "execution_count": null,
       "metadata": {
         "id": "cEycmiS8Cnjw"
       },
       "outputs": [],
       "source": [
-        "model = torch.load(model_path)"
+        "#model = torch.load(model_path)\n",
+        "model = BertForSequenceClassification.from_pretrained(model_path).to(\"mps\") #.to(\"cuda\")"
       ]
     },
     {
@@ -1757,7 +1505,7 @@
     },
     {
       "cell_type": "code",
-      "execution_count": 26,
+      "execution_count": null,
       "metadata": {
         "id": "K9qdtYexIIvk"
       },
@@ -1959,9 +1707,7 @@
         "id": "cVdM4eT6I8g2"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -1970,9 +1716,7 @@
         "id": "HzxyFO3knanV"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -1981,9 +1725,7 @@
         "id": "KDRPPw4Wnap7"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -1992,9 +1734,7 @@
         "id": "DX81R2dcnasF"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -2003,9 +1743,7 @@
         "id": "wgfqJFVeJMK1"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -2014,9 +1752,7 @@
         "id": "GqEf5_41JMNZ"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -2050,25 +1786,7 @@
         "id": "_fzgS5USJeAF",
         "outputId": "be4a5506-76ed-4eef-bb3c-fe2bb77c6e4d"
       },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "--2021-09-30 19:38:22--  https://projet.liris.cnrs.fr/geode/files/datasets/EDdA/Classification/LGE_withContent.tsv\n",
-            "Resolving projet.liris.cnrs.fr (projet.liris.cnrs.fr)... 134.214.142.28\n",
-            "Connecting to projet.liris.cnrs.fr (projet.liris.cnrs.fr)|134.214.142.28|:443... connected.\n",
-            "HTTP request sent, awaiting response... 200 OK\n",
-            "Length: 356197 (348K) [text/tab-separated-values]\n",
-            "Saving to: ‘LGE_withContent.tsv’\n",
-            "\n",
-            "LGE_withContent.tsv 100%[===================>] 347.85K   567KB/s    in 0.6s    \n",
-            "\n",
-            "2021-09-30 19:38:24 (567 KB/s) - ‘LGE_withContent.tsv’ saved [356197/356197]\n",
-            "\n"
-          ]
-        }
-      ],
+      "outputs": [],
       "source": [
         "!wget https://projet.liris.cnrs.fr/geode/files/datasets/EDdA/Classification/LGE_withContent.tsv"
       ]
@@ -2099,102 +1817,7 @@
         "id": "9qJDTU-6vzkk",
         "outputId": "1b279f0e-7715-4d23-f524-08e8ba327f6c"
       },
-      "outputs": [
-        {
-          "data": {
-            "text/html": [
-              "<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>id</th>\n",
-              "      <th>tome</th>\n",
-              "      <th>rank</th>\n",
-              "      <th>domain</th>\n",
-              "      <th>remark</th>\n",
-              "      <th>content</th>\n",
-              "    </tr>\n",
-              "  </thead>\n",
-              "  <tbody>\n",
-              "    <tr>\n",
-              "      <th>0</th>\n",
-              "      <td>abrabeses-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>623</td>\n",
-              "      <td>geography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ABRABESES. Village d’Espagne de la prov. de Za...</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>1</th>\n",
-              "      <td>accius-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1076</td>\n",
-              "      <td>biography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACCIUS, L. ou L. ATTIUS (170-94 av. J.-C.), po...</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>2</th>\n",
-              "      <td>achenbach-2</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1357</td>\n",
-              "      <td>biography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACHENBACH(Henri), administrateur prussien, né ...</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>3</th>\n",
-              "      <td>acireale-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1513</td>\n",
-              "      <td>geography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACIREALE. Yille de Sicile, de la province et d...</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>4</th>\n",
-              "      <td>actée-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1731</td>\n",
-              "      <td>botany</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACTÉE(Actœa L.). Genre de plantes de la famill...</td>\n",
-              "    </tr>\n",
-              "  </tbody>\n",
-              "</table>\n",
-              "</div>"
-            ],
-            "text/plain": [
-              "            id  tome  ...  remark                                            content\n",
-              "0  abrabeses-0     1  ...     NaN  ABRABESES. Village d’Espagne de la prov. de Za...\n",
-              "1     accius-0     1  ...     NaN  ACCIUS, L. ou L. ATTIUS (170-94 av. J.-C.), po...\n",
-              "2  achenbach-2     1  ...     NaN  ACHENBACH(Henri), administrateur prussien, né ...\n",
-              "3   acireale-0     1  ...     NaN  ACIREALE. Yille de Sicile, de la province et d...\n",
-              "4      actée-0     1  ...     NaN  ACTÉE(Actœa L.). Genre de plantes de la famill...\n",
-              "\n",
-              "[5 rows x 6 columns]"
-            ]
-          },
-          "execution_count": 10,
-          "metadata": {},
-          "output_type": "execute_result"
-        }
-      ],
+      "outputs": [],
       "source": [
         "df_LGE.head()"
       ]
@@ -2209,18 +1832,7 @@
         "id": "71-fP61-OOwQ",
         "outputId": "ef08b49e-0a9f-4653-e303-3163250af35b"
       },
-      "outputs": [
-        {
-          "data": {
-            "text/plain": [
-              "(310, 6)"
-            ]
-          },
-          "execution_count": 15,
-          "metadata": {},
-          "output_type": "execute_result"
-        }
-      ],
+      "outputs": [],
       "source": [
         "df_LGE.shape"
       ]
@@ -2367,22 +1979,7 @@
         "id": "O9eer_kgI8rC",
         "outputId": "94ea7418-14a8-4918-e210-caf0018f5989"
       },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "Loading Bert Tokenizer...\n"
-          ]
-        },
-        {
-          "name": "stderr",
-          "output_type": "stream",
-          "text": [
-            "Token indices sequence length is longer than the specified maximum sequence length for this model (1204 > 512). Running this sequence through the model will result in indexing errors\n"
-          ]
-        }
-      ],
+      "outputs": [],
       "source": [
         "data_loader = generate_prediction_dataloader('bert-base-multilingual-cased', data_LGE)\n",
         "#data_loader = generate_prediction_dataloader('camembert-base', data_LGE)"
@@ -2398,16 +1995,7 @@
         "id": "sFpAwbrBwF2h",
         "outputId": "8d210732-619d-41f0-b6e2-ad9d06a85069"
       },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "There are 1 GPU(s) available.\n",
-            "We will use the GPU: Tesla P100-PCIE-16GB\n"
-          ]
-        }
-      ],
+      "outputs": [],
       "source": [
         "p = predict_class_bertFineTuning( model, data_loader )"
       ]
@@ -2422,18 +2010,7 @@
         "id": "51HF6-8UPSTc",
         "outputId": "26bff792-eb8d-4e1a-efa4-a7a6c9d32bf9"
       },
-      "outputs": [
-        {
-          "data": {
-            "text/plain": [
-              "310"
-            ]
-          },
-          "execution_count": 30,
-          "metadata": {},
-          "output_type": "execute_result"
-        }
-      ],
+      "outputs": [],
       "source": [
         "len(p)"
       ]
@@ -2445,9 +2022,7 @@
         "id": "rFFGhaCvQHfh"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -2459,18 +2034,7 @@
         "id": "qgJ-O4rcQHiI",
         "outputId": "bfe93dd6-4d89-4d5c-be0d-45e1c98c6b14"
       },
-      "outputs": [
-        {
-          "data": {
-            "text/plain": [
-              "LabelEncoder()"
-            ]
-          },
-          "execution_count": 41,
-          "metadata": {},
-          "output_type": "execute_result"
-        }
-      ],
+      "outputs": [],
       "source": [
         "# Il faudrait enregistrer l'encoder, \n",
         "# sinon on est obligé de le refaire à partir du jeu d'entrainement pour récupérer le noms des classes.\n",
@@ -2498,327 +2062,7 @@
         "id": "6ek7suq9QHqE",
         "outputId": "6636983a-7eba-48c8-d884-f8fb437294dc"
       },
-      "outputs": [
-        {
-          "data": {
-            "text/plain": [
-              "['Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Chimie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Mathématiques',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Musique',\n",
-              " 'Commerce',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Physique - [Sciences physico-mathématiques]',\n",
-              " 'Histoire naturelle',\n",
-              " 'Chimie',\n",
-              " 'Histoire',\n",
-              " 'Physique - [Sciences physico-mathématiques]',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire',\n",
-              " 'Histoire naturelle',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Géographie',\n",
-              " 'Architecture',\n",
-              " 'Histoire naturelle',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Arts et métiers',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Marine',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Architecture',\n",
-              " 'Histoire naturelle',\n",
-              " 'Beaux-arts',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Chimie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Religion',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Agriculture - Economie rustique',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Jeu',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Histoire',\n",
-              " 'Histoire naturelle',\n",
-              " 'Commerce',\n",
-              " 'Histoire',\n",
-              " 'Militaire (Art) - Guerre - Arme',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Religion',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Agriculture - Economie rustique',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Métiers',\n",
-              " 'Belles-lettres - Poésie',\n",
-              " 'Beaux-arts',\n",
-              " 'Religion',\n",
-              " 'Architecture',\n",
-              " 'Architecture',\n",
-              " 'Architecture',\n",
-              " 'Géographie',\n",
-              " 'Chimie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Histoire naturelle',\n",
-              " 'Militaire (Art) - Guerre - Arme',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Minéralogie',\n",
-              " 'Belles-lettres - Poésie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Grammaire',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Mathématiques',\n",
-              " 'Géographie',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Blason',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Histoire naturelle',\n",
-              " 'Militaire (Art) - Guerre - Arme',\n",
-              " 'Géographie',\n",
-              " 'Antiquité',\n",
-              " 'Agriculture - Economie rustique',\n",
-              " 'Chimie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Belles-lettres - Poésie',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Métiers',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Arts et métiers',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Musique',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Religion',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire',\n",
-              " 'Droit - Jurisprudence',\n",
-              " 'Histoire',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Histoire',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Chimie',\n",
-              " 'Antiquité',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Beaux-arts',\n",
-              " 'Histoire',\n",
-              " 'Géographie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Antiquité',\n",
-              " 'Grammaire',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Beaux-arts',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire',\n",
-              " 'Architecture',\n",
-              " 'Commerce',\n",
-              " 'Antiquité',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Histoire naturelle',\n",
-              " 'Histoire',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Anatomie',\n",
-              " 'Commerce',\n",
-              " 'Beaux-arts',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Histoire naturelle',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Commerce',\n",
-              " 'Architecture',\n",
-              " 'Commerce',\n",
-              " 'Antiquité',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Médecine - Chirurgie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Antiquité',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Histoire',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Antiquité',\n",
-              " 'Géographie',\n",
-              " 'Religion',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Philosophie',\n",
-              " 'Géographie',\n",
-              " 'Chimie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Géographie',\n",
-              " 'Beaux-arts',\n",
-              " 'Commerce',\n",
-              " 'Commerce',\n",
-              " 'Géographie',\n",
-              " 'Géographie']"
-            ]
-          },
-          "execution_count": 44,
-          "metadata": {},
-          "output_type": "execute_result"
-        }
-      ],
+      "outputs": [],
       "source": [
         "p2"
       ]
@@ -2830,9 +2074,7 @@
         "id": "XvdDj5PBQHtk"
       },
       "outputs": [],
-      "source": [
-        ""
-      ]
+      "source": []
     },
     {
       "cell_type": "code",
@@ -2856,108 +2098,7 @@
         "id": "-VZ7geRmQHaD",
         "outputId": "350a4122-5b1f-43e2-e372-2f628f665c4a"
       },
-      "outputs": [
-        {
-          "data": {
-            "text/html": [
-              "<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>id</th>\n",
-              "      <th>tome</th>\n",
-              "      <th>rank</th>\n",
-              "      <th>domain</th>\n",
-              "      <th>remark</th>\n",
-              "      <th>content</th>\n",
-              "      <th>class_bert</th>\n",
-              "    </tr>\n",
-              "  </thead>\n",
-              "  <tbody>\n",
-              "    <tr>\n",
-              "      <th>0</th>\n",
-              "      <td>abrabeses-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>623</td>\n",
-              "      <td>geography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ABRABESES. Village d’Espagne de la prov. de Za...</td>\n",
-              "      <td>Géographie</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>1</th>\n",
-              "      <td>accius-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1076</td>\n",
-              "      <td>biography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACCIUS, L. ou L. ATTIUS (170-94 av. J.-C.), po...</td>\n",
-              "      <td>Géographie</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>2</th>\n",
-              "      <td>achenbach-2</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1357</td>\n",
-              "      <td>biography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACHENBACH(Henri), administrateur prussien, né ...</td>\n",
-              "      <td>Géographie</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>3</th>\n",
-              "      <td>acireale-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1513</td>\n",
-              "      <td>geography</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACIREALE. Yille de Sicile, de la province et d...</td>\n",
-              "      <td>Géographie</td>\n",
-              "    </tr>\n",
-              "    <tr>\n",
-              "      <th>4</th>\n",
-              "      <td>actée-0</td>\n",
-              "      <td>1</td>\n",
-              "      <td>1731</td>\n",
-              "      <td>botany</td>\n",
-              "      <td>NaN</td>\n",
-              "      <td>ACTÉE(Actœa L.). Genre de plantes de la famill...</td>\n",
-              "      <td>Histoire naturelle</td>\n",
-              "    </tr>\n",
-              "  </tbody>\n",
-              "</table>\n",
-              "</div>"
-            ],
-            "text/plain": [
-              "            id  ...          class_bert\n",
-              "0  abrabeses-0  ...          Géographie\n",
-              "1     accius-0  ...          Géographie\n",
-              "2  achenbach-2  ...          Géographie\n",
-              "3   acireale-0  ...          Géographie\n",
-              "4      actée-0  ...  Histoire naturelle\n",
-              "\n",
-              "[5 rows x 7 columns]"
-            ]
-          },
-          "execution_count": 46,
-          "metadata": {},
-          "output_type": "execute_result"
-        }
-      ],
+      "outputs": [],
       "source": [
         "df_LGE.head()"
       ]
@@ -2983,1380 +2124,1395 @@
       "provenance": []
     },
     "kernelspec": {
-      "display_name": "Python 3",
+      "display_name": "Python 3.9.13 ('geode-classification-py39')",
+      "language": "python",
       "name": "python3"
     },
     "language_info": {
-      "name": "python"
+      "codemirror_mode": {
+        "name": "ipython",
+        "version": 3
+      },
+      "file_extension": ".py",
+      "mimetype": "text/x-python",
+      "name": "python",
+      "nbconvert_exporter": "python",
+      "pygments_lexer": "ipython3",
+      "version": "3.9.13"
+    },
+    "vscode": {
+      "interpreter": {
+        "hash": "16fac9c2d845f8e1f8c6fffffe3d3a0def61c7e42da17a08d00f279ad4dea797"
+      }
     },
     "widgets": {
       "application/vnd.jupyter.widget-state+json": {
-        "274e505b5f354efc8de3ef26cc43e617": {
+        "0279837673b446b09aac18346213eb7e": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HBoxModel",
           "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
           "state": {
-            "_view_name": "HBoxView",
             "_dom_classes": [],
-            "_model_name": "HBoxModel",
-            "_view_module": "@jupyter-widgets/controls",
+            "_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": "",
-            "layout": "IPY_MODEL_f1f9d5b32f60473b86ae6b340d6c0850",
-            "_model_module": "@jupyter-widgets/controls",
             "children": [
-              "IPY_MODEL_ad5e0e1439a94578a31b80c90dbf3247",
-              "IPY_MODEL_0779c8ea0ed24e64a800ae5dff6bc8ce",
-              "IPY_MODEL_7870340ac12b469c8ac19de3a47b6e67"
-            ]
-          }
-        },
-        "f1f9d5b32f60473b86ae6b340d6c0850": {
-          "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
-          "model_module_version": "1.2.0",
-          "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
-            "_model_module_version": "1.2.0",
-            "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": null,
-            "align_items": null,
-            "bottom": null,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": null,
-            "grid_area": null,
-            "grid_template_columns": null,
-            "flex": null,
-            "_model_name": "LayoutModel",
-            "justify_items": null,
-            "grid_row": null,
-            "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
-            "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
-            "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+              "IPY_MODEL_69004a5069094f8c9d59d5136f627bef",
+              "IPY_MODEL_e96a95317b0945c58c8ff0e944c7593e",
+              "IPY_MODEL_68b69c9d3a274900bc2892848f725cb0"
+            ],
+            "layout": "IPY_MODEL_09b5f0bbd5c14bc289b0f92a22bb29ab"
           }
         },
-        "ad5e0e1439a94578a31b80c90dbf3247": {
+        "0779c8ea0ed24e64a800ae5dff6bc8ce": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
           "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_5f321455342348f49879a9ca8b392077",
             "_dom_classes": [],
-            "description": "",
-            "_model_name": "HTMLModel",
-            "placeholder": "​",
-            "_view_module": "@jupyter-widgets/controls",
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": "Downloading: 100%",
+            "_model_name": "FloatProgressModel",
             "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
             "_view_module_version": "1.5.0",
-            "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_9420a47a2bf44ead8cff283f20566cda"
-          }
-        },
-        "0779c8ea0ed24e64a800ae5dff6bc8ce": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "FloatProgressModel",
-          "model_module_version": "1.5.0",
-          "state": {
             "_view_name": "ProgressView",
-            "style": "IPY_MODEL_99b785ea53744868b8b11e5e94936fcc",
-            "_dom_classes": [],
-            "description": "",
-            "_model_name": "FloatProgressModel",
             "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_8d24b669a39b4876ac0a014dff678db1",
             "max": 810912,
-            "_view_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "value": 810912,
-            "_view_count": null,
-            "_view_module_version": "1.5.0",
-            "orientation": "horizontal",
             "min": 0,
-            "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_8d24b669a39b4876ac0a014dff678db1"
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_99b785ea53744868b8b11e5e94936fcc",
+            "value": 810912
           }
         },
-        "7870340ac12b469c8ac19de3a47b6e67": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
-          "model_module_version": "1.5.0",
+        "09b5f0bbd5c14bc289b0f92a22bb29ab": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_2cf386a8d14d43389374f79bfa922675",
-            "_dom_classes": [],
-            "description": "",
-            "_model_name": "HTMLModel",
-            "placeholder": "​",
-            "_view_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "value": " 811k/811k [00:00&lt;00:00, 2.75MB/s]",
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "_view_module_version": "1.5.0",
-            "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_2c44d9c11e704b70aa32904a23d1790c"
-          }
-        },
-        "5f321455342348f49879a9ca8b392077": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
-          "model_module_version": "1.5.0",
-          "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
             "_view_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.5.0",
-            "_view_count": null,
             "_view_module_version": "1.2.0",
-            "_model_module": "@jupyter-widgets/controls"
+            "_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
           }
         },
-        "9420a47a2bf44ead8cff283f20566cda": {
+        "12afa6b6474b401f9ff3f189cc0d3d11": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "99b785ea53744868b8b11e5e94936fcc": {
+        "152a31110bf9477989833eac91794688": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "ProgressStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "ProgressStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
             "_view_count": null,
-            "_view_module_version": "1.2.0",
-            "bar_color": null,
-            "_model_module": "@jupyter-widgets/controls"
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_826bd7d0a1f146ea9f7d53584468190c",
+            "max": 445032417,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_e86a1d4d268c4314897b58f7bba5ec25",
+            "value": 445032417
           }
         },
-        "8d24b669a39b4876ac0a014dff678db1": {
-          "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
-          "model_module_version": "1.2.0",
+        "1bf6a76237454349aafc1e9284376879": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
-            "_model_module_version": "1.2.0",
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": null,
-            "align_items": null,
-            "bottom": null,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": null,
-            "grid_area": null,
-            "grid_template_columns": null,
-            "flex": null,
-            "_model_name": "LayoutModel",
-            "justify_items": null,
-            "grid_row": null,
-            "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
-            "max_width": null,
-            "order": null,
+            "_view_module": "@jupyter-widgets/base",
             "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
-            "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "_view_name": "StyleView",
+            "description_width": ""
           }
         },
-        "2cf386a8d14d43389374f79bfa922675": {
+        "274e505b5f354efc8de3ef26cc43e617": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
             "_view_count": null,
-            "_view_module_version": "1.2.0",
-            "_model_module": "@jupyter-widgets/controls"
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_ad5e0e1439a94578a31b80c90dbf3247",
+              "IPY_MODEL_0779c8ea0ed24e64a800ae5dff6bc8ce",
+              "IPY_MODEL_7870340ac12b469c8ac19de3a47b6e67"
+            ],
+            "layout": "IPY_MODEL_f1f9d5b32f60473b86ae6b340d6c0850"
           }
         },
         "2c44d9c11e704b70aa32904a23d1790c": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": null,
-            "grid_area": null,
-            "grid_template_columns": null,
+            "display": null,
             "flex": null,
-            "_model_name": "LayoutModel",
-            "justify_items": null,
-            "grid_row": null,
-            "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
             "grid_auto_rows": null,
+            "grid_column": null,
             "grid_gap": null,
-            "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
+            "grid_row": null,
             "grid_template_areas": null,
-            "object_position": null,
-            "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
-          }
-        },
-        "0279837673b446b09aac18346213eb7e": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "HBoxModel",
-          "model_module_version": "1.5.0",
-          "state": {
-            "_view_name": "HBoxView",
-            "_dom_classes": [],
-            "_model_name": "HBoxModel",
-            "_view_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_view_count": null,
-            "_view_module_version": "1.5.0",
-            "box_style": "",
-            "layout": "IPY_MODEL_09b5f0bbd5c14bc289b0f92a22bb29ab",
-            "_model_module": "@jupyter-widgets/controls",
-            "children": [
-              "IPY_MODEL_69004a5069094f8c9d59d5136f627bef",
-              "IPY_MODEL_e96a95317b0945c58c8ff0e944c7593e",
-              "IPY_MODEL_68b69c9d3a274900bc2892848f725cb0"
-            ]
-          }
-        },
-        "09b5f0bbd5c14bc289b0f92a22bb29ab": {
-          "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
-          "model_module_version": "1.2.0",
-          "state": {
-            "_view_name": "LayoutView",
+            "grid_template_columns": null,
             "grid_template_rows": null,
-            "right": null,
+            "height": null,
             "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
-            "_model_module_version": "1.2.0",
-            "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": null,
-            "align_items": null,
-            "bottom": null,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": null,
-            "grid_area": null,
-            "grid_template_columns": null,
-            "flex": null,
-            "_model_name": "LayoutModel",
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "69004a5069094f8c9d59d5136f627bef": {
+        "2cf386a8d14d43389374f79bfa922675": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
           "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_76007b17ffd2478fa4a86f959d4f1766",
-            "_dom_classes": [],
-            "description": "",
-            "_model_name": "HTMLModel",
-            "placeholder": "​",
-            "_view_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "value": "Downloading: 100%",
-            "_view_count": null,
-            "_view_module_version": "1.5.0",
-            "description_tooltip": null,
             "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_cb447c62ce1d4c1ea760175ae619fbb9"
-          }
-        },
-        "e96a95317b0945c58c8ff0e944c7593e": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "FloatProgressModel",
-          "model_module_version": "1.5.0",
-          "state": {
-            "_view_name": "ProgressView",
-            "style": "IPY_MODEL_d4ad1a78750d49feaea584a82940bb7d",
-            "_dom_classes": [],
-            "description": "",
-            "_model_name": "FloatProgressModel",
-            "bar_style": "success",
-            "max": 1395301,
-            "_view_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": 1395301,
+            "_model_name": "DescriptionStyleModel",
             "_view_count": null,
-            "_view_module_version": "1.5.0",
-            "orientation": "horizontal",
-            "min": 0,
-            "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_a9c47cb226ee41e18812f29f690992eb"
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
           }
         },
-        "68b69c9d3a274900bc2892848f725cb0": {
+        "2d1d632da0f740c38512c9ad779d3173": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
           "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_c4c1675163bd4997bb44d7ea3967a356",
-            "_dom_classes": [],
-            "description": "",
-            "_model_name": "HTMLModel",
-            "placeholder": "​",
-            "_view_module": "@jupyter-widgets/controls",
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": " 1.40M/1.40M [00:00&lt;00:00, 6.57MB/s]",
+            "_model_name": "DescriptionStyleModel",
             "_view_count": null,
-            "_view_module_version": "1.5.0",
-            "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_5032547e748f45a3b0cdd12fafe1dd05"
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
           }
         },
-        "76007b17ffd2478fa4a86f959d4f1766": {
+        "3592b1ed1d6d452b93c57b304943a1cb": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_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",
-            "_model_module": "@jupyter-widgets/controls"
+            "_view_name": "StyleView",
+            "description_width": ""
           }
         },
-        "cb447c62ce1d4c1ea760175ae619fbb9": {
+        "4a23110523184d019a77368116f738f3": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "d4ad1a78750d49feaea584a82940bb7d": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "ProgressStyleModel",
-          "model_module_version": "1.5.0",
-          "state": {
-            "_view_name": "StyleView",
-            "_model_name": "ProgressStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.5.0",
-            "_view_count": null,
-            "_view_module_version": "1.2.0",
-            "bar_color": null,
-            "_model_module": "@jupyter-widgets/controls"
-          }
-        },
-        "a9c47cb226ee41e18812f29f690992eb": {
+        "500826e3813b414a820aa260bfde9e23": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
-          }
-        },
-        "c4c1675163bd4997bb44d7ea3967a356": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
-          "model_module_version": "1.5.0",
-          "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.5.0",
-            "_view_count": null,
-            "_view_module_version": "1.2.0",
-            "_model_module": "@jupyter-widgets/controls"
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
         "5032547e748f45a3b0cdd12fafe1dd05": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "8f467553598f4dcc9abf55da79c11018": {
+        "58b4f9e0366f4d4eba7f902af84b8965": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HBoxModel",
           "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
           "state": {
-            "_view_name": "HBoxView",
             "_dom_classes": [],
-            "_model_name": "HBoxModel",
-            "_view_module": "@jupyter-widgets/controls",
+            "_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",
-            "box_style": "",
-            "layout": "IPY_MODEL_9d7a8b3ecfe74f66b4238fe085c05906",
-            "_model_module": "@jupyter-widgets/controls",
-            "children": [
-              "IPY_MODEL_58b4f9e0366f4d4eba7f902af84b8965",
-              "IPY_MODEL_9383e09698ae4bd1820a4bca22e78315",
-              "IPY_MODEL_a189838c4de648198b0f4fc99c29ced8"
-            ]
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_12afa6b6474b401f9ff3f189cc0d3d11",
+            "placeholder": "​",
+            "style": "IPY_MODEL_c4d981755d1d42b6940396b77bc251bc",
+            "value": "Downloading: 100%"
           }
         },
-        "9d7a8b3ecfe74f66b4238fe085c05906": {
-          "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
-          "model_module_version": "1.2.0",
+        "5978954f56fb40928b970f32d1634aaf": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "ProgressStyleModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
             "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
-            "_model_module_version": "1.2.0",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "5f321455342348f49879a9ca8b392077": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": null,
-            "align_items": null,
-            "bottom": null,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": null,
-            "grid_area": null,
-            "grid_template_columns": null,
-            "flex": null,
-            "_model_name": "LayoutModel",
-            "justify_items": null,
-            "grid_row": null,
-            "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
-            "max_width": null,
-            "order": null,
+            "_view_module": "@jupyter-widgets/base",
             "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
-            "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "_view_name": "StyleView",
+            "description_width": ""
           }
         },
-        "58b4f9e0366f4d4eba7f902af84b8965": {
+        "68b69c9d3a274900bc2892848f725cb0": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
           "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_c4d981755d1d42b6940396b77bc251bc",
             "_dom_classes": [],
-            "description": "",
+            "_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_5032547e748f45a3b0cdd12fafe1dd05",
             "placeholder": "​",
+            "style": "IPY_MODEL_c4c1675163bd4997bb44d7ea3967a356",
+            "value": " 1.40M/1.40M [00:00&lt;00:00, 6.57MB/s]"
+          }
+        },
+        "69004a5069094f8c9d59d5136f627bef": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
             "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_cb447c62ce1d4c1ea760175ae619fbb9",
+            "placeholder": "​",
+            "style": "IPY_MODEL_76007b17ffd2478fa4a86f959d4f1766",
+            "value": "Downloading: 100%"
+          }
+        },
+        "70dd7428d78c44409308d62ba04917de": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": "Downloading: 100%",
+            "_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_4a23110523184d019a77368116f738f3",
+            "placeholder": "​",
+            "style": "IPY_MODEL_1bf6a76237454349aafc1e9284376879",
+            "value": "Downloading: 100%"
+          }
+        },
+        "76007b17ffd2478fa4a86f959d4f1766": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
             "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_12afa6b6474b401f9ff3f189cc0d3d11"
+            "_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": ""
           }
         },
-        "9383e09698ae4bd1820a4bca22e78315": {
+        "7870340ac12b469c8ac19de3a47b6e67": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "FloatProgressModel",
           "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
           "state": {
-            "_view_name": "ProgressView",
-            "style": "IPY_MODEL_5978954f56fb40928b970f32d1634aaf",
             "_dom_classes": [],
-            "description": "",
-            "_model_name": "FloatProgressModel",
-            "bar_style": "success",
-            "max": 508,
-            "_view_module": "@jupyter-widgets/controls",
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": 508,
+            "_model_name": "HTMLModel",
             "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
             "_view_module_version": "1.5.0",
-            "orientation": "horizontal",
-            "min": 0,
+            "_view_name": "HTMLView",
+            "description": "",
             "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_fe0e3b1df104484c98fbdcd31a04e427"
+            "layout": "IPY_MODEL_2c44d9c11e704b70aa32904a23d1790c",
+            "placeholder": "​",
+            "style": "IPY_MODEL_2cf386a8d14d43389374f79bfa922675",
+            "value": " 811k/811k [00:00&lt;00:00, 2.75MB/s]"
+          }
+        },
+        "826bd7d0a1f146ea9f7d53584468190c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "8d24b669a39b4876ac0a014dff678db1": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "a189838c4de648198b0f4fc99c29ced8": {
+        "8f467553598f4dcc9abf55da79c11018": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
           "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_2d1d632da0f740c38512c9ad779d3173",
             "_dom_classes": [],
-            "description": "",
-            "_model_name": "HTMLModel",
-            "placeholder": "​",
-            "_view_module": "@jupyter-widgets/controls",
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": " 508/508 [00:00&lt;00:00, 16.9kB/s]",
+            "_model_name": "HBoxModel",
             "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
             "_view_module_version": "1.5.0",
-            "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_df95c20399dd4918bc7559a90886d4aa"
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_58b4f9e0366f4d4eba7f902af84b8965",
+              "IPY_MODEL_9383e09698ae4bd1820a4bca22e78315",
+              "IPY_MODEL_a189838c4de648198b0f4fc99c29ced8"
+            ],
+            "layout": "IPY_MODEL_9d7a8b3ecfe74f66b4238fe085c05906"
           }
         },
-        "c4d981755d1d42b6940396b77bc251bc": {
+        "9383e09698ae4bd1820a4bca22e78315": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
             "_view_count": null,
-            "_view_module_version": "1.2.0",
-            "_model_module": "@jupyter-widgets/controls"
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_fe0e3b1df104484c98fbdcd31a04e427",
+            "max": 508,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_5978954f56fb40928b970f32d1634aaf",
+            "value": 508
           }
         },
-        "12afa6b6474b401f9ff3f189cc0d3d11": {
+        "9420a47a2bf44ead8cff283f20566cda": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "5978954f56fb40928b970f32d1634aaf": {
+        "99b785ea53744868b8b11e5e94936fcc": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "ProgressStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "ProgressStyleModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "ProgressStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_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,
-            "_model_module": "@jupyter-widgets/controls"
+            "description_width": ""
           }
         },
-        "fe0e3b1df104484c98fbdcd31a04e427": {
+        "9d7a8b3ecfe74f66b4238fe085c05906": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
-          }
-        },
-        "2d1d632da0f740c38512c9ad779d3173": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
-          "model_module_version": "1.5.0",
-          "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.5.0",
-            "_view_count": null,
-            "_view_module_version": "1.2.0",
-            "_model_module": "@jupyter-widgets/controls"
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "df95c20399dd4918bc7559a90886d4aa": {
+        "a159d62667734657a49ba3a96494f137": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": null,
-            "grid_area": null,
-            "grid_template_columns": null,
+            "display": null,
             "flex": null,
-            "_model_name": "LayoutModel",
-            "justify_items": null,
-            "grid_row": null,
-            "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
             "grid_auto_rows": null,
-            "grid_gap": null,
-            "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
             "grid_template_areas": null,
-            "object_position": null,
-            "object_fit": null,
-            "grid_auto_columns": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
             "margin": null,
-            "display": null,
-            "left": 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
           }
         },
-        "d09d664839d04303b8fef9ef895f6e4f": {
+        "a189838c4de648198b0f4fc99c29ced8": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HBoxModel",
           "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
           "state": {
-            "_view_name": "HBoxView",
             "_dom_classes": [],
-            "_model_name": "HBoxModel",
-            "_view_module": "@jupyter-widgets/controls",
+            "_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",
-            "box_style": "",
-            "layout": "IPY_MODEL_500826e3813b414a820aa260bfde9e23",
-            "_model_module": "@jupyter-widgets/controls",
-            "children": [
-              "IPY_MODEL_70dd7428d78c44409308d62ba04917de",
-              "IPY_MODEL_152a31110bf9477989833eac91794688",
-              "IPY_MODEL_fcde5f4cf49846a0ad1b284aad98a38a"
-            ]
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_df95c20399dd4918bc7559a90886d4aa",
+            "placeholder": "​",
+            "style": "IPY_MODEL_2d1d632da0f740c38512c9ad779d3173",
+            "value": " 508/508 [00:00&lt;00:00, 16.9kB/s]"
           }
         },
-        "500826e3813b414a820aa260bfde9e23": {
+        "a9c47cb226ee41e18812f29f690992eb": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "70dd7428d78c44409308d62ba04917de": {
+        "ad5e0e1439a94578a31b80c90dbf3247": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
           "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_1bf6a76237454349aafc1e9284376879",
             "_dom_classes": [],
-            "description": "",
-            "_model_name": "HTMLModel",
-            "placeholder": "​",
-            "_view_module": "@jupyter-widgets/controls",
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": "Downloading: 100%",
+            "_model_name": "HTMLModel",
             "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
             "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
             "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_4a23110523184d019a77368116f738f3"
+            "layout": "IPY_MODEL_9420a47a2bf44ead8cff283f20566cda",
+            "placeholder": "​",
+            "style": "IPY_MODEL_5f321455342348f49879a9ca8b392077",
+            "value": "Downloading: 100%"
           }
         },
-        "152a31110bf9477989833eac91794688": {
+        "c4c1675163bd4997bb44d7ea3967a356": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "FloatProgressModel",
           "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
           "state": {
-            "_view_name": "ProgressView",
-            "style": "IPY_MODEL_e86a1d4d268c4314897b58f7bba5ec25",
-            "_dom_classes": [],
-            "description": "",
-            "_model_name": "FloatProgressModel",
-            "bar_style": "success",
-            "max": 445032417,
-            "_view_module": "@jupyter-widgets/controls",
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": 445032417,
+            "_model_name": "DescriptionStyleModel",
             "_view_count": null,
-            "_view_module_version": "1.5.0",
-            "orientation": "horizontal",
-            "min": 0,
-            "description_tooltip": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "c4d981755d1d42b6940396b77bc251bc": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
             "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_826bd7d0a1f146ea9f7d53584468190c"
+            "_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": ""
           }
         },
-        "fcde5f4cf49846a0ad1b284aad98a38a": {
+        "cb447c62ce1d4c1ea760175ae619fbb9": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "d09d664839d04303b8fef9ef895f6e4f": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "HTMLModel",
           "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
           "state": {
-            "_view_name": "HTMLView",
-            "style": "IPY_MODEL_3592b1ed1d6d452b93c57b304943a1cb",
             "_dom_classes": [],
-            "description": "",
-            "_model_name": "HTMLModel",
-            "placeholder": "​",
-            "_view_module": "@jupyter-widgets/controls",
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
-            "value": " 445M/445M [00:14&lt;00:00, 39.2MB/s]",
+            "_model_name": "HBoxModel",
             "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
             "_view_module_version": "1.5.0",
-            "description_tooltip": null,
-            "_model_module": "@jupyter-widgets/controls",
-            "layout": "IPY_MODEL_a159d62667734657a49ba3a96494f137"
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_70dd7428d78c44409308d62ba04917de",
+              "IPY_MODEL_152a31110bf9477989833eac91794688",
+              "IPY_MODEL_fcde5f4cf49846a0ad1b284aad98a38a"
+            ],
+            "layout": "IPY_MODEL_500826e3813b414a820aa260bfde9e23"
           }
         },
-        "1bf6a76237454349aafc1e9284376879": {
+        "d4ad1a78750d49feaea584a82940bb7d": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "ProgressStyleModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_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",
-            "_model_module": "@jupyter-widgets/controls"
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
           }
         },
-        "4a23110523184d019a77368116f738f3": {
+        "df95c20399dd4918bc7559a90886d4aa": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
         "e86a1d4d268c4314897b58f7bba5ec25": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "ProgressStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "ProgressStyleModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "ProgressStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_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,
-            "_model_module": "@jupyter-widgets/controls"
+            "description_width": ""
           }
         },
-        "826bd7d0a1f146ea9f7d53584468190c": {
+        "e96a95317b0945c58c8ff0e944c7593e": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_a9c47cb226ee41e18812f29f690992eb",
+            "max": 1395301,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_d4ad1a78750d49feaea584a82940bb7d",
+            "value": 1395301
+          }
+        },
+        "f1f9d5b32f60473b86ae6b340d6c0850": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         },
-        "3592b1ed1d6d452b93c57b304943a1cb": {
+        "fcde5f4cf49846a0ad1b284aad98a38a": {
           "model_module": "@jupyter-widgets/controls",
-          "model_name": "DescriptionStyleModel",
           "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
           "state": {
-            "_view_name": "StyleView",
-            "_model_name": "DescriptionStyleModel",
-            "description_width": "",
-            "_view_module": "@jupyter-widgets/base",
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
             "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
             "_view_count": null,
-            "_view_module_version": "1.2.0",
-            "_model_module": "@jupyter-widgets/controls"
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_a159d62667734657a49ba3a96494f137",
+            "placeholder": "​",
+            "style": "IPY_MODEL_3592b1ed1d6d452b93c57b304943a1cb",
+            "value": " 445M/445M [00:14&lt;00:00, 39.2MB/s]"
           }
         },
-        "a159d62667734657a49ba3a96494f137": {
+        "fe0e3b1df104484c98fbdcd31a04e427": {
           "model_module": "@jupyter-widgets/base",
-          "model_name": "LayoutModel",
           "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
           "state": {
-            "_view_name": "LayoutView",
-            "grid_template_rows": null,
-            "right": null,
-            "justify_content": null,
-            "_view_module": "@jupyter-widgets/base",
-            "overflow": null,
+            "_model_module": "@jupyter-widgets/base",
             "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
             "_view_count": null,
-            "flex_flow": null,
-            "width": null,
-            "min_width": null,
-            "border": 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,
-            "_model_module": "@jupyter-widgets/base",
-            "top": null,
-            "grid_column": null,
-            "overflow_y": null,
-            "overflow_x": null,
-            "grid_auto_flow": 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,
-            "flex": null,
-            "_model_name": "LayoutModel",
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
             "justify_items": null,
-            "grid_row": null,
+            "left": null,
+            "margin": null,
             "max_height": null,
-            "align_content": null,
-            "visibility": null,
-            "align_self": null,
-            "height": null,
-            "min_height": null,
-            "padding": null,
-            "grid_auto_rows": null,
-            "grid_gap": null,
             "max_width": null,
-            "order": null,
-            "_view_module_version": "1.2.0",
-            "grid_template_areas": null,
-            "object_position": null,
+            "min_height": null,
+            "min_width": null,
             "object_fit": null,
-            "grid_auto_columns": null,
-            "margin": null,
-            "display": null,
-            "left": null
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
           }
         }
       }
@@ -4364,4 +3520,4 @@
   },
   "nbformat": 4,
   "nbformat_minor": 0
-}
\ No newline at end of file
+}