{ "cells": [ { "cell_type": "markdown", "source": [ "The aim of the project is to fine tune a large language model for HDL(hardware description language) generation and summarization" ], "metadata": { "id": "yzOnBSVES2Fl" } }, { "cell_type": "markdown", "metadata": { "id": "BsgIbw6URsyF" }, "source": [ "###Data Pre-Processing" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "JAVLpx9l1eqA", "outputId": "f81c433a-9aef-4a0d-9040-ef57b4e94146" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n" ] } ], "source": [ "import pandas as pd\n", "import pyarrow.parquet as pq\n", "import torch\n", "from google.colab import drive\n", "drive.mount('/content/drive')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ru2p0AJp2Eeu" }, "outputs": [], "source": [ "dataset_path = '/content/drive/MyDrive/ai-hdlcoder-dataset-part000000000000.parquet'\n", "\n", "df = pq.read_table(source = dataset_path).to_pandas()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "pnvKK3sm2EdH", "outputId": "c97a4f22-7bfc-43ab-8771-c1e63388beb9" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " <div id=\"df-f93068bc-b424-48d0-83ae-2fcf38430c54\">\n", " <div class=\"colab-df-container\">\n", " <div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>repo_name</th>\n", " <th>path</th>\n", " <th>copies</th>\n", " <th>size</th>\n", " <th>content</th>\n", " <th>license</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>malkadi/FGPU</td>\n", " <td>RTL/floating_point/fmul.vhd</td>\n", " <td>1</td>\n", " <td>10488</td>\n", " <td>-- (c) Copyright 1995-2016 Xilinx, Inc. All ri...</td>\n", " <td>gpl-3.0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>malkadi/FGPU</td>\n", " <td>bitstreams/settings_and_utilization/V2_4CUs_fl...</td>\n", " <td>1</td>\n", " <td>23540</td>\n", " <td>-- libraries ---------------------------------...</td>\n", " <td>gpl-3.0</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>Kinxil/VHDL_Projects</td>\n", " <td>Mandelbrot/cpt_iter.vhd</td>\n", " <td>1</td>\n", " <td>884</td>\n", " <td>\\nlibrary IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\...</td>\n", " <td>gpl-3.0</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>malkadi/FGPU</td>\n", " <td>bitstreams/settings_and_utilization/V2_8CUs_fa...</td>\n", " <td>1</td>\n", " <td>24067</td>\n", " <td>-- libraries ---------------------------------...</td>\n", " <td>gpl-3.0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>malkadi/FGPU</td>\n", " <td>RTL/CU_instruction_dispatcher.vhd</td>\n", " <td>1</td>\n", " <td>10173</td>\n", " <td>-- libraries ---------------------------------...</td>\n", " <td>gpl-3.0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>\n", " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-f93068bc-b424-48d0-83ae-2fcf38430c54')\"\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", "\n", "\n", " <div id=\"df-0f2d1be8-1fd7-4798-8f5d-cd888e99350c\">\n", " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-0f2d1be8-1fd7-4798-8f5d-cd888e99350c')\"\n", " title=\"Suggest charts.\"\n", " style=\"display:none;\">\n", "\n", "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", " width=\"24px\">\n", " <g>\n", " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", " </g>\n", "</svg>\n", " </button>\n", " </div>\n", "\n", "<style>\n", " .colab-df-quickchart {\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-quickchart: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-quickchart {\n", " background-color: #3B4455;\n", " fill: #D2E3FC;\n", " }\n", "\n", " [theme=dark] .colab-df-quickchart:hover {\n", " background-color: #434B5C;\n", " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", " fill: #FFFFFF;\n", " }\n", "</style>\n", "\n", " <script>\n", " async function quickchart(key) {\n", " const containerElement = document.querySelector('#' + key);\n", " const charts = await google.colab.kernel.invokeFunction(\n", " 'suggestCharts', [key], {});\n", " }\n", " </script>\n", "\n", " <script>\n", "\n", "function displayQuickchartButton(domScope) {\n", " let quickchartButtonEl =\n", " domScope.querySelector('#df-0f2d1be8-1fd7-4798-8f5d-cd888e99350c button.colab-df-quickchart');\n", " quickchartButtonEl.style.display =\n", " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", "}\n", "\n", " displayQuickchartButton(document);\n", " </script>\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", "\n", " <script>\n", " const buttonEl =\n", " document.querySelector('#df-f93068bc-b424-48d0-83ae-2fcf38430c54 button.colab-df-convert');\n", " buttonEl.style.display =\n", " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", "\n", " async function convertToInteractive(key) {\n", " const element = document.querySelector('#df-f93068bc-b424-48d0-83ae-2fcf38430c54');\n", " const dataTable =\n", " await google.colab.kernel.invokeFunction('convertToInteractive',\n", " [key], {});\n", " if (!dataTable) return;\n", "\n", " const docLinkHtml = 'Like what you see? Visit the ' +\n", " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", " + ' to learn more about interactive tables.';\n", " element.innerHTML = '';\n", " dataTable['output_type'] = 'display_data';\n", " await google.colab.output.renderOutput(dataTable, element);\n", " const docLink = document.createElement('div');\n", " docLink.innerHTML = docLinkHtml;\n", " element.appendChild(docLink);\n", " }\n", " </script>\n", " </div>\n", " </div>\n" ], "text/plain": [ " repo_name path \\\n", "0 malkadi/FGPU RTL/floating_point/fmul.vhd \n", "1 malkadi/FGPU bitstreams/settings_and_utilization/V2_4CUs_fl... \n", "2 Kinxil/VHDL_Projects Mandelbrot/cpt_iter.vhd \n", "3 malkadi/FGPU bitstreams/settings_and_utilization/V2_8CUs_fa... \n", "4 malkadi/FGPU RTL/CU_instruction_dispatcher.vhd \n", "\n", " copies size content license \n", "0 1 10488 -- (c) Copyright 1995-2016 Xilinx, Inc. All ri... gpl-3.0 \n", "1 1 23540 -- libraries ---------------------------------... gpl-3.0 \n", "2 1 884 \\nlibrary IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\... gpl-3.0 \n", "3 1 24067 -- libraries ---------------------------------... gpl-3.0 \n", "4 1 10173 -- libraries ---------------------------------... gpl-3.0 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "source": [ "This is the dataset that we shall use to fine tune. The dataset contains VHDL codes scrapped from github. These code files will help the model learn the grammer of the VHDL language, nut in order for it to be able to genarate or summarize VHDL code, we have to include code summary and peoblem statements using which a compenent hardware designer would write the same HDL code. We shall take help from GPT-3.5 to do that!" ], "metadata": { "id": "SJ_8M9dIUu32" } }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "LsYGfifqAr2e", "outputId": "35159150-c8d4-413c-f306-f847483d6f41" }, "outputs": [ { "data": { "text/plain": [ "53667" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(df)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "WebnUJDl2EZX" }, "outputs": [], "source": [ "content = []\n", "start = ['LIBRARY IEEE', 'Library IEEE','Library Ieee', 'library ieee', 'library Ieee', 'library IEEE']\n", "for i,string in enumerate(df['content']):\n", " print(i)\n", " content.append(string)\n", " for j in range(len(str(string))):\n", " if str(string)[j:j+12] in start:\n", " content.pop()\n", " content.append(string[j:])\n", " break\n", "df['trimmed'] = content" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "jmCu6QlSCQyP" }, "outputs": [], "source": [ "for i,string in enumerate(df['content']):\n", " for j in range(len(str(string))):\n", " if str(string)[j:j+12] in start:\n", " df['trimmed'][0] = string[j:]\n", " break\n", " if i==1:\n", " break" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Q-sHv1qUKY6q" }, "outputs": [], "source": [ "df.to_csv('/content/drive/MyDrive/LLM_project/initial_df.csv')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "oKnoZRB5CQwh" }, "outputs": [], "source": [ "chars = []\n", "words = []\n", "for i,string in enumerate(df['trimmed']):\n", " a = str(string).split()\n", " words.append(len(a))\n", "\n", "for num in df['size']:\n", " chars.append(int(str(num)))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 465 }, "id": "e3TwqZ8sGSGU", "outputId": "ad57d47e-b78f-40fc-f43e-a3c1f9420553" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.10460829358480879\n", "0.0013090163279222086\n" ] }, { "data": { "image/png": "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j4eXl5fuFhQUZPZrE1nLrzZcl6m8SosbpZyzh4isZ8D8bbK+viKGNY8ePRpPPPEE+vbti8jISGzevBn5+fn49ttvDZaPjY1FQUGB7nbpUv2ZQYnk9se5HLmrQETkMEQNa/b19YWzszOysrL07s/KymqwQ61Y3t7e6N69O9LSDA/9dXV1bbA/DBERETkWUS0sLi4uCAsLQ2LinWmctVotEhMTERERIVmliouLceHCBbRr106ybRIREZH9Ej1xXExMDCZPnoyBAwdi0KBBWLp0KUpKShAdHQ0AmDRpEgIDAxEfHw+guqPuqVOndP+/cuUKjhw5gpYtW6Jr164AgFdeeQUPP/wwOnbsiKtXryIuLg7Ozs6YOHGiVO+TiIiI7JjowDJ+/Hjk5ORgzpw50Gg0CA0NRUJCgq4jbmZmJpyc7jTcXL16Ff3799f9vHjxYixevBjDhw9HUlISAODy5cuYOHEi8vLy0KZNGwwZMgT79u1DmzZtLHx7RERE5AhUgtyrGUmgsLAQXl5eKCgogKenp6TbDp61SdLtERER2auMBWMk3Z6Y729FjBIiIiIiaggDCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKZ5ZgWX58uUIDg6Gm5sbwsPDsX//fqNlT548icceewzBwcFQqVRYunSpxdskIiKipkV0YFm/fj1iYmIQFxeHQ4cOoV+/foiMjER2drbB8qWlpejcuTMWLFgAf39/SbZJRERETYvowLJkyRJMmTIF0dHR6NmzJ1auXAkPDw+sWrXKYPl77rkHixYtwoQJE+Dq6irJNomIiKhpERVYysvLkZqaCrVafWcDTk5Qq9VITk42qwLmbLOsrAyFhYV6NyIiInJcogJLbm4uqqqq4Ofnp3e/n58fNBqNWRUwZ5vx8fHw8vLS3YKCgsx6bSIiIrIPdjlKKDY2FgUFBbrbpUuX5K4SERERWVEzMYV9fX3h7OyMrKwsvfuzsrKMdqi1xjZdXV2N9ochIiIixyOqhcXFxQVhYWFITEzU3afVapGYmIiIiAizKmCNbRIREZFjEdXCAgAxMTGYPHkyBg4ciEGDBmHp0qUoKSlBdHQ0AGDSpEkIDAxEfHw8gOpOtadOndL9/8qVKzhy5AhatmyJrl27mrRNIiIiatpEB5bx48cjJycHc+bMgUajQWhoKBISEnSdZjMzM+HkdKfh5urVq+jfv7/u58WLF2Px4sUYPnw4kpKSTNomERERNW0qQRAEuSthqcLCQnh5eaGgoACenp6Sbjt41iZJt0dERGSvMhaMkXR7Yr6/7XKUEBERETUtDCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREREpHgMLERERKR4DCxERESkeAwsREQS6hPoJXcViBwSAwsRkYRUKrlrQOSYGFiIiIhI8RhYiIiISPEYWIiIiEjxzAosy5cvR3BwMNzc3BAeHo79+/c3WP67775DSEgI3Nzc0KdPH2zevFnv8aeffhoqlUrvFhUVZU7ViIhkt+vV++WuApHDER1Y1q9fj5iYGMTFxeHQoUPo168fIiMjkZ2dbbD83r17MXHiRDz77LM4fPgwxo0bh3HjxuHEiRN65aKionDt2jXdbe3atea9IyIiGQkC4O3RXO5qEDkc0YFlyZIlmDJlCqKjo9GzZ0+sXLkSHh4eWLVqlcHyH3zwAaKiojBz5kzcfffdmD9/PgYMGICPPvpIr5yrqyv8/f11Nx8fH/PeERERETkcUYGlvLwcqampUKvVdzbg5AS1Wo3k5GSDz0lOTtYrDwCRkZH1yiclJaFt27bo0aMHpk6diry8PKP1KCsrQ2Fhod6NqLa3HumFP2ayWZ5sj8OaiaxDVGDJzc1FVVUV/Pz89O738/ODRqMx+ByNRtNo+aioKHz55ZdITEzEu+++i507d2L06NGoqqoy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\n", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "plt.plot(range(len(df)), np.array(words)/np.array(chars))\n", "print(np.mean(np.array(words)/np.array(chars)))\n", "print(np.var(np.array(words)/np.array(chars)))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "IcNOt7W6IkfR", "outputId": "a8c5395f-db8f-44cb-afa6-38dd21112161" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7664 5636 8189 0\n" ] } ], "source": [ "count_5000 = 0\n", "count_10000 = 0\n", "count_2000 = 0\n", "count_1000 = 0\n", "for string in df['trimmed']:\n", " if len(str(string)) <= 1000 and str(string)[:12] in start:\n", " count_1000 += 1\n", " elif len(str(string)) <= 2000 and str(string)[:12] in start:\n", " count_2000 += 1\n", " elif len(str(string)) <= 5000 and str(string)[:12] in start:\n", " count_5000 += 1\n", " elif len(str(string)) <= 1000 and str(string)[:12] in start:\n", " count_10000 += 1\n", "print(count_1000, count_2000, count_5000, count_10000)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "8Tzlc2sVIkdx" }, "outputs": [], "source": [ "#trimming comments and other details from the beginning of the code\n", "df_1000 = pd.DataFrame(columns = df.columns)\n", "start = ['LIBRARY IEEE', 'Library IEEE','Library Ieee', 'library ieee', 'library Ieee', 'library IEEE']\n", "for i,string in enumerate(df['trimmed']):\n", " if len(str(string)) <= 1000 and str(string)[:12] in start:\n", " df_1000.loc[len(df_1000.index)] = list(df.iloc[i])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 354 }, "id": "0rDBozKEOeZu", "outputId": "76598e10-5792-4c44-ea47-df605c8cf1f2" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " <div id=\"df-dfcacbfa-0025-4bec-b2ca-b73e991d5db4\">\n", " <div class=\"colab-df-container\">\n", " <div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>repo_name</th>\n", " <th>path</th>\n", " <th>copies</th>\n", " <th>size</th>\n", " <th>content</th>\n", " <th>license</th>\n", " <th>trimmed</th>\n", " <th>gpt-3.5</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>Kinxil/VHDL_Projects</td>\n", " <td>Mandelbrot/cpt_iter.vhd</td>\n", " <td>1</td>\n", " <td>884</td>\n", " <td>\\nlibrary IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\...</td>\n", " <td>gpl-3.0</td>\n", " <td>library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\n\\...</td>\n", " <td>hello</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>joalcava/sparcv8-monocicle</td>\n", " <td>MuxNextRD.vhd</td>\n", " <td>1</td>\n", " <td>444</td>\n", " <td>library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\n\\...</td>\n", " <td>gpl-3.0</td>\n", " <td>library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\n\\...</td>\n", " <td>hello</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>joalcava/sparcv8-monocicle</td>\n", " <td>DM.vhd</td>\n", " <td>1</td>\n", " <td>987</td>\n", " <td>library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nu...</td>\n", " <td>gpl-3.0</td>\n", " <td>library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nu...</td>\n", " <td>hello</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>chrreisinger/OpenVC</td>\n", " <td>document/Masterarbeit/src/math_complex.vhd</td>\n", " <td>1</td>\n", " <td>691</td>\n", " <td>library ieee;\\n\\npackage math_complex is\\n ty...</td>\n", " <td>gpl-3.0</td>\n", " <td>library ieee;\\n\\npackage math_complex is\\n ty...</td>\n", " <td>hello</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>jpidancet/mips</td>\n", " <td>rtl/cpu_fetch.vhd</td>\n", " <td>1</td>\n", " <td>905</td>\n", " <td>library ieee;\\nuse ieee.std_logic_1164.ALL;\\nu...</td>\n", " <td>isc</td>\n", " <td>library ieee;\\nuse ieee.std_logic_1164.ALL;\\nu...</td>\n", " <td>hello</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>\n", " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-dfcacbfa-0025-4bec-b2ca-b73e991d5db4')\"\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", "\n", "\n", " <div id=\"df-4d528312-a889-4cd7-9f11-8fbb9991ed81\">\n", " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-4d528312-a889-4cd7-9f11-8fbb9991ed81')\"\n", " title=\"Suggest charts.\"\n", " style=\"display:none;\">\n", "\n", "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", " width=\"24px\">\n", " <g>\n", " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", " </g>\n", "</svg>\n", " </button>\n", " </div>\n", "\n", "<style>\n", " .colab-df-quickchart {\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-quickchart: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-quickchart {\n", " background-color: #3B4455;\n", " fill: #D2E3FC;\n", " }\n", "\n", " [theme=dark] .colab-df-quickchart:hover {\n", " background-color: #434B5C;\n", " box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", " filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", " fill: #FFFFFF;\n", " }\n", "</style>\n", "\n", " <script>\n", " async function quickchart(key) {\n", " const containerElement = document.querySelector('#' + key);\n", " const charts = await google.colab.kernel.invokeFunction(\n", " 'suggestCharts', [key], {});\n", " }\n", " </script>\n", "\n", " <script>\n", "\n", "function displayQuickchartButton(domScope) {\n", " let quickchartButtonEl =\n", " domScope.querySelector('#df-4d528312-a889-4cd7-9f11-8fbb9991ed81 button.colab-df-quickchart');\n", " quickchartButtonEl.style.display =\n", " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", "}\n", "\n", " displayQuickchartButton(document);\n", " </script>\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", "\n", " <script>\n", " const buttonEl =\n", " document.querySelector('#df-dfcacbfa-0025-4bec-b2ca-b73e991d5db4 button.colab-df-convert');\n", " buttonEl.style.display =\n", " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", "\n", " async function convertToInteractive(key) {\n", " const element = document.querySelector('#df-dfcacbfa-0025-4bec-b2ca-b73e991d5db4');\n", " const dataTable =\n", " await google.colab.kernel.invokeFunction('convertToInteractive',\n", " [key], {});\n", " if (!dataTable) return;\n", "\n", " const docLinkHtml = 'Like what you see? Visit the ' +\n", " '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", " + ' to learn more about interactive tables.';\n", " element.innerHTML = '';\n", " dataTable['output_type'] = 'display_data';\n", " await google.colab.output.renderOutput(dataTable, element);\n", " const docLink = document.createElement('div');\n", " docLink.innerHTML = docLinkHtml;\n", " element.appendChild(docLink);\n", " }\n", " </script>\n", " </div>\n", " </div>\n" ], "text/plain": [ " repo_name path \\\n", "0 Kinxil/VHDL_Projects Mandelbrot/cpt_iter.vhd \n", "1 joalcava/sparcv8-monocicle MuxNextRD.vhd \n", "2 joalcava/sparcv8-monocicle DM.vhd \n", "3 chrreisinger/OpenVC document/Masterarbeit/src/math_complex.vhd \n", "4 jpidancet/mips rtl/cpu_fetch.vhd \n", "\n", " copies size content license \\\n", "0 1 884 \\nlibrary IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\... gpl-3.0 \n", "1 1 444 library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\n\\... gpl-3.0 \n", "2 1 987 library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nu... gpl-3.0 \n", "3 1 691 library ieee;\\n\\npackage math_complex is\\n ty... gpl-3.0 \n", "4 1 905 library ieee;\\nuse ieee.std_logic_1164.ALL;\\nu... isc \n", "\n", " trimmed gpt-3.5 \n", "0 library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\n\\... hello \n", "1 library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\n\\... hello \n", "2 library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nu... hello \n", "3 library ieee;\\n\\npackage math_complex is\\n ty... hello \n", "4 library ieee;\\nuse ieee.std_logic_1164.ALL;\\nu... hello " ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_1000['gpt-3.5'] = ['hello']*len(df_1000.index)\n", "df_1000.head()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "OsDrMH-xOnrB" }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "-gz9AHBLPNIs" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "id": "S3gX2EhhR2e2" }, "source": [ "###GPT-3.5 API setup and HDL code summary generation" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "285NGYwGUP2h" }, "outputs": [], "source": [ "df_1000 = pd.read_csv('/content/drive/MyDrive/LLM_project/df_1000.csv')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "e6tH2TvCSAwq" }, "outputs": [], "source": [ "!pip install -q openai\n", "import time\n", "import openai" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Qit5LikeSBkM" }, "outputs": [], "source": [ "f = open('/content/drive/MyDrive/LLM_project/api_key.txt', 'r')\n", "api_key = str(f.readlines()[3])[:-1] #9xxxxxx333" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "pdrEmeBaSBiW" }, "outputs": [], "source": [ "#api_key = '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'\n", "openai.api_key = api_key" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "1IWPyPDeYf2E" }, "outputs": [], "source": [ "precursur = ('can you give a statement of about 100 words taking which a competent programmer would write the below HDL code.\\n')\n", "\n", "n_prompts = 2400\n", "start_from = 2400\n", "for i in range(start_from, n_prompts):\n", " t = time.time()\n", " messages = [{'role': 'system', 'content': 'You are hardware designer briefly explaining the HDL code given to you'},]\n", "\n", " prompt = str(df_1000['trimmed'][i])\n", " messages.append({'role': 'user', 'content': prompt})\n", " chat = openai.ChatCompletion.create(\n", " model=\"gpt-3.5-turbo\", messages=messages)\n", "\n", " reply = chat.choices[0].message.content\n", " df_1000['gpt-3.5'][i] = reply\n", "\n", " time.sleep(10)\n", " print(i/100)\n", " df_1000.to_csv('/content/drive/MyDrive/LLM_project/df_1000.csv')" ] }, { "cell_type": "markdown", "source": [ "We setup GPT-3.5 api and generated and filled the required fields in our dataset" ], "metadata": { "id": "DGxYIF2AVpVF" } }, { "cell_type": "markdown", "source": [ "###Fine tuning GPT-2" ], "metadata": { "id": "Mb5pgBtVJh4s" } }, { "cell_type": "code", "source": [ "!pip install -q transformers datasets evaluate\n", "from huggingface_hub import notebook_login\n", "notebook_login()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 145, "referenced_widgets": [ "27daebf6453145e1834b112d0bca212e", "78197980460c4ee8a225fd81c439dd65", "1e9905287725435aa1d70974a32dea2b", "7fc3dae9046742efb28f95bfcdeffab5", "a06e40fff0db4907becbe4411cc91e4f", "039eebb112994431b688dd092a96d983", "7b4c4f2d8e3641d39d404180a3ea3490", "269f8bfc393c445e9b03ecb93f4558f4", "e1d9f9108f5145059ae236dbf0e70e6c", "3122136ed6ae47f3ac4c4b6f92777525", "f685671c6f7f4b61b74b95cd66d68a50", "004d5d1c230146d794958fdc553020c6", "a917413fb32646ef85e24d39bbb5eb7a", "d5fbf94fdc7c464e9c6c73787eeaf2a2", "37af0004069b45d38eff77d88c3609ff", "fe058255a8f84bddb7aeee974853526f", "73fd49ece8f2438a89dd05cb321cbd00", "407b9eae27f54eefa75c3078600bd2c8", "d2dd1b7a02ba4b12bb2ceecf209e3fc9", "dfd0da633ee749f8bb914a7700ae5180", "ba1acb220dd24b17b39634a8bdd5ea30", "0f95ab5f400e4e31bd81a8998909a54e", "d413d862c26e4298835ecf6209f6974e", "de1092c6e6c64dcd9012835c50067e68", "05b9b1de4c034417bf273fb8a6dfc23b", "6534d3d7803d4cea85c5b9cc2405889c", "672ec659f512419f81a0b38782665d6a", "72975b47c49e45c89ae41c586202f3e4", "40837e169c894517babf5a405ff5a873", "9572a75d6f6a40aa8e6fdfd9e345b8f2", "d322b9db0e5549e4ae7564b9f17cfbf3", "b2094960a71a4e0184c0bb4f9d596f97" ] }, "id": "huqaagy3Uhs_", "outputId": "76663d80-5c8a-42e8-991b-bb191fe68538" }, "execution_count": 6, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "VBox(children=(HTML(value='<center> <img\\nsrc=https://huggingface.co/front/assets/huggingface_logo-noborder.sv…" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "27daebf6453145e1834b112d0bca212e" } }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "code_gen = 1100\n", "code_summarize = 1300\n", "\n", "dset = []\n", "\n", "for i in range(len(df_1000)):\n", " if i < code_gen:\n", " dset.append(df_1000['gpt-3.5'][i] + '\\n' + df_1000['trimmed'][i])\n", " elif i < code_gen + code_summarize:\n", " dset.append('summarize the below code\\n' + df_1000['trimmed'][i] + '\\n' + df_1000['gpt-3.5'][i])\n", " else:\n", " dset.append('complete the below code\\n' + df_1000['trimmed'][i])\n", "\n", "df_final = pd.DataFrame({'text':dset})\n", "df_final.head()\n", "df_final.to_csv('/content/drive/MyDrive/LLM_project/df_final.csv')" ], "metadata": { "id": "YmbuVpft-hO8" }, "execution_count": 10, "outputs": [] }, { "cell_type": "code", "source": [ "from transformers import AutoTokenizer\n", "tokenizer = AutoTokenizer.from_pretrained('gpt2')" ], "metadata": { "id": "9968kXasF8pA" }, "execution_count": 3, "outputs": [] }, { "cell_type": "code", "source": [ "from datasets import load_dataset, Dataset\n", "df_final = pd.read_csv('/content/drive/MyDrive/LLM_project/df_final.csv')\n", "dataset = Dataset.from_pandas(df_final)\n", "dataset = dataset.train_test_split(test_size=0.2)\n", "\n", "def tokenize(input):\n", " return tokenizer(input['text'], truncation=True)\n", "\n", "tokenized_dataset = dataset.map(tokenize, batched=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 81, "referenced_widgets": [ "a5b4132f35f141a9b87f457b5bfddaad", "88afceca4b0e4dbeb5d4112f42dfa95a", "f1e215cd5b0d4ca5a290793b5cc02444", "dd858ee47ca14dfab5703a8a6199468a", "535a6b9bd51a43f8be462621a118f218", "7a1becd02da24a0dbdc64e0819758c4d", "13c873260f394700a7d6a38dc38a7e5c", "efded291766644fdb8ad40d7df1d0357", "501713a17f30403b90d6d3c2b2af9111", "c9f01edaabe4492a998d2907a033a0bd", "b9576292d3e44178835607142f63a2d9", "b1c37d50bf07498ebf08e75bcbd2d9cb", "40602555c61445a9a050c4e80ed79e10", "38433c26d4f4427ba0b9c87f700a72ce", "c7a0c586f74c472cb1669511bd65d3e5", "6326c2a71e194bea90eb308b51ef2cd6", "737c53bc9d294724a977702d5a2c4681", "66c08d8f8cd84230a33df6a800baa01a", "19e84384f7a94cb0b8eb56e370ebf2ea", "ac6eb7244ce34263aaa93342a54757cf", "6dabe1703a7f4d809e695843da2f66fe", "3e3a114a90a64cf2b511198da4c67eb5" ] }, "id": "9xwjh-utF8kf", "outputId": "f10558c3-be43-4ee6-f850-b0588237e503" }, "execution_count": 4, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "Map: 0%| | 0/6131 [00:00<?, ? examples/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "a5b4132f35f141a9b87f457b5bfddaad" } }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "Map: 0%| | 0/1533 [00:00<?, ? examples/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "b1c37d50bf07498ebf08e75bcbd2d9cb" } }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "tokenized_dataset" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "CSYTWH7UZh1Z", "outputId": "04b7b018-190b-411f-8a57-d8b1c2fae2cc" }, "execution_count": 5, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['Unnamed: 0', 'text', 'input_ids', 'attention_mask'],\n", " num_rows: 6131\n", " })\n", " test: Dataset({\n", " features: ['Unnamed: 0', 'text', 'input_ids', 'attention_mask'],\n", " num_rows: 1533\n", " })\n", "})" ] }, "metadata": {}, "execution_count": 5 } ] }, { "cell_type": "code", "source": [ "block_size = 128\n", "def group_texts(inputs):\n", " #concatenated_inputs = {k: sum(inputs[k], []) for k in inputs.keys()}\n", " total_length = len(inputs[list(inputs.keys())[0]])\n", " if total_length >= block_size:\n", " total_length = (total_length // block_size) * block_size\n", " result = {\n", " k: [t[i : i + block_size] for i in range(0, total_length, block_size)]\n", " for k, t in inputs.items()\n", " }\n", " result[\"labels\"] = result[\"input_ids\"].copy()\n", " return result\n", "\n", "lm_dataset = tokenized_dataset.map(group_texts, batched=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 81, "referenced_widgets": [ "f628f51c9a8c478d994cb497c12a3c09", "4d39b20e621741bb993272cac5e9455c", "cc345c2b927e4ad091c61b6b8f5f14a6", "3c244052eb594cfea0091cc960f77ade", "deb10b36597d4688a247f209653e2195", "083f011ec85740ca8efc3462404e09e2", "06a117b243be4b1c9afd0fbb7db47db0", "112398a1a364453d86890487dacdc7a6", "67e1463255e5432a88212f932733323a", "691a48724cd040b886cfb6b8d9aea242", "2fe06bb0be1049fdaa788ef16ddedc66", "fb6d02cb39304963837901d37c982148", "45e2833245024765890bec5637d84c9c", "2824618c895e4441965b5783fa9b2572", "497d5e82ea25494190daf45bf12acdb0", "6250a1a8691c41fca61584794b96e5f4", "5b63945051f14946acf05eaf7c621e2a", "51b039c8a9d54658b9db69aae153703f", "3cf3057d174044eab5893406a355f4ec", "89a4df4f9b054142b89b2a2fb01024e3", "01285ef17bca493ead27bca30d9e3f1c", "44f1e554a1904c9d9ac1142e7f20fc04" ] }, "id": "NftudHpCojwB", "outputId": "81de183d-fc04-492e-fe87-326de5b22fc2" }, "execution_count": 6, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "Map: 0%| | 0/6131 [00:00<?, ? examples/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "f628f51c9a8c478d994cb497c12a3c09" } }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "Map: 0%| | 0/1533 [00:00<?, ? examples/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "fb6d02cb39304963837901d37c982148" } }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "lm_dataset" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "m0lugneupiCE", "outputId": "1a8966a7-a50b-4b4f-fa77-ce795415a9ca" }, "execution_count": 7, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "DatasetDict({\n", " train: Dataset({\n", " features: ['Unnamed: 0', 'text', 'input_ids', 'attention_mask', 'labels'],\n", " num_rows: 43\n", " })\n", " test: Dataset({\n", " features: ['Unnamed: 0', 'text', 'input_ids', 'attention_mask', 'labels'],\n", " num_rows: 11\n", " })\n", "})" ] }, "metadata": {}, "execution_count": 7 } ] }, { "cell_type": "code", "source": [ "from transformers import DataCollatorForLanguageModeling\n", "\n", "tokenizer.pad_token = tokenizer.eos_token\n", "data_collator = DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm=False)" ], "metadata": { "id": "70vvsXOHF8ix" }, "execution_count": 8, "outputs": [] }, { "cell_type": "markdown", "source": [ "Training the model" ], "metadata": { "id": "EE5AodUEVCUa" } }, { "cell_type": "code", "source": [ "!pip install -q -U accelerate\n", "!pip install -q -U transformers" ], "metadata": { "id": "Twoilvmla-PK" }, "execution_count": 9, "outputs": [] }, { "cell_type": "code", "source": [ "from transformers import AutoModelForCausalLM, TrainingArguments, Trainer\n", "model = AutoModelForCausalLM.from_pretrained('gpt2')\n", "\n", "training_args = TrainingArguments(output_dir='/content/drive/MyDrive/LLM_project/gpt2_hdl',\n", " per_device_train_batch_size=2,\n", " evaluation_strategy=\"epoch\",\n", " learning_rate=2e-5,\n", " weight_decay=0.01,\n", " push_to_hub=True,\n", " )\n", "\n", "trainer = Trainer(model=model,\n", " args=training_args,\n", " train_dataset=tokenized_dataset['train'],\n", " eval_dataset=tokenized_dataset['test'],\n", " data_collator=data_collator,\n", " )" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "wg35wVsA_uhp", "outputId": "e967dc7d-c85f-4bde-8c30-0ea355e38c48" }, "execution_count": 10, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/content/drive/MyDrive/LLM_project/gpt2_hdl is already a clone of https://huggingface.co/myn11/gpt2_hdl. Make sure you pull the latest changes with `repo.git_pull()`.\n", "WARNING:huggingface_hub.repository:/content/drive/MyDrive/LLM_project/gpt2_hdl is already a clone of https://huggingface.co/myn11/gpt2_hdl. Make sure you pull the latest changes with `repo.git_pull()`.\n" ] } ] }, { "cell_type": "code", "source": [ "gpu_device = torch.device(\"cuda:0\")\n", "current_memory_usage = torch.cuda.memory_allocated(device=gpu_device)\n", "max_memory_capacity = torch.cuda.max_memory_allocated(device=gpu_device)\n", "\n", "print(current_memory_usage, max_memory_capacity)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "TSGjN-Adu1PM", "outputId": "23814d81-2b2f-4186-ad10-504da264acf8" }, "execution_count": 11, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "511148032 511148032\n" ] } ] }, { "cell_type": "code", "source": [ "torch.cuda.empty_cache()\n", "trainer.train()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 276 }, "id": "K-aSdCF1VkkG", "outputId": "648a8d84-2ad0-4a66-e27c-ae0a0c1a6bc6" }, "execution_count": 12, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/usr/local/lib/python3.10/dist-packages/transformers/optimization.py:411: 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", "You're using a GPT2TokenizerFast tokenizer. Please note that with a fast tokenizer, using the `__call__` method is faster than using a method to encode the text followed by a call to the `pad` method to get a padded encoding.\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "<IPython.core.display.HTML object>" ], "text/html": [ "\n", " <div>\n", " \n", " <progress value='9198' max='9198' style='width:300px; height:20px; vertical-align: middle;'></progress>\n", " [9198/9198 59:32, Epoch 3/3]\n", " </div>\n", " <table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: left;\">\n", " <th>Epoch</th>\n", " <th>Training Loss</th>\n", " <th>Validation Loss</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <td>1</td>\n", " <td>0.982200</td>\n", " <td>0.913574</td>\n", " </tr>\n", " <tr>\n", " <td>2</td>\n", " <td>0.886600</td>\n", " <td>0.837943</td>\n", " </tr>\n", " <tr>\n", " <td>3</td>\n", " <td>0.817100</td>\n", " <td>0.816834</td>\n", " </tr>\n", " </tbody>\n", "</table><p>" ] }, "metadata": {} }, { "output_type": "execute_result", "data": { "text/plain": [ "TrainOutput(global_step=9198, training_loss=0.9767863951083965, metrics={'train_runtime': 3576.5038, 'train_samples_per_second': 5.143, 'train_steps_per_second': 2.572, 'total_flos': 4389900065280000.0, 'train_loss': 0.9767863951083965, 'epoch': 3.0})" ] }, "metadata": {}, "execution_count": 12 } ] }, { "cell_type": "code", "source": [ "import math\n", "eval_results = trainer.evaluate()\n", "print(f\"Perplexity: {math.exp(eval_results['eval_loss']):.2f}\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 54 }, "id": "e8zjETMYVkiC", "outputId": "a7633c8b-5710-43ef-f8d4-b48f716cef43" }, "execution_count": 13, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "<IPython.core.display.HTML object>" ], "text/html": [ "\n", " <div>\n", " \n", " <progress value='192' max='192' style='width:300px; height:20px; vertical-align: middle;'></progress>\n", " [192/192 01:51]\n", " </div>\n", " " ] }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": [ "Perplexity: 2.26\n" ] } ] }, { "cell_type": "code", "source": [ "trainer.push_to_hub()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "-GfBv0XUCmS0", "outputId": "fb2aa31d-5b90-4b5a-a203-1d75f32faa33" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "Several commits (2) will be pushed upstream.\n", "WARNING:huggingface_hub.repository:Several commits (2) will be pushed upstream.\n", "The progress bars may be unreliable.\n", "WARNING:huggingface_hub.repository:The progress bars may be unreliable.\n" ] } ] }, { "cell_type": "markdown", "source": [ "Testing the model" ], "metadata": { "id": "GI7L2JxvpWZi" } }, { "cell_type": "code", "source": [ "prompt = 'library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nentity XOR_BitABit is\\nPort ( A : in STD_LOGIC_VECTOR (3 downto 0);\\nB : in STD_LOGIC_VECTOR (3 downto 0);\\nZ : out STD_LOGIC_VECTOR (3 downto 0));\\nend XOR_BitABit;\\narchitecture Behavioral of XOR_BitABit is\\nsignal Zout : STD_LOGIC_VECTOR(3 downto 0);\\nbegin\\nZout(0) <= A(0) XOR B(0);\\nZout(1) <= A(1) XOR B(1);\\nZout(2) <= A(2) XOR B(2);\\nZout(3) <= A(3) XOR B(3);\\nZ <= Zout;\\nend Behavioral;'\n", "\n", "from transformers import AutoModelForCausalLM, TrainingArguments, Trainer, pipeline, AutoTokenizer\n", "model = AutoModelForCausalLM.from_pretrained('/content/drive/MyDrive/LLM_project/gpt2_hdl/')\n", "tokenizer = AutoTokenizer.from_pretrained('gpt2')\n", "inputs = tokenizer(prompt, return_tensors='pt').input_ids\n", "output = model.generate(inputs, max_length = 500)" ], "metadata": { "id": "zENqnxJtFe92" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "tokenizer.batch_decode(output, skip_special_tokens=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "E_zNFE4enyKP", "outputId": "1ba920c6-7373-4a84-987d-c55233d316f7" }, "execution_count": 16, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nentity XOR_BitABit is\\nPort ( A : in STD_LOGIC_VECTOR (3 downto 0);\\nB : in STD_LOGIC_VECTOR (3 downto 0);\\nZ : out STD_LOGIC_VECTOR (3 downto 0));\\nend XOR_BitABit;\\narchitecture Behavioral of XOR_BitABit is\\nsignal Zout : STD_LOGIC_VECTOR(3 downto 0);\\nbegin\\nZout(0) <= A(0) XOR B(0);\\nZout(1) <= A(1) XOR B(1);\\nZout(2) <= A(2) XOR B(2);\\nZout(3) <= A(3) XOR B(3);\\nZ <= Zout;\\nend Behavioral;\\n\\nThe given HDL code is for a hardware design that implements a bit-wise AND operation between two input vectors. \\n\\nThe entity declaration defines the inputs and outputs of the design. It has two ports: A and B, which are input vectors of type STD_LOGIC_VECTOR. \\n\\nThe architecture declaration defines the behavior of the design. It uses the IEEE.STD_LOGIC_1164 library for standard logic operations. \\n\\nThe architecture section defines the behavior of the design. It uses the behavioral package to implement the bit-wise AND operation between two input vectors. \\n\\nThe architecture section also includes a signal named Zout, which is an input vector of type STD_LOGIC_VECTOR. \\n\\nOverall, this HDL code implements a bit-wise AND operation between two input vectors. It performs the bit-wise AND operation on the input vectors A and B, and assigns the result to the output vector Zout. \\n\\nOverall, this HDL code implements a bit-wise AND operation between two input vectors. It performs the bit-wise AND operation on the input vectors A and B, and assigns the result to the output vector Zout. \\n\\nOverall, this HDL code implements a bit-wise AND operation between two input vectors. It performs the bit-wise AND operation on the input vectors A and B, and assigns the result to the output vector']" ] }, "metadata": {}, "execution_count": 16 } ] }, { "cell_type": "code", "source": [ "prompt = 'Implement a full adder circuit in HDL. A and B are the inputs, Cin in the input carray and S and Cout are output sum and carry respectively'\n", "inputs = tokenizer(prompt, return_tensors='pt').input_ids\n", "output = model.generate(inputs, max_length = 500)\n", "print('\\n\\n')\n", "tokenizer.batch_decode(output, skip_special_tokens=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "72lgmFgOoS-t", "outputId": "7a810124-a1c6-4208-afc0-aca4934f727d" }, "execution_count": 18, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\n", "\n", "\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "[\"Implement a full adder circuit in HDL. A and B are the inputs, Cin in the input carray and S and Cout are output sum and carry respectively.\\n\\nThe circuit should have the following inputs and outputs:\\n\\nInputs:\\n- Cin: a single bit input representing the input signal\\n- S: a single bit input representing the input signal\\n- Cout: a single bit input representing the output signal\\n\\nOutputs:\\n- Cout: a single bit output representing the output signal\\n\\nThe circuit should have the following outputs:\\n- Cout: a single bit output representing the output signal\\n\\nThe circuit should be implemented using VHDL.\\nlibrary ieee;\\nuse ieee.std_logic_1164.all;\\n\\nentity adder is\\n\\tport (\\n\\t\\tCin : in std_logic_vector(3 downto 0);\\n\\t\\tS : in std_logic_vector(3 downto 0);\\n\\t\\tCout : out std_logic_vector(3 downto 0)\\n\\t);\\nend adder;\\n\\narchitecture rtl of adder is\\nbegin\\n\\tCout <= Cin when S = '1' else Cout;\\n\\tCout <= Cin when S = '0' else Cout;\\nend rtl;\\n\\nThe given HDL code is for a full adder circuit. \\n\\nThe entity declaration defines the inputs and outputs of the circuit. \\n\\nThe inputs Cin and S are of type std_logic_vector and are of type std_logic_vector. \\n\\nThe inputs Cin and S are of type std_logic_vector and are of type std_logic_vector. \\n\\nThe architecture section of the code defines the behavior of the circuit. \\n\\nThe architecture section includes a process block that triggers on the rising edge of the input signal Cin. \\n\\nInside the process block, there is a process statement that triggers on the rising edge of the input signal Cin. \\n\\nInside the process block, there is a process statement that triggers on the rising edge of the input signal Cin. \\n\\nInside the process block, there is a process statement that triggers on the rising edge of the input signal Cin. \\n\\nInside the process block, there is\"]" ] }, "metadata": {}, "execution_count": 18 } ] }, { "cell_type": "code", "source": [ "prompt = 'library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nentity XOR_BitABit is\\nPort ( A : in STD_LOGIC_VECTOR (3'\n", "inputs = tokenizer(prompt, return_tensors='pt').input_ids\n", "output = model.generate(inputs, max_length = 200)\n", "tokenizer.batch_decode(output, skip_special_tokens=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "5gVMAoVTpaFl", "outputId": "f4732bae-766d-47a5-a507-d76630077ea9" }, "execution_count": 19, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nentity XOR_BitABit is\\nPort ( A : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\t\\tB : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\t\\tC : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\t\\tD : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\t\\tE : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\t\\tF : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\t\\tG : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\t\\tH : in STD_LOGIC_VECTOR (3 downto 0']" ] }, "metadata": {}, "execution_count": 19 } ] }, { "cell_type": "markdown", "source": [ "The model is repeating the same thing, Let's try changin top_k and top_p" ], "metadata": { "id": "eBHLqfNepx-X" } }, { "cell_type": "code", "source": [ "prompt = 'library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nentity XOR_BitABit is\\nPort ( A : in STD_LOGIC_VECTOR (3'\n", "inputs = tokenizer(prompt, return_tensors='pt').input_ids\n", "output = model.generate(inputs, max_length = 200, do_sample=True, top_k = 0, top_p = 0.95)\n", "tokenizer.batch_decode(output, skip_special_tokens=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "q8ns1bgRoS8k", "outputId": "fdbbd101-bf55-4ea0-f5d8-02e4245c5290" }, "execution_count": 23, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['library IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nentity XOR_BitABit is\\nPort ( A : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\tB : in STD_LOGIC_VECTOR (3 downto 0);\\n\\t\\tH : out STD_LOGIC_VECTOR (2 downto 0);\\n\\t\\tR : out STD_LOGIC_VECTOR (2 downto 0));\\nend XOR_BitABit;\\n\\narchitecture Behavioral of XOR_BitABit is\\nbegin\\n\\n\\tR <= A;\\n\\tH <= b;\\n\\nend Behavioral;\\n\\n\\nThis HDL code represents an asynchronous bit-bit multiplication operation. \\n\\nThe code describes a simple operation that is implemented using the entity declaration and port declaration. The entity declaration defines the inputs and outputs of the operation. \\n\\nInside']" ] }, "metadata": {}, "execution_count": 23 } ] }, { "cell_type": "code", "source": [ "prompt = 'summarize this library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; use work.randgen_package.all; entity chaoticMap is Port ( clk : in std_logic; reset : in std_logic; output : out std_logic); end chaoticMap; architecture Behavioral of chaoticMap is -- Supposing 2 integer bits and two\\'s complement, the constants -- correspond to zero, one and minus one values constant zero : signed(N_BIT-1 downto 0) := (others => \\'0\\'); constant one : signed(N_BIT-1 downto 0) := (N_BIT-2 => \\'1\\', others => \\'0\\'); constant minusone : signed(N_BIT-1 downto 0) := (N_BIT-1 => \\'1\\', N_BIT-2 => \\'1\\', others => \\'0\\'); -- Stores the current state signal reg : signed(N_BIT-1 downto 0); begin -- update map proc_map: process(clk,reset) begin if reset = \\'0\\' then if rising_edge(clk) then -- 1.875 * reg = (2*reg) - (reg/8) = (reg<<1) - (reg>>3) if (reg < zero) then -- reg = 1.875 * reg + 1 reg <= (( reg(N_BIT-2 downto 0) & \"0\" ) - ( \"111\" & reg(N_BIT-1 downto 3) )) + one; else -- reg = 1.875 * reg - 1 reg <= (( reg(N_BIT-2 downto 0)&\\'0\\' ) - ( \"000\" & reg(N_BIT-1 downto 3) )) + minusone; end if; end if; else -- init reg <= X0; end if; end process; output <= reg(N_BIT-1); end Behavioral;'\n", "inputs = tokenizer(prompt, return_tensors='pt').input_ids\n", "output = model.generate(inputs, max_length = 1000, do_sample=True, top_k = 0, top_p = 0.95, temperature = 0.9)\n", "tokenizer.batch_decode(output, skip_special_tokens=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "AyumjC72oS5J", "outputId": "c8d625a1-2465-44e3-849f-18ca61cf6e28" }, "execution_count": 29, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['summarize this library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; use work.randgen_package.all; entity chaoticMap is Port ( clk : in std_logic; reset : in std_logic; output : out std_logic); end chaoticMap; architecture Behavioral of chaoticMap is -- Supposing 2 integer bits and two\\'s complement, the constants -- correspond to zero, one and minus one values constant zero : signed(N_BIT-1 downto 0) := (others => \\'0\\'); constant one : signed(N_BIT-1 downto 0) := (N_BIT-2 => \\'1\\', others => \\'0\\'); constant minusone : signed(N_BIT-1 downto 0) := (N_BIT-1 => \\'1\\', N_BIT-2 => \\'1\\', others => \\'0\\'); -- Stores the current state signal reg : signed(N_BIT-1 downto 0); begin -- update map proc_map: process(clk,reset) begin if reset = \\'0\\' then if rising_edge(clk) then -- 1.875 * reg = (2*reg) - (reg/8) = (reg<<1) - (reg>>3) if (reg < zero) then -- reg = 1.875 * reg + 1 reg <= (( reg(N_BIT-2 downto 0) & \"0\" ) - ( \"111\" & reg(N_BIT-1 downto 3) )) + one; else -- reg = 1.875 * reg - 1 reg <= (( reg(N_BIT-2 downto 0)&\\'0\\' ) - ( \"000\" & reg(N_BIT-1 downto 3) )) + minusone; end if; end if; else -- init reg <= X0; end if; end process; output <= reg(N_BIT-1); end Behavioral;\\n\\nArchitecture Behavioral of chaoticMap is\\n\\nbegin -- update proc_map proc_map: process is\\n begin\\n if proc_map = \\'1\\' then\\n output <= \\'0\\';\\n\\treg <= (reg<<1);\\nelse\\n\\treg <= 0;\\nend if;\\nend Behavioral;\\n\\nThe given HDL code is an HDL (Hardware Description Language) code for a generic map with a 2-bit input and 2-bit output. \\n\\nThe entity \"Behavioral\" defines the interface \"genericMap\" and the ports \"clk,reset\" and \"output\" are of type std_logic. The architecture \"Behavioral\" implements the functionality of the generic map.\\n\\nThe architecture \"Behavioral\" instantiates the generic map \"genmap\" with a single input port \"clk\" and a select port \"output\" as an additional output port. The output is of type std_logic and has the same value as the corresponding input port \"clk\". The gen map component in the architecture \"Behavioral\" includes an input port \"reg\", which represents the current state of the map. When the clock signal \"reset\" is high, the output \"output\" is set to the state specified by the \"reg\" type TTX and the input port \"clk\" is connected to the input port \"output\". The gen map component in the architecture \"Behavioral\" uses the \"reg\" type to store the current state of the map.\\n\\nThe actual implementation of the generic map circuit is not specified. It is assumed that the generic map circuit has the appropriate inputs and outputs.\\n\\nOverall, this HDL code represents a generic map for a 2-bit input map based on the input signals and an output port. The gen map component can be instantiated with either a 2-bit or 4-bit input and output ports. The output ports can be any of the multiplexers specified in the generic map component.\\n\\nIn summary, this HDL code describes an entity that maps a 2-bit input and a 4-bit output using the generic map. It enables the use of a generic map component for generating different values based on the input signals and provides an output signal, that could be used in a system simulation environment to test the functionality of the 2-bit input and output ports in a system simulation.\\n\\nOverall, this HDL code provides a generic map for a 2-bit input map based on the input signals and an output port for instantiating it. It provides the inputs and outputs of the 2-bit input and a generic map component for instantiating the generated 4-bit input and output ports using the gen map component. This enables the useiction of different sizes and sizes of different input signals to control the different output port']" ] }, "metadata": {}, "execution_count": 29 } ] }, { "cell_type": "code", "source": [ "prompt = 'summarize the hdl code \\n library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;\\nentity ROM is generic ( DATA_WIDTH : positive := 8; -- Width of data bus ADDR_WIDTH : positive := 10; -- Width of address bus FILE_NAME : string := \"data.txt\" -- External initialization file name ); port ( address : in std_logic_vector(ADDR_WIDTH - 1 downto 0); data_out : out std_logic_vector(DATA_WIDTH - 1 downto 0) ); end ROM;\\narchitecture Behavioral of ROM is type memory_array is array (0 to 2**ADDR_WIDTH - 1) of std_logic_vector(DATA_WIDTH - 1 downto 0); signal memory : memory_array; \\n procedure initialize_memory(file_name : string) is file data_file : text; variable line_buf : line; variable data_value : std_logic_vector(DATA_WIDTH - 1 downto 0); begin file_open(data_file, file_name, read_mode); for i in 0 to memory high loop readline(data_file, line_buf); read(line_buf, data_value); memory(i) <= data_value; end loop; file_close(data_file); end initialize_memory; \\n begin initialize_memory(FILE_NAME); \\n process(address) begin data_out <= memory(to_integer(unsigned(address))); end process; end Behavioral;'\n", "inputs = tokenizer(prompt, return_tensors='pt').input_ids\n", "output = model.generate(inputs, max_length = 1000, do_sample=True, top_k = 0, top_p = 0.95, temperature = 0.9)\n", "tokenizer.batch_decode(output, skip_special_tokens=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "1qygiBRroS3g", "outputId": "06c46465-37c3-4e17-e8b8-cdac9ea3d367" }, "execution_count": 31, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['summarize the hdl code \\n library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;\\nentity ROM is generic ( DATA_WIDTH : positive := 8; -- Width of data bus ADDR_WIDTH : positive := 10; -- Width of address bus FILE_NAME : string := \"data.txt\" -- External initialization file name ); port ( address : in std_logic_vector(ADDR_WIDTH - 1 downto 0); data_out : out std_logic_vector(DATA_WIDTH - 1 downto 0) ); end ROM;\\narchitecture Behavioral of ROM is type memory_array is array (0 to 2**ADDR_WIDTH - 1) of std_logic_vector(DATA_WIDTH - 1 downto 0); signal memory : memory_array; \\n procedure initialize_memory(file_name : string) is file data_file : text; variable line_buf : line; variable data_value : std_logic_vector(DATA_WIDTH - 1 downto 0); begin file_open(data_file, file_name, read_mode); for i in 0 to memory high loop readline(data_file, line_buf); read(line_buf, data_value); memory(i) <= data_value; end loop; file_close(data_file); end initialize_memory; \\n begin initialize_memory(FILE_NAME); \\n process(address) begin data_out <= memory(to_integer(unsigned(address))); end process; end Behavioral; \\n\\nend Behavioral;\\n\\nThis is an HDL code for a ROM (Hardware Description Language) code for a 32-bit ROM. \\n\\nThe ROM defines the data type (data_array) and the address types (address, address_WIDTH, data_out, write_mode). It also provides a control signal (memory) and an asynchronous data operation.\\n\\nThe process assigns the data to the main process (init_memory). This process waits for input signals and then decrements the data based on the memory value (address). When the data is full, it output the value of the input data (data_line_buf).\\n\\nOverall, this ROM code implements a 32-bit ROM by adding 16 and 16-bit assignments to address, read line_buf, and read(line_buf) operations. It also has a buffer memory with one line.\\n\\nThis ROM code instantiates a memory (open) memory and stores the input data (data_file) in it. The result of the operation is read from the input memory (address) and the write (write) operation is ready.\\n\\nIf the data_file is empty, it updates the memory (data_file) to read and writes the corresponding value from the stored value to the main process (init_memory).\\n\\nIn summary, this ROM code implements a 32-bit ROM by using a 32-bit memory assignment to address and reading from the input memory (address) and the write operation (write_mode) to the main process (init_memory). It also assigns the data to the buffer memory (address) and the asynchronous data operation ready.\\n\\nIn summary, this ROM code implements a 32-bit ROM based on the input memory, assigning the data to the memory used for the ROM, and then storing it in the buffer memory as the main process. This enables the ROM to write and read from the memory using the same input.\\n\\nOverall, this code implements a 32-bit ROM by implementing the 32-bit data output to address and reading from the buffer memory. It also assigns the data to the buffer memory for the corresponding write operation.\\n\\nThe ROM code does not contain any logic implementation or testbench to verify the functionality of this ROM. The ROM only has a generic assignment statement that represents the address to be written and read. It does not contain any architecture or testbench functionality peppers with assertions or checks to verify the functionality of this ROM.\\n\\nThis code provides a starting point for the implementation of a 32-bit ROM for generating the 32-bit data output based on the available memory assignments. If the data_file is empty or if the memory (open) memory is empty, the memory values are written and the data output is also read from the main process (init_memory).\\n\\nNote that this ROM code is only a starting point, and you should not add any additional libraries or code to the code.\\nlibrary IEEE;\\nuse IEEE.STD_LOGIC_1164.ALL;\\nuse']" ] }, "metadata": {}, "execution_count": 31 } ] }, { "cell_type": "code", "source": [ "model.push_to_hub('gpt2_hdl')\n", "tokenizer.push_to_hub('gpt2_hdl')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 84, "referenced_widgets": [ "f352767983804a2db9861b5fe5d7e62d", "61d00504878348b38c96d47aa455041e", "af2bddf7a7d34900bf9015883ca25a0a", "0b0d40b580c74280a285bc8172bd97aa", "0c00d73b13544deba888d073e0c4d253", "f6cc1a0c45b3434b9ec8ada8bd9a12a8", "8347d0dbb7824e67b24885bc828ad6d5", "3430d7e427de495b8622deb9fdec3cfa", "b574faa5d5074f39b524186e9a54f2bf", "3ed231ed51104195b8fff16e1fec1105", "7619a3c330504c2c9bad50e69842e165" ] }, "id": "IfPhOk0zkzdb", "outputId": "7b25602b-5342-41f9-f447-7731aa13ac39" }, "execution_count": 35, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "pytorch_model.bin: 0%| | 0.00/498M [00:00<?, ?B/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "f352767983804a2db9861b5fe5d7e62d" } }, "metadata": {} }, { "output_type": "execute_result", "data": { "text/plain": [ "CommitInfo(commit_url='https://huggingface.co/myn11/gpt2_hdl/commit/893beafc24722ed7e2c732b1791adc13c2bddf2a', commit_message='Upload tokenizer', commit_description='', oid='893beafc24722ed7e2c732b1791adc13c2bddf2a', pr_url=None, pr_revision=None, pr_num=None)" ] }, "metadata": {}, "execution_count": 35 } ] }, { "cell_type": "markdown", "source": [ "###Gradio Webapp" ], "metadata": { "id": "RaPZEj-I4ast" } }, { "cell_type": "code", "source": [ "import pandas as pd\n", "import torch\n", "from google.colab import drive\n", "drive.mount('/content/drive')\n", "!pip install transformers" ], "metadata": { "id": "XvaKYG42MYOA" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "!pip install -q gradio\n", "import gradio as gr\n", "from transformers import AutoModelForCausalLM, TrainingArguments, Trainer, pipeline, AutoTokenizer\n", "model = AutoModelForCausalLM.from_pretrained('myn11/gpt2_hdl').to('cuda')\n", "tokenizer = AutoTokenizer.from_pretrained('myn11/gpt2_hdl')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 177, "referenced_widgets": [ "c402c5d305ff4be0bece99e543f6463d", "1a6b7810310941d8bd58ffaa40a80873", "dc338f57ab5749f4beca661b7d8527b0", "26c3d6e972404303a188f1b2bf934c68", "47fa507495624122b86b1171da5a0301", "9a4b820f09f946a4a50fa1154a5c1a64", "660cbc3708934e23bc4ca7f9c26b4de7", "6939c8eae28c4aa58e7a686bab0302ae", "4c1aec06373b4023a2b4424f52f22482", "c00d0db59cf646a394b645e839a52f05", "9ef2af605a0f4bbcb02c8f0811ac5799", "817d7e5b718942d6a8aa9ee588f1d079", "94952087f8604de7aa30dbbc5bfae2f1", "98ed5acef72544deab9088108382c218", "04b6d69b4c5c4cf887bdbe5b1bfa5839", "d5bfe70716e045639ba7339a62d014ca", "a0dfeeee628140cc896d1ee98280b2a2", "3add9c585192461e83246074b4beed9d", "7009610d4c3c4f1d8721cf4e15b816f2", "f9197f4ce2914775b1773ac3d386d554", "75bdc817125b4c239cee89aae0bb714c", "65ac03bc0ee048d0aa9a8f982801c030", "c66e6f2f86e04155822f605730269e59", "ad28ef7761cf4845b2ae743babf297c0", "93e61b266b9d4e458d267965902eb875", "80312ddb3706465e93e3d6ffe4ae9457", "a1bdb86d5d9f4616b3ec1803d2e3b72f", "03b8e49990014561ac25e45b29640a6b", "86010070cae64986be59cbdd34df8e18", "637f7951f0d0425fa319684830872d47", "ef5261d51a85449b996560daae9db342", "641ca037bd2c47a6a35c8d1709a85220", "448e7ef1ca1344d8a8e41667889b4cc4", "7c1e6c88334144bfbedf751e1ee1f97c", "93e0e6f2c4a54dd4801cf91471975a8f", "72a74e1da6a243e697ac821381af435f", "b68404c256ce460bb498b81274236d40", "a8eddec8183b4c62b1c40ddc6887c389", "f9f6457dd5874d9486ce753e2f07d0d6", "798a79a5064d418b9abbf9099f781267", "e2a3b18384224e37ac43ae11bfbd42ea", "931d20945c60453b9b05a0e2dc47d6d0", "eca5655ec674481bab9d42d5e78f86bd", "d905020a4a204eb2b1a55d39538c03cc", "e12280f6488e4ac78e54689d8a65a563", "9f6c9c750aef41b188eaf943815c8094", "a8cbf992a71d4bea96ec98dfe081aefd", "a5867db7e0254c0184e68ba8972288a2", "2f5403015c76411398ae6da76dc26ec2", "26563120fdde4000bd6250013c6ca18f", "6ac49959a7354e93b9827c915fd92b49", "92f420f69791459fa4d2056c0b7d19e9", "e0937eb188ca4805b4488679ad7c6698", "2990f57c5fd64f12bb40dda67d778e0f", "d1e95edf1c0646b380d895941515a133" ] }, "id": "4EpsTsNU4W2J", "outputId": "21d8bb60-18d5-4186-d1a9-f26f8f2a8182" }, "execution_count": 15, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "Downloading (…)okenizer_config.json: 0%| | 0.00/234 [00:00<?, ?B/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "c402c5d305ff4be0bece99e543f6463d" } }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "Downloading (…)olve/main/vocab.json: 0%| | 0.00/798k [00:00<?, ?B/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "817d7e5b718942d6a8aa9ee588f1d079" } }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "Downloading (…)olve/main/merges.txt: 0%| | 0.00/456k [00:00<?, ?B/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "c66e6f2f86e04155822f605730269e59" } }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "Downloading (…)/main/tokenizer.json: 0%| | 0.00/2.11M [00:00<?, ?B/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "7c1e6c88334144bfbedf751e1ee1f97c" } }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "Downloading (…)cial_tokens_map.json: 0%| | 0.00/99.0 [00:00<?, ?B/s]" ], "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, "model_id": "e12280f6488e4ac78e54689d8a65a563" } }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "examples = [\n", " ['summarise the code library IEEE;use IEEE.std_logic_1164.all;entity Top is port (dips_i : in std_logic_vector(3 downto 0);pbs_i : in std_logic;leds_o : out std_logic_vector(3 downto 0));end entity Top;architecture RTL of Top is begin leds_o <= dips_i when pbs_i=\"0\" else (others => \"1\"); end architecture RTL;'],\n", " ['Explain the code library ieee;use ieee.std_logic_1164.all;entity test is port(clk : in std_logic;d : in std_logic ;q :out std_logic );end test;architecture rtl of test is begin process (clk) begin if rising_edge(clk) then q <= d; end if; end; end rtl;'],\n", " ['Write a VHDL code for a read-only memory (ROM) module that takes an external data initialization file, and is parameterized by the data width, address width, and file name. The module should have an address input and a data output. It should read data from the file and provide the corresponding data output based on the given address.']\n", "]\n", "\n", "title = \"GPT2 fine tuned for HDL\"\n", "\n", "def process_input(text):\n", " input = tokenizer(text, truncation=True, return_tensors='pt').input_ids.to('cuda')\n", " output = model.generate(input, max_length=1000, do_sample=True, top_k=50, top_p=0.92)\n", " return tokenizer.batch_decode(output, skip_special_tokens=True)\n", "\n", "model_gui = gr.Interface(\n", " process_input,\n", " gr.Textbox(lines=3,label=\"Input\"),\n", " gr.Textbox(lines=3, label=\"GPT2_HDL\"),\n", " title=title,\n", " examples=examples\n", ")\n", "model_gui.launch(share=True)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 611 }, "id": "ykCm69O74W0b", "outputId": "648d0775-554d-42e4-a725-0a3c1ab8b011" }, "execution_count": 24, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Colab notebook detected. To show errors in colab notebook, set debug=True in launch()\n", "Running on public URL: https://914623a42bfd061ca1.gradio.live\n", "\n", "This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "<IPython.core.display.HTML object>" ], "text/html": [ "<div><iframe src=\"https://914623a42bfd061ca1.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>" ] }, "metadata": {} }, { "output_type": "execute_result", "data": { "text/plain": [] }, "metadata": {}, "execution_count": 24 } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "FSLZH9uVOTNR" }, "execution_count": 13, "outputs": [] } ], "metadata": { "colab": { "collapsed_sections": [ "BsgIbw6URsyF" ], "provenance": [], "gpuType": "T4" }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" }, "accelerator": "GPU", "widgets": { "application/vnd.jupyter.widget-state+json": { "27daebf6453145e1834b112d0bca212e": { "model_module": "@jupyter-widgets/controls", "model_name": "VBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "VBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "VBoxView", "box_style": "", "children": [ "IPY_MODEL_ba1acb220dd24b17b39634a8bdd5ea30", "IPY_MODEL_0f95ab5f400e4e31bd81a8998909a54e", "IPY_MODEL_d413d862c26e4298835ecf6209f6974e", "IPY_MODEL_de1092c6e6c64dcd9012835c50067e68" ], "layout": "IPY_MODEL_7b4c4f2d8e3641d39d404180a3ea3490" } }, "78197980460c4ee8a225fd81c439dd65": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_269f8bfc393c445e9b03ecb93f4558f4", "placeholder": "", "style": "IPY_MODEL_e1d9f9108f5145059ae236dbf0e70e6c", "value": "<center> <img\nsrc=https://huggingface.co/front/assets/huggingface_logo-noborder.svg\nalt='Hugging Face'> <br> Copy a token from <a\nhref=\"https://huggingface.co/settings/tokens\" target=\"_blank\">your Hugging Face\ntokens page</a> and paste it below. <br> Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file. </center>" } }, "1e9905287725435aa1d70974a32dea2b": { "model_module": "@jupyter-widgets/controls", "model_name": "PasswordModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "PasswordModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "PasswordView", "continuous_update": true, "description": "Token:", "description_tooltip": null, "disabled": false, "layout": "IPY_MODEL_3122136ed6ae47f3ac4c4b6f92777525", "placeholder": "", "style": "IPY_MODEL_f685671c6f7f4b61b74b95cd66d68a50", "value": "" } }, "7fc3dae9046742efb28f95bfcdeffab5": { "model_module": "@jupyter-widgets/controls", "model_name": "CheckboxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "CheckboxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "CheckboxView", "description": "Add token as git credential?", "description_tooltip": null, "disabled": false, "indent": true, "layout": "IPY_MODEL_004d5d1c230146d794958fdc553020c6", "style": "IPY_MODEL_a917413fb32646ef85e24d39bbb5eb7a", "value": true } }, "a06e40fff0db4907becbe4411cc91e4f": { "model_module": "@jupyter-widgets/controls", "model_name": "ButtonModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ButtonModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ButtonView", "button_style": "", "description": "Login", "disabled": false, "icon": "", "layout": "IPY_MODEL_d5fbf94fdc7c464e9c6c73787eeaf2a2", "style": "IPY_MODEL_37af0004069b45d38eff77d88c3609ff", "tooltip": "" } }, "039eebb112994431b688dd092a96d983": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_fe058255a8f84bddb7aeee974853526f", "placeholder": "", "style": "IPY_MODEL_73fd49ece8f2438a89dd05cb321cbd00", "value": "\n<b>Pro Tip:</b> If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks. </center>" } }, "7b4c4f2d8e3641d39d404180a3ea3490": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": "center", "align_self": null, "border": null, "bottom": null, "display": "flex", "flex": null, "flex_flow": "column", "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": "50%" } }, "269f8bfc393c445e9b03ecb93f4558f4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e1d9f9108f5145059ae236dbf0e70e6c": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "3122136ed6ae47f3ac4c4b6f92777525": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f685671c6f7f4b61b74b95cd66d68a50": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "004d5d1c230146d794958fdc553020c6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a917413fb32646ef85e24d39bbb5eb7a": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "d5fbf94fdc7c464e9c6c73787eeaf2a2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "37af0004069b45d38eff77d88c3609ff": { "model_module": "@jupyter-widgets/controls", "model_name": "ButtonStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ButtonStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "button_color": null, "font_weight": "" } }, "fe058255a8f84bddb7aeee974853526f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "73fd49ece8f2438a89dd05cb321cbd00": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "407b9eae27f54eefa75c3078600bd2c8": { "model_module": "@jupyter-widgets/controls", "model_name": "LabelModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "LabelModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "LabelView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d2dd1b7a02ba4b12bb2ceecf209e3fc9", "placeholder": "", "style": "IPY_MODEL_dfd0da633ee749f8bb914a7700ae5180", "value": "Connecting..." } }, "d2dd1b7a02ba4b12bb2ceecf209e3fc9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "dfd0da633ee749f8bb914a7700ae5180": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "ba1acb220dd24b17b39634a8bdd5ea30": { "model_module": "@jupyter-widgets/controls", "model_name": "LabelModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "LabelModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "LabelView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_05b9b1de4c034417bf273fb8a6dfc23b", "placeholder": "", "style": "IPY_MODEL_6534d3d7803d4cea85c5b9cc2405889c", "value": "Token is valid (permission: write)." } }, "0f95ab5f400e4e31bd81a8998909a54e": { "model_module": "@jupyter-widgets/controls", "model_name": "LabelModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "LabelModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "LabelView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_672ec659f512419f81a0b38782665d6a", "placeholder": "", "style": "IPY_MODEL_72975b47c49e45c89ae41c586202f3e4", "value": "Your token has been saved in your configured git credential helpers (store)." } }, "d413d862c26e4298835ecf6209f6974e": { "model_module": "@jupyter-widgets/controls", "model_name": "LabelModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "LabelModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "LabelView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_40837e169c894517babf5a405ff5a873", "placeholder": "", "style": "IPY_MODEL_9572a75d6f6a40aa8e6fdfd9e345b8f2", "value": "Your token has been saved to /root/.cache/huggingface/token" } }, "de1092c6e6c64dcd9012835c50067e68": { "model_module": "@jupyter-widgets/controls", "model_name": "LabelModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "LabelModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "LabelView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d322b9db0e5549e4ae7564b9f17cfbf3", "placeholder": "", "style": "IPY_MODEL_b2094960a71a4e0184c0bb4f9d596f97", "value": "Login successful" } }, "05b9b1de4c034417bf273fb8a6dfc23b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6534d3d7803d4cea85c5b9cc2405889c": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "672ec659f512419f81a0b38782665d6a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "72975b47c49e45c89ae41c586202f3e4": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "40837e169c894517babf5a405ff5a873": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9572a75d6f6a40aa8e6fdfd9e345b8f2": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "d322b9db0e5549e4ae7564b9f17cfbf3": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b2094960a71a4e0184c0bb4f9d596f97": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "a5b4132f35f141a9b87f457b5bfddaad": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_88afceca4b0e4dbeb5d4112f42dfa95a", "IPY_MODEL_f1e215cd5b0d4ca5a290793b5cc02444", "IPY_MODEL_dd858ee47ca14dfab5703a8a6199468a" ], "layout": "IPY_MODEL_535a6b9bd51a43f8be462621a118f218" } }, "88afceca4b0e4dbeb5d4112f42dfa95a": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_7a1becd02da24a0dbdc64e0819758c4d", "placeholder": "", "style": "IPY_MODEL_13c873260f394700a7d6a38dc38a7e5c", "value": "Map: 100%" } }, "f1e215cd5b0d4ca5a290793b5cc02444": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_efded291766644fdb8ad40d7df1d0357", "max": 6131, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_501713a17f30403b90d6d3c2b2af9111", "value": 6131 } }, "dd858ee47ca14dfab5703a8a6199468a": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c9f01edaabe4492a998d2907a033a0bd", "placeholder": "", "style": "IPY_MODEL_b9576292d3e44178835607142f63a2d9", "value": " 6131/6131 [00:04<00:00, 1378.99 examples/s]" } }, "535a6b9bd51a43f8be462621a118f218": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7a1becd02da24a0dbdc64e0819758c4d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "13c873260f394700a7d6a38dc38a7e5c": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "efded291766644fdb8ad40d7df1d0357": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "501713a17f30403b90d6d3c2b2af9111": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "c9f01edaabe4492a998d2907a033a0bd": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b9576292d3e44178835607142f63a2d9": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "b1c37d50bf07498ebf08e75bcbd2d9cb": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_40602555c61445a9a050c4e80ed79e10", "IPY_MODEL_38433c26d4f4427ba0b9c87f700a72ce", "IPY_MODEL_c7a0c586f74c472cb1669511bd65d3e5" ], "layout": "IPY_MODEL_6326c2a71e194bea90eb308b51ef2cd6" } }, "40602555c61445a9a050c4e80ed79e10": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_737c53bc9d294724a977702d5a2c4681", "placeholder": "", "style": "IPY_MODEL_66c08d8f8cd84230a33df6a800baa01a", "value": "Map: 100%" } }, "38433c26d4f4427ba0b9c87f700a72ce": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_19e84384f7a94cb0b8eb56e370ebf2ea", "max": 1533, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_ac6eb7244ce34263aaa93342a54757cf", "value": 1533 } }, "c7a0c586f74c472cb1669511bd65d3e5": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_6dabe1703a7f4d809e695843da2f66fe", "placeholder": "", "style": "IPY_MODEL_3e3a114a90a64cf2b511198da4c67eb5", "value": " 1533/1533 [00:01<00:00, 1430.77 examples/s]" } }, "6326c2a71e194bea90eb308b51ef2cd6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "737c53bc9d294724a977702d5a2c4681": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "66c08d8f8cd84230a33df6a800baa01a": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "19e84384f7a94cb0b8eb56e370ebf2ea": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ac6eb7244ce34263aaa93342a54757cf": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "6dabe1703a7f4d809e695843da2f66fe": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3e3a114a90a64cf2b511198da4c67eb5": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "f628f51c9a8c478d994cb497c12a3c09": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_4d39b20e621741bb993272cac5e9455c", "IPY_MODEL_cc345c2b927e4ad091c61b6b8f5f14a6", "IPY_MODEL_3c244052eb594cfea0091cc960f77ade" ], "layout": "IPY_MODEL_deb10b36597d4688a247f209653e2195" } }, "4d39b20e621741bb993272cac5e9455c": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_083f011ec85740ca8efc3462404e09e2", "placeholder": "", "style": "IPY_MODEL_06a117b243be4b1c9afd0fbb7db47db0", "value": "Map: 100%" } }, "cc345c2b927e4ad091c61b6b8f5f14a6": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_112398a1a364453d86890487dacdc7a6", "max": 6131, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_67e1463255e5432a88212f932733323a", "value": 6131 } }, "3c244052eb594cfea0091cc960f77ade": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_691a48724cd040b886cfb6b8d9aea242", "placeholder": "", "style": "IPY_MODEL_2fe06bb0be1049fdaa788ef16ddedc66", "value": " 6131/6131 [00:06<00:00, 1045.20 examples/s]" } }, "deb10b36597d4688a247f209653e2195": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "083f011ec85740ca8efc3462404e09e2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "06a117b243be4b1c9afd0fbb7db47db0": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "112398a1a364453d86890487dacdc7a6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "67e1463255e5432a88212f932733323a": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "691a48724cd040b886cfb6b8d9aea242": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2fe06bb0be1049fdaa788ef16ddedc66": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "fb6d02cb39304963837901d37c982148": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_45e2833245024765890bec5637d84c9c", "IPY_MODEL_2824618c895e4441965b5783fa9b2572", "IPY_MODEL_497d5e82ea25494190daf45bf12acdb0" ], "layout": "IPY_MODEL_6250a1a8691c41fca61584794b96e5f4" } }, "45e2833245024765890bec5637d84c9c": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_5b63945051f14946acf05eaf7c621e2a", "placeholder": "", "style": "IPY_MODEL_51b039c8a9d54658b9db69aae153703f", "value": "Map: 100%" } }, "2824618c895e4441965b5783fa9b2572": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_3cf3057d174044eab5893406a355f4ec", "max": 1533, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_89a4df4f9b054142b89b2a2fb01024e3", "value": 1533 } }, "497d5e82ea25494190daf45bf12acdb0": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_01285ef17bca493ead27bca30d9e3f1c", "placeholder": "", "style": "IPY_MODEL_44f1e554a1904c9d9ac1142e7f20fc04", "value": " 1533/1533 [00:01<00:00, 1021.12 examples/s]" } }, "6250a1a8691c41fca61584794b96e5f4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5b63945051f14946acf05eaf7c621e2a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "51b039c8a9d54658b9db69aae153703f": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "3cf3057d174044eab5893406a355f4ec": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "89a4df4f9b054142b89b2a2fb01024e3": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "01285ef17bca493ead27bca30d9e3f1c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "44f1e554a1904c9d9ac1142e7f20fc04": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "f352767983804a2db9861b5fe5d7e62d": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_61d00504878348b38c96d47aa455041e", "IPY_MODEL_af2bddf7a7d34900bf9015883ca25a0a", "IPY_MODEL_0b0d40b580c74280a285bc8172bd97aa" ], "layout": "IPY_MODEL_0c00d73b13544deba888d073e0c4d253" } }, "61d00504878348b38c96d47aa455041e": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f6cc1a0c45b3434b9ec8ada8bd9a12a8", "placeholder": "", "style": "IPY_MODEL_8347d0dbb7824e67b24885bc828ad6d5", "value": "pytorch_model.bin: 100%" } }, "af2bddf7a7d34900bf9015883ca25a0a": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_3430d7e427de495b8622deb9fdec3cfa", "max": 497805149, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_b574faa5d5074f39b524186e9a54f2bf", "value": 497805149 } }, "0b0d40b580c74280a285bc8172bd97aa": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_3ed231ed51104195b8fff16e1fec1105", "placeholder": "", "style": "IPY_MODEL_7619a3c330504c2c9bad50e69842e165", "value": " 498M/498M [00:15<00:00, 28.0MB/s]" } }, "0c00d73b13544deba888d073e0c4d253": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f6cc1a0c45b3434b9ec8ada8bd9a12a8": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8347d0dbb7824e67b24885bc828ad6d5": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "3430d7e427de495b8622deb9fdec3cfa": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b574faa5d5074f39b524186e9a54f2bf": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "3ed231ed51104195b8fff16e1fec1105": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7619a3c330504c2c9bad50e69842e165": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "c402c5d305ff4be0bece99e543f6463d": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_1a6b7810310941d8bd58ffaa40a80873", "IPY_MODEL_dc338f57ab5749f4beca661b7d8527b0", "IPY_MODEL_26c3d6e972404303a188f1b2bf934c68" ], "layout": "IPY_MODEL_47fa507495624122b86b1171da5a0301" } }, "1a6b7810310941d8bd58ffaa40a80873": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_9a4b820f09f946a4a50fa1154a5c1a64", "placeholder": "", "style": "IPY_MODEL_660cbc3708934e23bc4ca7f9c26b4de7", "value": "Downloading (…)okenizer_config.json: 100%" } }, "dc338f57ab5749f4beca661b7d8527b0": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_6939c8eae28c4aa58e7a686bab0302ae", "max": 234, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_4c1aec06373b4023a2b4424f52f22482", "value": 234 } }, "26c3d6e972404303a188f1b2bf934c68": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c00d0db59cf646a394b645e839a52f05", "placeholder": "", "style": "IPY_MODEL_9ef2af605a0f4bbcb02c8f0811ac5799", "value": " 234/234 [00:00<00:00, 4.51kB/s]" } }, "47fa507495624122b86b1171da5a0301": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9a4b820f09f946a4a50fa1154a5c1a64": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "660cbc3708934e23bc4ca7f9c26b4de7": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "6939c8eae28c4aa58e7a686bab0302ae": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4c1aec06373b4023a2b4424f52f22482": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "c00d0db59cf646a394b645e839a52f05": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9ef2af605a0f4bbcb02c8f0811ac5799": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "817d7e5b718942d6a8aa9ee588f1d079": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_94952087f8604de7aa30dbbc5bfae2f1", "IPY_MODEL_98ed5acef72544deab9088108382c218", "IPY_MODEL_04b6d69b4c5c4cf887bdbe5b1bfa5839" ], "layout": "IPY_MODEL_d5bfe70716e045639ba7339a62d014ca" } }, "94952087f8604de7aa30dbbc5bfae2f1": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a0dfeeee628140cc896d1ee98280b2a2", "placeholder": "", "style": "IPY_MODEL_3add9c585192461e83246074b4beed9d", "value": "Downloading (…)olve/main/vocab.json: 100%" } }, "98ed5acef72544deab9088108382c218": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_7009610d4c3c4f1d8721cf4e15b816f2", "max": 798156, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_f9197f4ce2914775b1773ac3d386d554", "value": 798156 } }, "04b6d69b4c5c4cf887bdbe5b1bfa5839": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_75bdc817125b4c239cee89aae0bb714c", "placeholder": "", "style": "IPY_MODEL_65ac03bc0ee048d0aa9a8f982801c030", "value": " 798k/798k [00:00<00:00, 2.45MB/s]" } }, "d5bfe70716e045639ba7339a62d014ca": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a0dfeeee628140cc896d1ee98280b2a2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3add9c585192461e83246074b4beed9d": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "7009610d4c3c4f1d8721cf4e15b816f2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f9197f4ce2914775b1773ac3d386d554": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "75bdc817125b4c239cee89aae0bb714c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "65ac03bc0ee048d0aa9a8f982801c030": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "c66e6f2f86e04155822f605730269e59": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_ad28ef7761cf4845b2ae743babf297c0", "IPY_MODEL_93e61b266b9d4e458d267965902eb875", "IPY_MODEL_80312ddb3706465e93e3d6ffe4ae9457" ], "layout": "IPY_MODEL_a1bdb86d5d9f4616b3ec1803d2e3b72f" } }, "ad28ef7761cf4845b2ae743babf297c0": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_03b8e49990014561ac25e45b29640a6b", "placeholder": "", "style": "IPY_MODEL_86010070cae64986be59cbdd34df8e18", "value": "Downloading (…)olve/main/merges.txt: 100%" } }, "93e61b266b9d4e458d267965902eb875": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_637f7951f0d0425fa319684830872d47", "max": 456318, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_ef5261d51a85449b996560daae9db342", "value": 456318 } }, "80312ddb3706465e93e3d6ffe4ae9457": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_641ca037bd2c47a6a35c8d1709a85220", "placeholder": "", "style": "IPY_MODEL_448e7ef1ca1344d8a8e41667889b4cc4", "value": " 456k/456k [00:00<00:00, 10.1MB/s]" } }, "a1bdb86d5d9f4616b3ec1803d2e3b72f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "03b8e49990014561ac25e45b29640a6b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "86010070cae64986be59cbdd34df8e18": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "637f7951f0d0425fa319684830872d47": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ef5261d51a85449b996560daae9db342": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "641ca037bd2c47a6a35c8d1709a85220": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "448e7ef1ca1344d8a8e41667889b4cc4": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "7c1e6c88334144bfbedf751e1ee1f97c": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_93e0e6f2c4a54dd4801cf91471975a8f", "IPY_MODEL_72a74e1da6a243e697ac821381af435f", "IPY_MODEL_b68404c256ce460bb498b81274236d40" ], "layout": "IPY_MODEL_a8eddec8183b4c62b1c40ddc6887c389" } }, "93e0e6f2c4a54dd4801cf91471975a8f": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f9f6457dd5874d9486ce753e2f07d0d6", "placeholder": "", "style": "IPY_MODEL_798a79a5064d418b9abbf9099f781267", "value": "Downloading (…)/main/tokenizer.json: 100%" } }, "72a74e1da6a243e697ac821381af435f": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e2a3b18384224e37ac43ae11bfbd42ea", "max": 2107653, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_931d20945c60453b9b05a0e2dc47d6d0", "value": 2107653 } }, "b68404c256ce460bb498b81274236d40": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_eca5655ec674481bab9d42d5e78f86bd", "placeholder": "", "style": "IPY_MODEL_d905020a4a204eb2b1a55d39538c03cc", "value": " 2.11M/2.11M [00:00<00:00, 5.18MB/s]" } }, "a8eddec8183b4c62b1c40ddc6887c389": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f9f6457dd5874d9486ce753e2f07d0d6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "798a79a5064d418b9abbf9099f781267": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "e2a3b18384224e37ac43ae11bfbd42ea": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "931d20945c60453b9b05a0e2dc47d6d0": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "eca5655ec674481bab9d42d5e78f86bd": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d905020a4a204eb2b1a55d39538c03cc": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "e12280f6488e4ac78e54689d8a65a563": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_9f6c9c750aef41b188eaf943815c8094", "IPY_MODEL_a8cbf992a71d4bea96ec98dfe081aefd", "IPY_MODEL_a5867db7e0254c0184e68ba8972288a2" ], "layout": "IPY_MODEL_2f5403015c76411398ae6da76dc26ec2" } }, "9f6c9c750aef41b188eaf943815c8094": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_26563120fdde4000bd6250013c6ca18f", "placeholder": "", "style": "IPY_MODEL_6ac49959a7354e93b9827c915fd92b49", "value": "Downloading (…)cial_tokens_map.json: 100%" } }, "a8cbf992a71d4bea96ec98dfe081aefd": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_92f420f69791459fa4d2056c0b7d19e9", "max": 99, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_e0937eb188ca4805b4488679ad7c6698", "value": 99 } }, "a5867db7e0254c0184e68ba8972288a2": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2990f57c5fd64f12bb40dda67d778e0f", "placeholder": "", "style": "IPY_MODEL_d1e95edf1c0646b380d895941515a133", "value": " 99.0/99.0 [00:00<00:00, 2.03kB/s]" } }, "2f5403015c76411398ae6da76dc26ec2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "26563120fdde4000bd6250013c6ca18f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6ac49959a7354e93b9827c915fd92b49": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "92f420f69791459fa4d2056c0b7d19e9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e0937eb188ca4805b4488679ad7c6698": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "2990f57c5fd64f12bb40dda67d778e0f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d1e95edf1c0646b380d895941515a133": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } } } } }, "nbformat": 4, "nbformat_minor": 0 }