{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "LBSYoWbi-45k" }, "source": [ "# **Fine-tuning XLSR-Wav2Vec2 for Multi-Lingual ASR with 🤗 Transformers**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### based on the turkish example\n", "\n", "Locally my dataset is `nahuatl_slr90_by_sentence` but it should be `nahuatl_slr92_by_sentence`.\n", "\n", "There are some **nahuatl notes**, also I filtered samples between 1 and 3 seconds to not fall in some problems of resampling or normalization of loudness, but at end did skip normalization because some samples sounded weird (not all).\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "V7YOT2mnUiea" }, "source": [ "Wav2Vec2 is a pretrained model for Automatic Speech Recognition (ASR) and was released in [September 2020](https://ai.facebook.com/blog/wav2vec-20-learning-the-structure-of-speech-from-raw-audio/) by Alexei Baevski, Michael Auli, and Alex Conneau. Soon after the superior performance of Wav2Vec2 was demonstrated on the English ASR dataset LibriSpeech, *Facebook AI* presented XLSR-Wav2Vec2 (click [here](https://arxiv.org/abs/2006.13979)). XLSR stands for *cross-lingual speech representations* and refers to XLSR-Wav2Vec2`s ability to learn speech representations that are useful across multiple languages.\n", "\n", "Similar to Wav2Vec2, XLSR-Wav2Vec2 learns powerful speech representations from hundreds of thousands of hours of speech in more than 50 languages of unlabeled speech. Similar, to [BERT's masked language modeling](http://jalammar.github.io/illustrated-bert/), the model learns contextualized speech representations by randomly masking feature vectors before passing them to a transformer network.\n", "\n", "![wav2vec2_structure](https://raw.githubusercontent.com/patrickvonplaten/scientific_images/master/xlsr_wav2vec2.png)\n", "\n", "The authors show for the first time that massively pretraining an ASR model on cross-lingual unlabeled speech data, followed by language-specific fine-tuning on very little labeled data achieves state-of-the-art results. See Table 1-5 of the official [paper](https://arxiv.org/pdf/2006.13979.pdf)." ] }, { "cell_type": "markdown", "metadata": { "id": "nT_QrfWtsxIz" }, "source": [ "In this notebook, we will give an in-detail explanation of how XLSR-Wav2Vec2's pretrained checkpoint can be fine-tuned on a low-resource ASR dataset of any language. Note that in this notebook, we will fine-tune XLSR-Wav2Vec2 without making use of a language model. It is much simpler and more efficient to use XLSR-Wav2Vec2 without a language model, but better results can be achieved by including a language model. \n", "\n", "For demonstration purposes, we fine-tune the [wav2vec2-large-xlsr-53](https://huggingface.co/facebook/wav2vec2-large-xlsr-53) on the low resource Turkish ASR dataset of [Common Voice](https://huggingface.co/datasets/common_voice) that contains just ~6h of validated training data." ] }, { "cell_type": "markdown", "metadata": { "id": "Gx9OdDYrCtQ1" }, "source": [ "XLSR-Wav2Vec2 is fine-tuned using Connectionist Temporal Classification (CTC), which is an algorithm that is used to train neural networks for sequence-to-sequence problems and mainly in Automatic Speech Recognition and handwriting recognition. \n", "\n", "I highly recommend reading the blog post [Sequence Modeling with CTC (2017)](https://distill.pub/2017/ctc/) very well-written blog post by Awni Hannun." ] }, { "cell_type": "markdown", "metadata": { "id": "e335hPmdtASZ" }, "source": [ "Before we start, let's install both `datasets` and `transformers` from master. Also, we need the `torchaudio` and `librosa` package to load audio files and the `jiwer` to evaluate our fine-tuned model using the [word error rate (WER)](https://huggingface.co/metrics/wer) metric ${}^1$." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "c8eh87Hoee5d" }, "outputs": [], "source": [ "# %%capture\n", "# !pip install datasets==1.4.1\n", "# # !pip install transformers==4.4.0\n", "# !pip install torchaudio\n", "# !pip install librosa\n", "# !pip install jiwer" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# %%capture\n", "# !pip install git+https://github.com/huggingface/transformers.git" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# %%capture\n", "# !pip install wandb --upgrade" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "env: WANDB_ENTITY=wandb\n", "env: WANDB_PROJECT=xlsr-nahuatl\n", "env: WANDB_LOG_MODEL=true\n" ] } ], "source": [ "import os\n", "import wandb\n", "\n", "# W&B company account\n", "%env WANDB_ENTITY = wandb\n", "entity = os.environ[\"WANDB_ENTITY\"]\n", "\n", "# Choose the public W&B project\n", "%env WANDB_PROJECT = xlsr-nahuatl\n", "project_name = os.environ[\"WANDB_PROJECT\"]\n", "\n", "# Log your trained model to W&B as an Artifact\n", "%env WANDB_LOG_MODEL = true " ] }, { "cell_type": "markdown", "metadata": { "id": "Mn9swf6EQ9Vd" }, "source": [ "\n", "\n", "\n", "---\n", "\n", "${}^1$ In the [paper](https://arxiv.org/pdf/2006.13979.pdf), the model was evaluated using the phoneme error rate (PER), but by far the most common metric in ASR is the word error rate (WER). To keep this notebook as general as possible we decided to evaluate the model using WER." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mfastai_community\u001b[0m (use `wandb login --relogin` to force relogin)\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wandb.login()" ] }, { "cell_type": "markdown", "metadata": { "id": "0mW-C1Nt-j7k" }, "source": [ "## Prepare Data, Tokenizer, Feature Extractor" ] }, { "cell_type": "markdown", "metadata": { "id": "BeBosnY9BH3e" }, "source": [ "ASR models transcribe speech to text, which means that we both need a feature extractor that processes the speech signal to the model's input format, *e.g.* a feature vector, and a tokenizer that processes the model's output format to text. \n", "\n", "In 🤗 Transformers, the XLSR-Wav2Vec2 model is thus accompanied by both a tokenizer, called [Wav2Vec2CTCTokenizer](https://huggingface.co/transformers/master/model_doc/wav2vec2.html#wav2vec2ctctokenizer), and a feature extractor, called [Wav2Vec2FeatureExtractor](https://huggingface.co/transformers/master/model_doc/wav2vec2.html#wav2vec2featureextractor).\n", "\n", "Let's start by creating the tokenizer responsible for decoding the model's predictions." ] }, { "cell_type": "markdown", "metadata": { "id": "sEXEWEJGQPqD" }, "source": [ "### Create Wav2Vec2CTCTokenizer" ] }, { "cell_type": "markdown", "metadata": { "id": "tWmMikuNEKl_" }, "source": [ "The [pretrained Wav2Vec2 checkpoint]( ) maps the speech signal to a sequence of context representations as illustrated in the figure above. A fine-tuned XLSR-Wav2Vec2 checkpoint needs to map this sequence of context representations to its corresponding transcription so that a linear layer has to be added on top of the transformer block (shown in yellow). This linear layer is used to classifies each context representation to a token class analogous how, *e.g.*, after pretraining a linear layer is added on top of BERT's embeddings for further classification - *cf.* with *\"BERT\"* section of this [blog post](https://huggingface.co/blog/warm-starting-encoder-decoder).\n", "\n", "The output size of this layer corresponds to the number of tokens in the vocabulary, which does **not** depend on XLSR-Wav2Vec2's pretraining task, but only on the labeled dataset used for fine-tuning. So in the first step, we will take a look at Common Voice and define a vocabulary based on the dataset's transcriptions." ] }, { "cell_type": "markdown", "metadata": { "id": "idBczw8mWzgt" }, "source": [ "First, let's go to [Common Voice](https://commonvoice.mozilla.org/en/datasets) and pick a language to fine-tune XLSR-Wav2Vec2 on. For this notebook, we will use Turkish. \n", "\n", "For each language-specific dataset, you can find a language code corresponding to your chosen language. On [Common Voice](https://commonvoice.mozilla.org/en/datasets), look for the field \"Version\". The language code then corresponds to the prefix before the underscore. For Turkish, *e.g.* the language code is `\"tr\"`.\n", "\n", "Great, now we can use 🤗 Datasets' simple API to download the data. The dataset name will be `\"common_voice\"`, the config name corresponds to the language code - `\"tr\"` in our case." ] }, { "cell_type": "markdown", "metadata": { "id": "bee4g9rpLxll" }, "source": [ "Common Voice has many different splits including `invalidated`, which refers to data that was not rated as \"clean enough\" to be considered useful. In this notebook, we will only make use of the splits `\"train\"`, `\"validation\"` and `\"test\"`. \n", "\n", "Because the Turkish dataset is so small, we will merge both the validation and training data into a training dataset and simply use the test data for validation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### nahuatl notes\n", "\n", "It seems that adding other languages to the trainning of the target language does help. So I have decided this time to take one and a half hour on trainning 50 epochs that means each epochs needs to be executed in around 2 minutes.\n", "\n", "With 2000 samples, it took around 3-6 hours. So taking 15 samples per second:\n", "\n", "* `15*60*90=81000`\n", "* `15*60*60=54000`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### nahuatl notes\n", "\n", "Create a nahhuatl dataset from the csv" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using custom data configuration default-08b4e7b91c5bfd2a\n", "Reusing dataset csv (/home/tyoc213/.cache/huggingface/datasets/csv/default-08b4e7b91c5bfd2a/0.0.0/2dc6629a9ff6b5697d82c25b73731dd440507a69cbce8b425db50b751e8fcfd0)\n" ] }, { "data": { "text/plain": [ "Dataset({\n", " features: ['main_file', 'chunk', 'start', 'end', 'duration', 'path', 'has_spanish', 'sentence'],\n", " num_rows: 136638\n", "})" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from datasets import load_dataset, load_metric, Dataset\n", "\n", "common_voice_train = load_dataset('csv', data_files='nahuatl_slr90_by_sentence/sentences.csv', split=\"train\")\n", "common_voice_train" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(176.1681610306425, 4.641500751696549, 0.1999999999999318, 211.803)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "ds = pd.read_csv('nahuatl_slr90_by_sentence/sentences.csv')\n", "ds['path'] = ('nahuatl_slr90_by_sentence/'+ds['path']).replace('flac', '')\n", "\n", "ds['duration'].sum()/60/60, ds['duration'].mean(), ds['duration'].min(), ds['duration'].max()" ] }, { "attachments": { "image.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDYAAAGECAYAAADN6aCVAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAmdEVYdENyZWF0aW9uIFRpbWUAanVlIDI1IG1hciAyMDIxIDEzOjU5OjUxrs48UQAAIABJREFUeJzs3XtclGX+//HXMMDMKMqIGqMZg2UOW8lYbtBJqN0V9yRmK7r7S2y3xGpX2kPSd3fD9qDWblLthltb2Am0g9hBaCuxk1i7QSexg46ZOpoG5gFEYYbj749BBPEw6ACi7+fjMY8HzH3PdX/u+77ue+b+3Nd13Ybm5uZmRERERERERER6oaCeDkBERERERERE5EQpsSEiIiIiIiIivZYSGyIiIiIiIiLSaymxISIiIiIiIiK9lhIbIiIiIiIiItJrKbEhIiIiIiIiIr2WEhsiIiIiIiIi0mspsSEiIiIiIiIivZYSGyIiIiIiIiLSaymxISIiIiIiIiK9VnBPByCHVFdXs3XrVurr63s6FBEREREREZFTVkhICFFRUfTr10+JjVPJ1q1bGTZsGCaTqadDERERERERETlleb1etm7dyoUXXqiuKKeS+vp6JTVEREREREREjsNkMrX2dlBiQ0RERERERER6LSU2RERERERERKTXUmJDRERERERERHotJTZEREREREREpNdSYkNEREREREREei0lNkRERERERESk1zptExsf3P8cF1/9JBdfncfv3+mCBWz9hKlXP+lbxi9d7OqCRfQITz7JVgcZJT0diIiIiIiIiMjxBXfnwt7929PMeq3usHfP5i8vjyM5LPDLC73qOxTPi8LU9s3SVYy9YzP7O8xt448vfJ+UiEY+eHoVD772Da6ttdSFWhg5egS3/G4M19jazB41iufeHsXmp1/kp12RODloexAfp4fwlQssVzYwJquRAf3bz7J3UQgf/suI19TEOfPrif1u85HLKkjFOtPM0vIcko66wCgmpCRjtR11BhEREREREZFTRrcmNr4980e8MLmRLQWr+N07Efzl3lE4QkMZ2gVJjaMaHUdu7ijq2uRXXE+vZH55FFdGADRCWDgTfu7gNpuFfnVVFDz6P353RyPP5sbh6MZQAb7+Wwjlpka+/UgzX/0lmLVLm0ic0SZxsSmYNf8KYsDv67BtDmbN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h1xxxRWtcfbp04c33niDvXv3Yjabueiii7j22mtbL/S7w8GL0IiICIxGI/369SMiIoKgoKDWv4+3rgclJCSwbds2nnjiCWpra0lMTGTSpEkA3HDDDbz88su8/PLL1NTUMGDAAGJiYhg8eHBr0qBfv34YDAaOd/4Mag4iOCi4w3yFhYW88cYbrf8//vjjAMTExHDLLbf4tV8Pmjp1KsuXL+e9996jqamJe+65B4vFdxDPmjWLgoIClixZQlNTE2eddRbx8fHt6lddXR1LliyhX79+XHPNNTz//PMMHDiQ8PDw465rREQEU6ZMoaCggKamJgYMGMB3vvMdXn755Q7zJycn8/TTT5OdnU19fT033XQTo0aN8mubH+846IzrrruOvLw8HnroIRobG1u3VyCO18svv5zq6mqeeuopTCYTF198MeHh4YSFhbXOExQU1O7/sLAwgoKCAnq8RkRE8Prrr7NixQqCgoKIjo7mpptuOuK2imn+gq/7X8oFhgPt3j/eMT958mSeffZZsrOzCQkJYcyYMURFRdGnT592y2lsNrC1+UK+H/QGESb93hAREZGuYcjNzVWLDRER4fPPP+e+++5j0aJFra0p5PS2pzGMR6rGk259mbCgwI/x9LFnOB94zyctvCjgZYuIiMjp6cLzo9ViQ0RE/ON2u9m2bRujRo3C6/Xy6quvkpiYyMCBA3s6NOkmEcBPzetpChlChHlfwMvvuy+M6we61FpDREREupTh3XffVYsNEZEzkMvlYv78+Xz11Vf07duXK664gvT09NZxPUREREREups5qLHTLTYMn376qRIbIiLSK73zzju88847R53ep08fbrvttm6MSEREREROhrd6T+cTG263W4kNEREREREREelxu3a4Oz/GxsFHU4qIiIiIiIiI9DbB3fm4RhERERERERGRQAoODQ3t6RjkNDL/zX+z/PM3+LTiC5qamym6aREJwy9tnf5ZxRfMKXqQkm1r2V1TScLwb1N002M9GLGIiIiIiIj0ZsHBwcE9HYOcRgrWvcm2qnL6m8Ko9FRjNBppW8e2VO7gVVcxUdah7K6pxGAwoDooIiIiIiIiJyrYYDD0dAxyGnlh+kLsA4Yy8alf8p91qwBoW8cSz7uUXX9+j427txKfPaXDdBEREREREZHOCA4KCurpGOQ0cu6gc9r9HxQURNs6NrDvAN/7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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "##### nahuatl note\n", "\n", "Some audios are less than .5 seconds which `batch all {'path': 'nahuatl_slr90_by_sentence/0_109', 'sentence': 'ipa yehwa sah** '}` is `660.817-660.431=0.386` and causes this exception `ValueError: Audio must be have length greater than the block size`\n", "\n", "![image.png](attachment:image.png)\n", "\n", "##### nahuatl note\n", "\n", "Also filter out all the samples that has spanish in it, this will allow for only nahuatl and have less quantity of samples because processing them in `speech_file_to_array_loud_norm_fn` is slow on computer." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(32.00688685763889, 2.7633832814710892, 1.0009999999999764, 3.999000000000024)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds = pd.read_csv('nahuatl_slr90_by_sentence/sentences.csv')\n", "ds['path'] = ('nahuatl_slr90_by_sentence/'+ds['path']).replace('flac', '')\n", "ds = ds.loc[ds['duration'] > 1]\n", "ds = ds.loc[ds['duration'] < 4]\n", "ds = ds.loc[ds['has_spanish'] == 0]\n", "ds['duration'].sum()/60/60, ds['duration'].mean(), ds['duration'].min(), ds['duration'].max()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "41697" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(ds)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(23.250494444449995, 2.7900593333339994, 1.027000000000001, 3.999000000000024)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# dsr = ds.sample(2000)\n", "# dsr['duration'].sum()/60/60, dsr['duration'].mean(), dsr['duration'].min(), dsr['duration'].max()\n", "dsr = ds.head(2000)\n", "dsr_head = ds.head(1500)\n", "dsr_tail = ds.head(500)\n", "dsr_tail = dsr_tail.sample(100)\n", "\n", "# use only a fraction for faster epoch time\n", "dsr = dsr_head.sample(500)\n", "dsr['duration'].sum()/60, dsr['duration'].mean(), dsr['duration'].min(), dsr['duration'].max()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### nahuatl note\n", "\n", "Some files have nans when resample is made...\n", "\n", "##### nahuatl notes\n", "\n", "Because this is not a dataset from common voice, it needs to be made as https://discuss.huggingface.co/t/how-to-combine-local-data-files-with-an-official-dataset/4685/3 and each sample is exported as json" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "#!ls /home/tyoc213/Documents/github/hf-xlsr-wav2vec2/nahuatl_slr90_by_sentence/" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from datasets import load_dataset, load_metric\n", "\n", "ds_train = ds[:1000]\n", "ds_valid = ds[1500:]\n", "\n", "common_voice_train = Dataset.from_pandas(dsr) # load_dataset(\"json\", data_files=[f\"sample_{i}.json\" for i in range(0, train_total)], split=\"train\")\n", "common_voice_train = common_voice_train.remove_columns(['main_file', 'chunk', 'start', 'end', 'duration', 'has_spanish', '__index_level_0__'])\n", "common_voice_test = Dataset.from_pandas(dsr_tail) # load_dataset(\"json\", data_files=[f\"sample_{i}.json\" for i in range(train_total, total_jsons)], split=\"train\")\n", "common_voice_test = common_voice_test.remove_columns(['main_file', 'chunk', 'start', 'end', 'duration', 'has_spanish', '__index_level_0__'])" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Reusing dataset common_voice (/home/tyoc213/.cache/huggingface/datasets/common_voice/es/6.1.0/0041e06ab061b91d0a23234a2221e87970a19cf3a81b20901474cffffeb7869f)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 132 ms, sys: 8.86 ms, total: 141 ms\n", "Wall time: 1.13 s\n" ] }, { "data": { "text/plain": [ "Dataset({\n", " features: ['path', 'sentence'],\n", " num_rows: 50\n", "})" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "\n", "import random\n", "es = load_dataset(\"common_voice\", \"es\", split=\"train+validation\")\n", "es = es.remove_columns(['client_id', 'up_votes', 'down_votes', 'age', 'gender', 'accent', 'locale', 'segment'])\n", "\n", "es = es.select(random.sample(range(len(es)), k=50))\n", "\n", "les = []\n", "for i in range(len(es)):\n", " les.append({'path': es[i]['path'], 'sentence': es[i]['sentence']})\n", "\n", "es = pd.DataFrame(les)\n", "es = Dataset.from_pandas(es)\n", "es" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Reusing dataset common_voice (/home/tyoc213/.cache/huggingface/datasets/common_voice/de/6.1.0/0041e06ab061b91d0a23234a2221e87970a19cf3a81b20901474cffffeb7869f)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 155 ms, sys: 18.5 ms, total: 173 ms\n", "Wall time: 870 ms\n" ] }, { "data": { "text/plain": [ "Dataset({\n", " features: ['path', 'sentence'],\n", " num_rows: 50\n", "})" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "\n", "import random\n", "de = load_dataset(\"common_voice\", \"de\", split=\"train+validation\")\n", "de = de.remove_columns(['client_id', 'up_votes', 'down_votes', 'age', 'gender', 'accent', 'locale', 'segment'])\n", "\n", "de = de.select(random.sample(range(len(de)), k=50))\n", "\n", "lde = []\n", "for i in range(len(de)):\n", " lde.append({'path': de[i]['path'], 'sentence': de[i]['sentence']})\n", "\n", "de = pd.DataFrame(lde)\n", "de = Dataset.from_pandas(de)\n", "de" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(Dataset({\n", " features: ['path', 'sentence'],\n", " num_rows: 500\n", " }),\n", " Dataset({\n", " features: ['path', 'sentence'],\n", " num_rows: 100\n", " }))" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "common_voice_train, common_voice_test" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(Dataset({\n", " features: ['path', 'sentence'],\n", " num_rows: 600\n", " }),\n", " Dataset({\n", " features: ['path', 'sentence'],\n", " num_rows: 100\n", " }))" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import datasets\n", "common_voice_train = datasets.concatenate_datasets([es, de, common_voice_train])\n", "common_voice_train, common_voice_test" ] }, { "cell_type": "markdown", "metadata": { "id": "ri5y5N_HMANq" }, "source": [ "Many ASR datasets only provide the target text, `'sentence'` for each audio file `'path'`. Common Voice actually provides much more information about each audio file, such as the `'accent'`, etc. However, we want to keep the notebook as general as possible, so that we will only consider the transcribed text for fine-tuning.\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "Go9Hq4e4NDT9" }, "source": [ "Let's write a short function to display some random samples of the dataset and run it a couple of times to get a feeling for the transcriptions." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "id": "72737oog2F6U" }, "outputs": [], "source": [ "from datasets import ClassLabel\n", "import random\n", "import pandas as pd\n", "from IPython.display import display, HTML\n", "\n", "def show_random_elements(dataset, num_examples=10):\n", " assert num_examples <= len(dataset), \"Can't pick more elements than there are in the dataset.\"\n", " picks = []\n", " for _ in range(num_examples):\n", " pick = random.randint(0, len(dataset)-1)\n", " while pick in picks:\n", " pick = random.randint(0, len(dataset)-1)\n", " picks.append(pick)\n", " \n", " df = pd.DataFrame(dataset[picks])\n", " display(HTML(df.to_html()))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 669 }, "id": "K_JUmf3G3b9S", "outputId": "a8fe6d21-b0ce-4d5b-e3a2-abe08ae551f7" }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence
0pos tik..., tikichkwayah yo:n ma:pahkamoh.
1Yo:n ye:kte:kokoh ke:meh, ke:meh a:lsimit
2¿Wa:n ka:walpox?
3Ke:mah, neli tikokototskeh para tikmahkeh.
4Iwki nikchi:wa, nikita kwaltia ya pos nikpa:ka ya wa:n ni...,
5semi tsohtsope:k, ke:mah.
6xa: tikitaka ya no:.
7¿Kati:yeh xiwit, yo:n ke:ní:w tikto:ka:itiah?
8tepitsi:n wehwei ke:meh kahbe:nxiwit,
9wa:n ompa kikwah nijó:n iteyo de n' xo:no:t
10Wa:n onkak n' tein xohxole:wih.
11Die Garten-Entwürfe zeigen die typischen Beet-Reihungen der Renaissance-Gärten.
12Estudió Lingüística y Literatura Hispánica en la Pontificia Universidad Católica del Perú.
13Además, se elevó la relación de compresión del motor utilizando nuevos pistones.
14Yehwa i:n ke:mah, a:mo, i:n a:mo we:lik.
15nochi yehwa i:n de n' xiwtsitsi:n, ta:taman nochi tikmatih
16Ninemik To:nali:x, nimoskaltih.
17Soh mah se: kito:ka sah, ke:meh nimitsilia ne: ohti onkak, ne: ohte:noh
18Wa:n i:n seki kowitomtmeh itech kowit mota:liah,
19Wa:n a:mo semi wehkapantia, tsikitsi:n ihkó:n, tsikitsitsi:n.Ta:lpantsitsi:n mochi:wa.
20Die Bahn wird nicht ausgenutzt.
21wa:n timoliah tehwa:n ke tiweliskeh.
22Tres nuevos equipos se integran a esta categoría en esta temporada.
23Earl of Pembroke und von dessen Gemahlin Isabel de Clare.
24A:man na:nah xte:chtapowi ne: i:n
25A:mo te:pahwih nió:n tei, ne: tsope:k ne:n kowtet.
26Nochi iwa:n, iwa:n ya imekayo wa:n xiwit, mah se: kisenta:li.
27Wa:n, wa:n no: cha:wak.
28para ne: ne:stiw a, ne:stiw a kihto:s no:pá:n \"nika:n yetok a,
29Pero pueden ser empleadas para otros usos.
30se: taki:tskil tikwiti wa:n tikmolo:ntia wa:n
31Pos...pos de te:n tikmatih, yehwa sah neji:ni de n' xiwtsí:n de n' tsope:likxiwit.
32Tsikitsitsi:n.
33Entó:s ki:sa ya tech n' koxta:l oso ne: ka:mpa se: ka:ta:lihtok.
34Wa:n nehwa m'pahtih. Mm.
35Neli, ke:meh yo:n ka:mpa onkak, pos se: kwelita kwaltsi:n no:.
36\"¿Ke:yeh m'ijos n' a:xka:n tehwa:n,
37Chichinawi wa:n miak mote:ma ne:n, ne:n kownex.
38Zusammen mit Garrett Tierney und Brian Lane gründete er zunächst The Rookie Lot.
39Soh ixo:chio a:it ke:yeh nijó:n chi:chi:ltik.
40Panxa:ltik tepistsi:n ke:meh i:n wa:xin. Mm.
41Entó:s tetampa ya pos a:mo wel tiki:xti:tih
42Oso itech tet.Itech kowit, oso te..., te..., itech tet mochi:wa.
43Nejó:n ihkó:n tahtamati
44Pos nimono:tsa niCelina González Nazario.
45wa:n pané: achi pototik n' ipane:wayo,
46Pos yeh tsikitsitsi:n wa:n kahkana:wak.
47pisi:ltik wa:n wehwei. Yehwa n' ekin tne:chilwihtoya.
48tikwitih wa:n nikmana.A:, ke:mah.
49komohkó:n kilpihkeh ka:sá: kahfe:ntah wa:n onkak, no: kikwa ata yo:n xiwit, kikwa no:.
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_random_elements(common_voice_train.remove_columns([\"path\"]), num_examples=50)" ] }, { "cell_type": "markdown", "metadata": { "id": "fowcOllGNNju" }, "source": [ "Alright! The transcriptions look fairly clean. Having translated the transcribed sentences (I'm sadly not a native speaker in Turkish), it seems that the language corresponds more to written text than noisy dialogue. This makes sense taking into account that [Common Voice](https://huggingface.co/datasets/common_voice) is a crowd-sourced read speech corpus." ] }, { "cell_type": "markdown", "metadata": { "id": "vq7OR50LN49m" }, "source": [ "We can see that the transcriptions contain some special characters, such as `,.?!;:`. Without a language model, it is much harder to classify speech chunks to such special characters because they don't really correspond to a characteristic sound unit. *E.g.*, the letter `\"s\"` has a more or less clear sound, whereas the special character `\".\"` does not.\n", "Also in order to understand the meaning of a speech signal, it is usually not necessary to include special characters in the transcription.\n", "\n", "In addition, we normalize the text to only have lower case letters and append a word separator token at the end." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "additional chars to remove = ( ) -" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Nahuatl note\n", "\n", "`:` is for indicating a long vowel, we should delete that? or convert to other char? like `o: = ó`?" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "id": "svKzVJ_hQGK6" }, "outputs": [], "source": [ "import re\n", "#chars_to_ignore_regex = '[\\,\\?\\.\\!\\-\\;\\:\\\"\\“\\%\\‘\\”\\�\\(\\)\\-]'\n", "chars_to_ignore_regex = '[\\,\\?\\.\\!\\-\\;\\\"\\“\\%\\‘\\”\\�\\(\\)\\-]'\n", "\n", "def remove_special_characters(batch):\n", " batch[\"sentence\"] = re.sub(chars_to_ignore_regex, '', batch[\"sentence\"]).lower() + \" \"\n", " return batch" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 117, "referenced_widgets": [ "92a35db69bbf4ad6af44c53aa3870be5", "389e43e47a734193a507817ebad955f7", "b94e374d92c146009447c3827b977267", "1f1faa7b986e475c9e6839b2e7b55c74", "4ff7ccffc36a4a0f93031f5cdc3b718d", "b177a8cb85a24b88ab6d56205b630f1d", "2ca2f397c4ef405bba27ae2b1415cada", "b320306eaf264ad9872d507a1a1cb2da", "cc9c1e00c2d34516b8fd9edff96bb0d8", "6abfbe44a1bd4518b41f5f53f920e936", "33c92b5afd1d4b6d88016aabfb434194", "998676d59f9c464e8463d65baad6448b", "45f0a2f361da4608bc8314a27657a56c", "3dc9ea77b842455a91f00e9ca9f41948", "7bf5b2b625764f63ad57a360c3fd0a61", "7b4cfd2b448643b8a4409dd612aef0d1" ] }, "id": "XIHocAuTQbBR", "outputId": "cc1a70b2-7b4d-410b-f997-1f1c47c3c9e5" }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b2a4ebe8dd2e4c2f850d68415d2f323d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, max=600.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1aa6a8a0e5c34338818a6638e1a7ac01", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "CPU times: user 493 ms, sys: 114 ms, total: 607 ms\n", "Wall time: 627 ms\n" ] } ], "source": [ "%%time\n", "common_voice_train = common_voice_train.map(remove_special_characters)\n", "common_voice_test = common_voice_test.map(remove_special_characters)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 359 }, "id": "RBDRAAYxRE6n", "outputId": "c3a72eaa-8ddc-4283-ccb8-52e50215b84d" }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence
0¿wa:n ixiwyo ahalaxtik xaxakachtik
1ke:meh kintsi:n i:n new
2¿n yo:n xiwit no: onkak n' tein ista:kajá
3wa:n wa:n no: cha:wak
4tepitsi:n wehwei ke:meh kahbe:nxiwit
5se: tataxiskwi se: mokwa:te:kilia no:chi se: iyo:li:ka:n se: iyo:lpan
6ki:sa pané: tixti ne: n' ihtik yo:n okwiltsi:n
7el condado recibe su nombre en honor a jesse lee reno
8yo:n porin t'tatsiwiliah para timo para timota:li:skeh tehwa:n t'chihchi:waskeh pahti
9tras el incidente se recuperó y salió de la cancha por sus propios medios
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_random_elements(common_voice_train.remove_columns([\"path\"]))" ] }, { "cell_type": "markdown", "metadata": { "id": "jwfaptH5RJwA" }, "source": [ "Good! This looks better. We have removed most special characters from transcriptions and normalized them to lower-case only.\n", "\n", "In CTC, it is common to classify speech chunks into letters, so we will do the same here. \n", "Let's extract all distinct letters of the training and test data and build our vocabulary from this set of letters.\n", "\n", "We write a mapping function that concatenates all transcriptions into one long transcription and then transforms the string into a set of chars. \n", "It is important to pass the argument `batched=True` to the `map(...)` function so that the mapping function has access to all transcriptions at once." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "id": "LwCshNbbeRZR" }, "outputs": [], "source": [ "def extract_all_chars(batch):\n", " all_text = \" \".join(batch[\"sentence\"])\n", " vocab = list(set(all_text))\n", " return {\"vocab\": [vocab], \"all_text\": [all_text]}" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 117, "referenced_widgets": [ "304e9130c12f4110941bfbd3db49a28c", "5e6bae23461b4378b6e5fc890fe6bc97", "75e00c38605f44cfb584067db1160349", "8c07a528fc4a4e108b393ab117fe2e46", "c01aca3229a24d41841be2b4a3a65bcc", "73ecbfc3c5c5456bb42e19b8a34b1576", "813fc95246034f5cb9e5198897b4ed42", "8bb78a89ff81400791e3005098fdcb94", "bd0958ea97b141b1aca367c71721c549", "0354ab33471e4c34a0c1b3c062bcd6bb", "d080668299ef42fabb8ab6fbcf329cea", "aafd4b2c56db43378c4627797665db17", "b0f3a205ad4546188fc6e7e7cf96ab32", "f972527479e74337a98f236ed018ae1d", "ccb720bf256e42f7b0251494ccb7741f", "ad428686450f4ebdb50a0356b2e5a8c4" ] }, "id": "_m6uUjjcfbjH", "outputId": "75a1a23f-a9c7-4c8b-8777-dad120a9aa9a" }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bb82c9c8e8b448cd9220aff6f1ac0ee4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "77000a5ba096427cbc877893e12525d6", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, max=1.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "vocab_train = common_voice_train.map(extract_all_chars, batched=True, batch_size=-1, keep_in_memory=True, remove_columns=common_voice_train.column_names)\n", "vocab_test = common_voice_test.map(extract_all_chars, batched=True, batch_size=-1, keep_in_memory=True, remove_columns=common_voice_test.column_names)" ] }, { "cell_type": "markdown", "metadata": { "id": "7oVgE8RZSJNP" }, "source": [ "Now, we create the union of all distinct letters in the training dataset and test dataset and convert the resulting list into an enumerated dictionary." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "id": "aQfneNsmlJI0" }, "outputs": [], "source": [ "vocab_list = list(set(vocab_train[\"vocab\"][0]) | set(vocab_test[\"vocab\"][0]))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "_0kRndSvqaKk", "outputId": "29f5d23f-75b1-44d0-9975-87f9ec4c0aa5" }, "outputs": [ { "data": { "text/plain": [ "[' ',\n", " \"'\",\n", " ':',\n", " '[',\n", " ']',\n", " 'a',\n", " 'b',\n", " 'c',\n", " 'd',\n", " 'e',\n", " 'f',\n", " 'g',\n", " 'h',\n", " 'i',\n", " 'j',\n", " 'k',\n", " 'l',\n", " 'm',\n", " 'n',\n", " 'o',\n", " 'p',\n", " 'q',\n", " 'r',\n", " 's',\n", " 't',\n", " 'u',\n", " 'v',\n", " 'w',\n", " 'x',\n", " 'y',\n", " 'z',\n", " '¿',\n", " 'ß',\n", " 'á',\n", " 'ä',\n", " 'é',\n", " 'í',\n", " 'ñ',\n", " 'ó',\n", " 'ö',\n", " 'ú',\n", " 'ü',\n", " '„']" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vocab_dict = {v: k for k, v in enumerate(vocab_list)}\n", "sorted(vocab_dict.keys())" ] }, { "cell_type": "markdown", "metadata": { "id": "JOSzbvs9SXT1" }, "source": [ "Cool, we see that all letters of the alphabet occur in the dataset (which is not really surprising) and we also extracted the special characters `\" \"` and `'`. Note that we did not exclude those special characters because: \n", "\n", "- The model has to learn to predict when a word is finished or else the model prediction would always be a sequence of chars which would make it impossible to separate words from each other.\n", "- From the transcriptions above it seems that words that include an apostrophe, such as `maktouf'un` do exist in Turkish, so I decided to keep the apostrophe in the dataset. This might be a wrong assumption though.\n", "\n", "One should always keep in mind that the data-preprocessing is a very important step before training your model. E.g., we don't want our model to differentiate between `a` and `A` just because we forgot to normalize the data. The difference between `a` and `A` does not depend on the \"sound\" of the letter at all, but more on grammatical rules - *e.g.* use a capitalized letter at the beginning of the sentence. So it is sensible to remove the difference between capitalized and non-capitalized letters so that the model has an easier time learning to transcribe speech. \n", "\n", "It is always advantageous to get help from a native speaker of the language you would like to transcribe to verify whether the assumptions you made are sensible, *e.g.* I should have made sure that keeping `'`, but removing other special characters is a sensible choice for Turkish. " ] }, { "cell_type": "markdown", "metadata": { "id": "b1fBRCn-TRaO" }, "source": [ "To make it clearer that `\" \"` has its own token class, we give it a more visible character `|`. In addition, we also add an \"unknown\" token so that the model can later deal with characters not encountered in Common Voice's training set. \n", "\n", "Finally, we also add a padding token that corresponds to CTC's \"*blank token*\". The \"blank token\" is a core component of the CTC algorithm. For more information, please take a look at the \"Alignment\" section [here](https://distill.pub/2017/ctc/)." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "id": "npbIbBoLgaFX" }, "outputs": [], "source": [ "vocab_dict[\"|\"] = vocab_dict[\" \"]\n", "del vocab_dict[\" \"]" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "znF0bNunsjbl", "outputId": "6dd50862-f4c5-4a05-87a7-da03d157e30e" }, "outputs": [ { "data": { "text/plain": [ "45" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vocab_dict[\"[UNK]\"] = len(vocab_dict)\n", "vocab_dict[\"[PAD]\"] = len(vocab_dict)\n", "len(vocab_dict)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'x': 0,\n", " 'v': 1,\n", " ']': 2,\n", " 'í': 3,\n", " ':': 4,\n", " 'k': 5,\n", " 'y': 6,\n", " 'ö': 7,\n", " \"'\": 8,\n", " 'h': 9,\n", " '¿': 11,\n", " 'ñ': 12,\n", " 'n': 13,\n", " 'ü': 14,\n", " 'ä': 15,\n", " 't': 16,\n", " 'm': 17,\n", " 's': 18,\n", " 'g': 19,\n", " 'á': 20,\n", " 'z': 21,\n", " 'o': 22,\n", " 'w': 23,\n", " '[': 24,\n", " 'r': 25,\n", " 'b': 26,\n", " 'ß': 27,\n", " 'd': 28,\n", " 'ó': 29,\n", " 'i': 30,\n", " 'e': 31,\n", " '„': 32,\n", " 'ú': 33,\n", " 'c': 34,\n", " 'f': 35,\n", " 'p': 36,\n", " 'a': 37,\n", " 'l': 38,\n", " 'q': 39,\n", " 'j': 40,\n", " 'u': 41,\n", " 'é': 42,\n", " '|': 10,\n", " '[UNK]': 43,\n", " '[PAD]': 44}" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vocab_dict" ] }, { "cell_type": "markdown", "metadata": { "id": "SFPGfet8U5sL" }, "source": [ "Cool, now our vocabulary is complete and consists of 39 tokens, which means that the linear layer that we will add on top of the pretrained XLSR-Wav2Vec2 checkpoint will have an output dimension of 39." ] }, { "cell_type": "markdown", "metadata": { "id": "1CujRgBNVRaD" }, "source": [ "Let's now save the vocabulary as a json file." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "id": "ehyUoh9vk191" }, "outputs": [], "source": [ "import json\n", "with open('vocab.json', 'w') as vocab_file:\n", " json.dump(vocab_dict, vocab_file)" ] }, { "cell_type": "markdown", "metadata": { "id": "SHJDaKlIVVim" }, "source": [ "In a final step, we use the json file to instantiate an object of the `Wav2Vec2CTCTokenizer` class." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "id": "xriFGEWQkO4M" }, "outputs": [], "source": [ "from transformers import Wav2Vec2CTCTokenizer\n", "\n", "tokenizer = Wav2Vec2CTCTokenizer(\"./vocab.json\", unk_token=\"[UNK]\", pad_token=\"[PAD]\", word_delimiter_token=\"|\")" ] }, { "cell_type": "markdown", "metadata": { "id": "KvL12DrNV4cx" }, "source": [ "Next, we will create the feature extractor." ] }, { "cell_type": "markdown", "metadata": { "id": "mYcIiR2FQ96i" }, "source": [ "### Create XLSR-Wav2Vec2 Feature Extractor" ] }, { "cell_type": "markdown", "metadata": { "id": "Y6mDEyW719rx" }, "source": [ "Speech is a continuous signal and to be treated by computers, it first has to be discretized, which is usually called **sampling**. The sampling rate hereby plays an important role in that it defines how many data points of the speech signal are measured per second. Therefore, sampling with a higher sampling rate results in a better approximation of the *real* speech signal but also necessitates more values per second.\n", "\n", "A pretrained checkpoint expects its input data to have been sampled more or less from the same distribution as the data it was trained on. The same speech signals sampled at two different rates have a very different distribution, *e.g.*, doubling the sampling rate results in data points being twice as long. Thus, \n", "before fine-tuning a pretrained checkpoint of an ASR model, it is crucial to verify that the sampling rate of the data that was used to pretrain the model matches the sampling rate of the dataset used to fine-tune the model.\n", "\n", "XLSR-Wav2Vec2 was pretrained on the audio data of [Babel](https://huggingface.co/datasets/librispeech_asr), \n", "[Multilingual LibriSpeech (MLS)](https://ai.facebook.com/blog/a-new-open-data-set-for-multilingual-speech-research/), and [Common Voice](https://huggingface.co/datasets/common_voice). Most of those datasets were sampled at 16kHz, so that Common Voice, sampled at 48kHz, has to be downsampled to 16kHz for training. Therefore, we will have to downsample our fine-tuning data to 16kHz in the following.\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "KuUbPW7oV-B5" }, "source": [ "A XLSR-Wav2Vec2 feature extractor object requires the following parameters to be instantiated:\n", "\n", "- `feature_size`: Speech models take a sequence of feature vectors as an input. While the length of this sequence obviously varies, the feature size should not. In the case of Wav2Vec2, the feature size is 1 because the model was trained on the raw speech signal ${}^2$.\n", "- `sampling_rate`: The sampling rate at which the model is trained on.\n", "- `padding_value`: For batched inference, shorter inputs need to be padded with a specific value\n", "- `do_normalize`: Whether the input should be *zero-mean-unit-variance* normalized or not. Usually, speech models perform better when normalizing the input\n", "- `return_attention_mask`: Whether the model should make use of an `attention_mask` for batched inference. In general, XLSR-Wav2Vec2 models should **always** make use of the `attention_mask`." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "id": "kAR0-2KLkopp" }, "outputs": [], "source": [ "from transformers import Wav2Vec2FeatureExtractor\n", "\n", "feature_extractor = Wav2Vec2FeatureExtractor(feature_size=1, sampling_rate=16000, padding_value=0.0, do_normalize=True, return_attention_mask=True)" ] }, { "cell_type": "markdown", "metadata": { "id": "qUETetgqYC3W" }, "source": [ "Great, XLSR-Wav2Vec2's feature extraction pipeline is thereby fully defined!\n", "\n", "To make the usage of XLSR-Wav2Vec2 as user-friendly as possible, the feature extractor and tokenizer are *wrapped* into a single `Wav2Vec2Processor` class so that one only needs a `model` and `processor` object." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "id": "KYZtoW-tlZgl" }, "outputs": [], "source": [ "from transformers import Wav2Vec2Processor\n", "\n", "processor = Wav2Vec2Processor(feature_extractor=feature_extractor, tokenizer=tokenizer)" ] }, { "cell_type": "markdown", "metadata": { "id": "fTfFDSS0YfMN" }, "source": [ "If one wants to re-use the just created processor and the fine-tuned model of this notebook, one can mount his/her google drive to the notebook and save all relevant files there. To do so, please uncomment the following lines. \n", "\n", "We will give the fine-tuned model the name `\"wav2vec2-large-xlsr-nahuatl-demo\"`." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "yq7Bzuzz4zjQ", "outputId": "419faa94-b24f-4044-877a-ce511978c97d" }, "outputs": [], "source": [ "# from google.colab import drive\n", "# drive.mount('/content/gdrive/')" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "id": "Par9rpypPsml" }, "outputs": [], "source": [ "def the_name(append=''):\n", " MAIN_NAME = 'final0-wav2vec2-large-xlsr-nahuatl-es-de-'\n", " return '%s%s'%(MAIN_NAME,append)\n", "processor.save_pretrained(the_name())" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wav2vec2-large-xlsr-25.6m-nahuatl-es-de:\r\n", "total 5296\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 28 12:14 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 158 mar 28 14:59 preprocessor_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 85 mar 28 14:59 special_tokens_map.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 138 mar 28 14:59 tokenizer_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 435 mar 28 14:59 vocab.json\r\n", "\r\n", "wav2vec2-large-xlsr-25.6m-nahuatl-es-de-one:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 28 16:57 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 28 16:37 checkpoint-1500\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-1_5K-es-de:\r\n", "total 5296\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 28 09:28 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 158 mar 28 09:53 preprocessor_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 85 mar 28 09:53 special_tokens_map.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 138 mar 28 09:53 tokenizer_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 446 mar 28 09:53 vocab.json\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-1_5K-es-de-one:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 28 12:03 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 28 12:03 checkpoint-1525\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-demo:\r\n", "total 5308\r\n", "drwxrwxr-x 5 tyoc213 tyoc213 4096 mar 27 10:49 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 10:43 checkpoint-1400\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 158 mar 27 15:21 preprocessor_config.json\r\n", "drwxrwxr-x 4 tyoc213 tyoc213 4096 mar 27 02:33 second-train\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 85 mar 27 15:21 special_tokens_map.json\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 09:41 third-train\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 138 mar 27 15:21 tokenizer_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 448 mar 27 15:21 vocab.json\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-demo-es-de:\r\n", "total 5296\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 15:22 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 158 mar 27 16:04 preprocessor_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 85 mar 27 16:04 special_tokens_map.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 138 mar 27 16:04 tokenizer_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 435 mar 27 16:04 vocab.json\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de:\r\n", "total 5296\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 16:07 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 158 mar 28 01:41 preprocessor_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 85 mar 28 01:41 special_tokens_map.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 138 mar 28 01:41 tokenizer_config.json\r\n", "-rw-rw-r-- 1 tyoc213 tyoc213 414 mar 28 01:41 vocab.json\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de-cinco:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 27 23:53 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 22:56 checkpoint-25\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de-cuatro:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 27 22:47 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 22:47 checkpoint-650\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de-dos:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 27 19:21 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 18:48 checkpoint-550\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de-one:\r\n", "total 5280\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 19:57 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-deone:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 27 18:01 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 18:01 checkpoint-950\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de-seis66:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 28 01:33 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 28 01:28 checkpoint-625\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de-siete77:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 28 02:15 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 28 01:52 checkpoint-25\r\n", "\r\n", "wav2vec2-large-xlsr-nahuatl-es-de-tres:\r\n", "total 5284\r\n", "drwxrwxr-x 3 tyoc213 tyoc213 4096 mar 27 21:35 .\r\n", "drwxrwxr-x 26 tyoc213 tyoc213 5398528 mar 28 17:03 ..\r\n", "drwxrwxr-x 2 tyoc213 tyoc213 4096 mar 27 21:29 checkpoint-925\r\n" ] } ], "source": [ "!ls -la wav2vec*" ] }, { "cell_type": "markdown", "metadata": { "id": "DrKnYuvDIoOO" }, "source": [ "Next, we can prepare the dataset." ] }, { "cell_type": "markdown", "metadata": { "id": "YFmShnl7RE35" }, "source": [ "### Preprocess Data\n", "\n", "So far, we have not looked at the actual values of the speech signal but just kept the path to its file in the dataset. `XLSR-Wav2Vec2` expects the audio file in the format of a 1-dimensional array, so in the first step, let's load all audio files into the dataset object.\n", "\n", "Let's first check the serialization format of the downloaded audio files by looking at the first training sample." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "TTCS7W6XJ9BG", "outputId": "9c3b8cc0-3bcd-43fe-87ca-2825239b365a" }, "outputs": [ { "data": { "text/plain": [ "{'path': '/home/tyoc213/.cache/huggingface/datasets/downloads/extracted/23afbf80948a799bdd449b33e1e2dec4e2c3a6f484ca9d51877da3a04ecec770/cv-corpus-6.1-2020-12-11/es/clips/common_voice_es_20298979.mp3',\n", " 'sentence': 'es autora de una serie de artículos históricos sobre clay county misuri '}" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "common_voice_train[0]" ] }, { "cell_type": "markdown", "metadata": { "id": "wSBIGEiaKHMn" }, "source": [ "Alright, the audio file is saved in the `.mp3` format. The `.mp3` format is usually not the easiest format to deal with. We found that the [`torchaudio`](https://pytorch.org/audio/stable/index.html) library works best for reading in `.mp3` data. \n", "\n", "An audio file usually stores both its values and the sampling rate with which the speech signal was digitalized. We want to store both in the dataset and write a `map(...)` function accordingly." ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "id": "al9Luo4LPpwJ" }, "outputs": [], "source": [ "import torchaudio\n", "\n", "def speech_file_to_array_fn(batch):\n", " speech_array, sampling_rate = torchaudio.load(batch[\"path\"])\n", " batch[\"speech\"] = speech_array[0].numpy()\n", " batch[\"sampling_rate\"] = sampling_rate\n", " batch[\"target_text\"] = batch[\"sentence\"]\n", " return batch" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "# common_voice_train_array = common_voice_train.map(speech_file_to_array_fn, remove_columns=common_voice_train.column_names)\n", "# common_voice_test_array = common_voice_test.map(speech_file_to_array_fn, remove_columns=common_voice_test.column_names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Loud Normalisation" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "import soundfile as sf\n", "import pyloudnorm as pyln\n", "\n", "def get_loudness_normalised(sa, sr):\n", " # peak normalize audio to -1 dB\n", " peak_normalized_audio = pyln.normalize.peak(sa, -1.0)\n", "\n", " # measure the loudness first \n", " meter = pyln.Meter(sr) # create BS.1770 meter\n", " loudness = meter.integrated_loudness(sa)\n", "\n", " # loudness normalize audio to -12 dB LUFS\n", " loudness_normalized_audio = pyln.normalize.loudness(sa, loudness, -12.0)\n", "\n", " return loudness_normalized_audio" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "def speech_file_to_array_loud_norm_fn(batch):\n", " speech_array, sampling_rate = torchaudio.load(batch[\"path\"])\n", "# print('batch all',batch) # just to see which one is causing exceptions\n", " \n", " # DO loudness normalisation\n", " sa = get_loudness_normalised(speech_array[0].numpy(), sampling_rate)\n", " \n", " batch[\"speech\"] = sa\n", " batch[\"sampling_rate\"] = sampling_rate\n", " batch[\"target_text\"] = batch[\"sentence\"]\n", " return batch" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Only normalise Train set" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "({'path': '/home/tyoc213/.cache/huggingface/datasets/downloads/extracted/27bd561157b7c36fa5c2e7638cb225ed76cb912aa0c4727171bcc12570c16c1c/cv-corpus-6.1-2020-12-11/de/clips/common_voice_de_21623135.mp3',\n", " 'sentence': 'darüber besteht überall klarheit '},\n", " {'path': 'nahuatl_slr90_by_sentence/28_85.flac',\n", " 'sentence': 'de se: kiteki ihkó:n '})" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "common_voice_train[99],common_voice_train[100]," ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 117, "referenced_widgets": [ "348ef54c80b2449f8a3bc950cccd62cc", "b78413dcc0584a0c8f71731a06aaa1b8", "7edbecaccdd94ede8fddc0e1807e777e", "5e3aad95e52f4be2bd670d1345398f1b", "b9c5c6dd54cc4dc5ad5a2bb69a24ab05", "3e3a022a9f304b0f9f7ef067fcee1e56", "7aa70322bdfe46938b583a20003093d5", "99d5c44ea54b45ee9bd89380cb1ad189", "5f48f54986924e418aa4ac22aa54b714", "db71db50799c404aafa4a54de8b9b799", "a58c203a7cc54086aea45f2029821207", "8d409ca0372a48e2972ca1d8eee5ffa1", "c8fdf261ac294093a355778a3a4aba3b", "b1b6a4649fc34c9996f993c57671766b", "d362345c05234c97a675c6bacdad0e92", "b0479f03f96241ca959f6fe7bcbd1aba" ] }, "id": "afeicUeWlrRL", "outputId": "d5e4d41a-61d6-4094-eba9-a5bbed02cedc" }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "099bf3d9f18c41318e1d3631a90a4c56", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, max=600.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "CPU times: user 8.77 s, sys: 1.63 s, total: 10.4 s\n", "Wall time: 10.9 s\n" ] } ], "source": [ "%%time\n", "##### nahuatl no normalization of loudness\n", "#common_voice_train = common_voice_train.map(speech_file_to_array_loud_norm_fn, num_proc=2)\n", "common_voice_train = common_voice_train.map(speech_file_to_array_fn)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "655637121a8348968d50d9ab2d40c1cc", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "CPU times: user 1.33 s, sys: 185 ms, total: 1.52 s\n", "Wall time: 1.52 s\n" ] } ], "source": [ "%%time\n", "common_voice_test = common_voice_test.map(speech_file_to_array_fn)" ] }, { "cell_type": "markdown", "metadata": { "id": "ki5sXmzucc9Q" }, "source": [ "Great, now we've successfully read in all the audio files, but since we know that Common Voice is sampled at 48kHz, we need to resample the audio files to 16kHz. \n", "\n", "Let's make use of the [`librosa`](https://github.com/librosa/librosa) library to downsample the data." ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "id": "6Y6AK3Z-kHwP" }, "outputs": [], "source": [ "import librosa\n", "import numpy as np\n", "\n", "def resample(batch):\n", "# print(len(batch['speech']), type(batch['speech']))\n", "# print(batch['path'])\n", "# print(batch['target_text'])\n", " # nahuatl note: make nans zero!!!! (that is correct?)\n", " arr = np.asarray(batch[\"speech\"])\n", " arr[np.isnan(arr)] = 0\n", " batch[\"speech\"] = librosa.resample(arr, 48_000, 16_000)\n", " batch[\"sampling_rate\"] = 16_000\n", " return batch" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 453, "referenced_widgets": [ "ee641bbf54a7499597713c517baa81bb", "3d929b9e2518402b81a71757ffb753d2", "4f8957dc035d4c1a9e8630fc8ab8cd10", "757e7bd0e6c5410da0490d191b4e68c8", "596aea0362924c7db583203268dd5a3e", "47a6c3c427614f21a6dab1c048e5dd37", "0b795d4b68014de19bf9579c67b55ffb", "9185f86719af476da41e3835e8f06f8d", "771959e46cb64b3ebafe931f96f5ff52", "0e999af234bd4b63ad2937e61d08b693", "f792530a76ee486688cbc2502dfae594", "d69468d63dd74fdd807fe061b92aa84e", "1261590ef796493798f7068ea0547b74", "7e50f8027fb74d669daae5e46082026c", "7f5203fde6b64bf7ad53d6ecd3041bfc", "84e7f0001ebe458dad3c96e7e9a38cdc", "24ea17ae8ab14e8a871e5e115c3f4c06", "f57d087016124ebeb073fd7428dcb68b", "f3905820a42c499fba04af9c1ad19705", "4e1a725fd90b45e280b8b0028ba65250", "4c0ad31e73234e46aac0a297ec18bdeb", "fc9504846f424542a7feb932964f1f5b", "9f79629ad6a94201acf3283862d1ae17", "491fd969d61a478f8e85ffcd3e1a3e20", "76d162d3ea0845cc837651a77a5a2d36", "98c594f1e41e4b3fab10f0763bd93d75", "f6b01ad0433a40178ef3ba5657bc1583", "eed2ccc12daa4c71b080794a7a18f5cb", "beca070c32124a119a08cb21c2ca95e5", "69828f4a101f4340916a4be141866904", "20347ed29fdc4c0a96da28c09aacf44d", "f18eddbd3d994ddc88f37e02d754c206", "b7c43fb5efdd4afbb82c81b923f2815a", "c0a661f20e7e4649a3c8c42a5fd01956", "8dddd0245dcb4532917cbfa0181d2a00", "3bdb4058f40f40e3a10e323325a64638", "024989cea06f435894776b0a921164b2", "b1d93a7521fa47b8a815445b5232da59", "751ae6b9e2da4b85be9600561485f1ac", "d7f27e9cf8a844349ca90393e0c49a03", "82015055d32449b89346ea18e7474c4d", "a170c0cb21cf425fbee97fd6d5584e2c", "f5f1f0865d7e4d8b810ccb9c3c4d2683", "416badb151ee4660b53fdbc136e0c8fb", "a47f1ea64f894f0b8e6b277c31ae9f7d", "e51b5fd9d5a6416d986fac1526d1666f", "824569c63ec445c08362659ca228dd2a", "0f3756509e3b405d87936f599b153de2", "d96e01ad62c342cdb7d9b1eceb39afa3", "e6ce9330460d4a0fb67cc493ca74ae96", "e6178f7b148c4bf39f2826f208e0cc64", "f78ff14b9c8f46448ed1ecb3fe1f5e0b", "929cde17b3484f3e9e8f8774bc43e374", "6ba6d07674a34836be53cf173c2b61ca", "5a5bc8b4a1c644dea08a60128d888d10", "b054b00a32e64fc5988fbd2966ebbce6", "5ccd12253fff448f9c15c9b03c70a408", "330226a977694de1bd88c0aa3789be47", "f203c54e7e054d97aa4d1097f320f611", "6266a4019e124aff877bb55f21740180", "3ec3285e9f3e4a5abcefabb7f140f4a3", "0cd1932178c945d48604ffd299e65d2c", "8ad3e4b211e34c048d0f48e36fdbfe48", "55071fc1b7484620803aeba453e9af72" ] }, "id": "Ws8DyIL_kjwT", "outputId": "6176aea2-5986-4da0-a2ad-6ef5e2c85493" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", "CPU times: user 1.89 s, sys: 2.61 s, total: 4.5 s\n", "Wall time: 35.2 s\n" ] } ], "source": [ "%%time\n", "common_voice_train = common_voice_train.map(resample, num_proc=4)\n" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", "CPU times: user 356 ms, sys: 430 ms, total: 787 ms\n", "Wall time: 5.76 s\n" ] } ], "source": [ "%%time\n", "common_voice_test = common_voice_test.map(resample, num_proc=4)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ok\n" ] } ], "source": [ "print('ok')" ] }, { "cell_type": "markdown", "metadata": { "id": "SOckzFd4Mbzq" }, "source": [ "This seemed to have worked! Let's listen to a couple of audio files to better understand the dataset and verify that the audio was correctly loaded. \n", "\n", "**Note**: *You can click the following cell a couple of times to listen to different speech samples.*" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 74 }, "id": "dueM6U7Ev0OA", "outputId": "1a3e579d-213e-4c7a-b2ec-9a7725d95afc" }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import IPython.display as ipd\n", "import numpy as np\n", "import random\n", "\n", "rand_int = random.randint(0, len(common_voice_train)-1)\n", "\n", "ipd.Audio(data=np.asarray(common_voice_train[rand_int][\"speech\"]), autoplay=True, rate=16000)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'nahuatl_slr90_by_sentence/5_78.flac'" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "common_voice_train[rand_int][\"path\"]" ] }, { "cell_type": "markdown", "metadata": { "id": "1MaL9J2dNVtG" }, "source": [ "It can be heard, that the speakers change along with their speaking rate, accent, and background environment, etc. Overall, the recordings sound acceptably clear though, which is to be expected from a crowd-sourced read speech corpus.\n", "\n", "Let's do a final check that the data is correctly prepared, by printing the shape of the speech input, its transcription, and the corresponding sampling rate.\n", "\n", "**Note**: *You can click the following cell a couple of times to verify multiple samples.*" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "1Po2g7YPuRTx", "outputId": "96b0b82c-a5df-4ae6-d17b-9c7d4f710b42" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Target text: duró diez años en el trono \n", "Input array shape: (53376,)\n", "Sampling rate: 16000\n" ] } ], "source": [ "rand_int = random.randint(0, len(common_voice_train)-1)\n", "\n", "print(\"Target text:\", common_voice_train[rand_int][\"target_text\"])\n", "print(\"Input array shape:\", np.asarray(common_voice_train[rand_int][\"speech\"]).shape)\n", "print(\"Sampling rate:\", common_voice_train[rand_int][\"sampling_rate\"])" ] }, { "cell_type": "markdown", "metadata": { "id": "M9teZcSwOBJ4" }, "source": [ "Good! Everything looks fine - the data is a 1-dimensional array, the sampling rate always corresponds to 16kHz, and the target text is normalized." ] }, { "cell_type": "markdown", "metadata": { "id": "k3Pbn5WvOYZF" }, "source": [ "Finally, we can process the dataset to the format expected by the model for training. We will again make use of the `map(...)` function.\n", "\n", "First, we check that the data samples have the same sampling rate of 16kHz.\n", "Second, we extract the `input_values` from the loaded audio file. In our case, this includes only normalization, but for other speech models, this step could correspond to extracting, *e.g.* [Log-Mel features](https://en.wikipedia.org/wiki/Mel-frequency_cepstrum). \n", "Third, we encode the transcriptions to label ids.\n", "\n", "**Note**: This mapping function is a good example of how the `Wav2Vec2Processor` class should be used. In \"normal\" context, calling `processor(...)` is redirected to `Wav2Vec2FeatureExtractor`'s call method. When wrapping the processor into the `as_target_processor` context, however, the same method is redirected to `Wav2Vec2CTCTokenizer`'s call method.\n", "For more information please check the [docs](https://huggingface.co/transformers/master/model_doc/wav2vec2.html#transformers.Wav2Vec2Processor.__call__)." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "id": "eJY7I0XAwe9p" }, "outputs": [], "source": [ "def prepare_dataset(batch):\n", " # check that all files have the correct sampling rate\n", " assert (\n", " len(set(batch[\"sampling_rate\"])) == 1\n", " ), f\"Make sure all inputs have the same sampling rate of {processor.feature_extractor.sampling_rate}.\"\n", "\n", " batch[\"input_values\"] = processor(batch[\"speech\"], sampling_rate=batch[\"sampling_rate\"][0]).input_values\n", " \n", " with processor.as_target_processor():\n", " batch[\"labels\"] = processor(batch[\"target_text\"]).input_ids\n", " return batch" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 509, "referenced_widgets": [ "4797f1acd9924b4e97f12f964c83078c", "73940df84ffd4e0f96637342e9fd12b7", "5370c0f2d54b45c0a89f11fb5b70cd4b", "018c1f8e198e4df4b480e609bd1be602", "fa7926bbe77e48b3a0648b45f5d2dc7a", "020bdb330b0d40f5b89697ff37025f69", "d35c15beeb33476894b07c3563f8facd", "768ab09956774f50a79b2493a8bf179b", "7ef969e47c2d429a9848d5ab3f5bb2d9", "fe62265afdc74026b7e9c5a50ef61d2c", "015c5690e1ea4281954c7efda1c80a6a", "f4135dd72864445391f43f387635bfdc", "2f727c76652944e3892dd584bea11af2", "dec796237765477ea904834d9a824b61", "8df9d19602cb4951b397c385458a11ef", "923ed9e127524187ab8cfcac31164ba7", "bf9e57d81135412d9a9a2281f28bd52a", "c41610c0baef412984f8661d96e08b7e", "579b6055028f473981ce789a0733a753", "4fb7347e9ca542e6ab9003bf4db218e0", "3133b378b9294a759c8dfb786ed8f815", "6de66d6b7a73434cbdc59b2109bdf0a0", "6d4a26d876fb4ac6b5948a09945bdc6b", "0987aac282af415da2fbc9dc1b4d5069", "ac35dca0845149a284b9867d9e607232", "b54bff6261964119bcb562c1a9f74ce6", "5071a31d06f544a5b7340a4e863d8fdf", "542027ba12f444d586e8072452badea0", "49defa4284554baf85f32de242b22709", "b2473405490e4556bf30c0cc81237aa5", "02bdb06c176145feaa842b97ae58609c", "bc41384bbae04044b9780651c6b5a47c", "7040945accce4739a41746cc75bb7fce", "71011f0d2bc942ac8f9ea1d1fd30c78d", "6f60626242534f44a6381195e6eb6530", "9fee9d9dd1164d97a9109e942444c332", "5ab30242cd154ec0b560c23c0f178546", "0ffcbedb8d4444508ac0c3c0b41ea8ac", "f9efaa7678c2450f847ff2c2f21ff96e", "c126ea97019149848396e593cfab016f", "0f99011a13754ed99f3c51a478b0e793", "4abe2731ec624729b401d60a392cae63", "bd187486ac2548f2961cfcb63d852de1", "3f780f0aa8834fc189b292e0474e2ffa", "231c66f195d34f86b216805518f4bccd", "58f3e8002f984594ac05c973aa78ef69", "ec36a94ee2574ac8b227ccaefdee5520", "a868dea9d9b047a4b853b390e138e4c1", "6462bd9561e24abb98fce6ce4675d810", "bd3447291ce54812af10ac6245ea4328", "e273548a15aa4d4994132b317adb66fc", "f6930dd5519d4dfda64c597def220a30", "7d62810674c8482abe46c60fc08884b4", "80697300a4394b909f1c499ba80aeb13", "ab72c80dfd5e4ab19a183f4204486b59", "56ad6231a0a04228be29ceecbc6b7c0e", "b6221b4c04e64c9da9eb9e11539bac89", "dc6862530f6e429ba61a169b4c95722c", "02d1f77324854fbca0df9384c57faac8", "8e63ba7f1fd24555bf11bc9dbe9c770b", "704ea5e05fd744d998b76d6435992995", "d4a3f79644fc41848450ba29e6fdfc3d", "405b5de4ae854cf9896f63d15f2207dd", "26e7bab0f3bf4797bfcef83dcace24f0" ] }, "id": "-np9xYK-wl8q", "outputId": "6155b5f0-a5a2-4e20-d0e2-0b3a60c13f98" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n" ] } ], "source": [ "common_voice_train = common_voice_train.map(prepare_dataset, remove_columns=common_voice_train.column_names, batch_size=8, num_proc=4, batched=True)\n", "common_voice_test = common_voice_test.map(prepare_dataset, remove_columns=common_voice_test.column_names, batch_size=8, num_proc=4, batched=True)" ] }, { "cell_type": "markdown", "metadata": { "id": "gYlQkKVoRUos" }, "source": [ "## Training\n", "\n", "The data is processed so that we are ready to start setting up the training pipeline. We will make use of 🤗's [Trainer](https://huggingface.co/transformers/master/main_classes/trainer.html?highlight=trainer) for which we essentially need to do the following:\n", "\n", "- Define a data collator. In contrast to most NLP models, XLSR-Wav2Vec2 has a much larger input length than output length. *E.g.*, a sample of input length 50000 has an output length of no more than 100. Given the large input sizes, it is much more efficient to pad the training batches dynamically meaning that all training samples should only be padded to the longest sample in their batch and not the overall longest sample. Therefore, fine-tuning XLSR-Wav2Vec2 requires a special padding data collator, which we will define below\n", "\n", "- Evaluation metric. During training, the model should be evaluated on the word error rate. We should define a `compute_metrics` function accordingly\n", "\n", "- Load a pretrained checkpoint. We need to load a pretrained checkpoint and configure it correctly for training.\n", "\n", "- Define the training configuration.\n", "\n", "After having fine-tuned the model, we will correctly evaluate it on the test data and verify that it has indeed learned to correctly transcribe speech." ] }, { "cell_type": "markdown", "metadata": { "id": "Slk403unUS91" }, "source": [ "### Set-up Trainer\n", "\n", "Let's start by defining the data collator. The code for the data collator was copied from [this example](https://github.com/huggingface/transformers/blob/9a06b6b11bdfc42eea08fa91d0c737d1863c99e3/examples/research_projects/wav2vec2/run_asr.py#L81).\n", "\n", "Without going into too many details, in contrast to the common data collators, this data collator treats the `input_values` and `labels` differently and thus applies to separate padding functions on them (again making use of XLSR-Wav2Vec2's context manager). This is necessary because in speech input and output are of different modalities meaning that they should not be treated by the same padding function.\n", "Analogous to the common data collators, the padding tokens in the labels with `-100` so that those tokens are **not** taken into account when computing the loss." ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "id": "tborvC9hx88e" }, "outputs": [], "source": [ "import torch\n", "\n", "from dataclasses import dataclass, field\n", "from typing import Any, Dict, List, Optional, Union\n", "\n", "@dataclass\n", "class DataCollatorCTCWithPadding:\n", " \"\"\"\n", " Data collator that will dynamically pad the inputs received.\n", " Args:\n", " processor (:class:`~transformers.Wav2Vec2Processor`)\n", " The processor used for proccessing the data.\n", " padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):\n", " Select a strategy to pad the returned sequences (according to the model's padding side and padding index)\n", " among:\n", " * :obj:`True` or :obj:`'longest'`: Pad to the longest sequence in the batch (or no padding if only a single\n", " sequence if provided).\n", " * :obj:`'max_length'`: Pad to a maximum length specified with the argument :obj:`max_length` or to the\n", " maximum acceptable input length for the model if that argument is not provided.\n", " * :obj:`False` or :obj:`'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of\n", " different lengths).\n", " max_length (:obj:`int`, `optional`):\n", " Maximum length of the ``input_values`` of the returned list and optionally padding length (see above).\n", " max_length_labels (:obj:`int`, `optional`):\n", " Maximum length of the ``labels`` returned list and optionally padding length (see above).\n", " pad_to_multiple_of (:obj:`int`, `optional`):\n", " If set will pad the sequence to a multiple of the provided value.\n", " This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=\n", " 7.5 (Volta).\n", " \"\"\"\n", "\n", " processor: Wav2Vec2Processor\n", " padding: Union[bool, str] = True\n", " max_length: Optional[int] = None\n", " max_length_labels: Optional[int] = None\n", " pad_to_multiple_of: Optional[int] = None\n", " pad_to_multiple_of_labels: Optional[int] = None\n", "\n", " def __call__(self, features: List[Dict[str, Union[List[int], torch.Tensor]]]) -> Dict[str, torch.Tensor]:\n", " # split inputs and labels since they have to be of different lenghts and need\n", " # different padding methods\n", " input_features = [{\"input_values\": feature[\"input_values\"]} for feature in features]\n", " label_features = [{\"input_ids\": feature[\"labels\"]} for feature in features]\n", "\n", " batch = self.processor.pad(\n", " input_features,\n", " padding=self.padding,\n", " max_length=self.max_length,\n", " pad_to_multiple_of=self.pad_to_multiple_of,\n", " return_tensors=\"pt\",\n", " )\n", " with self.processor.as_target_processor():\n", " labels_batch = self.processor.pad(\n", " label_features,\n", " padding=self.padding,\n", " max_length=self.max_length_labels,\n", " pad_to_multiple_of=self.pad_to_multiple_of_labels,\n", " return_tensors=\"pt\",\n", " )\n", "\n", " # replace padding with -100 to ignore loss correctly\n", " labels = labels_batch[\"input_ids\"].masked_fill(labels_batch.attention_mask.ne(1), -100)\n", "\n", " batch[\"labels\"] = labels\n", "\n", " return batch" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "id": "lbQf5GuZyQ4_" }, "outputs": [], "source": [ "data_collator = DataCollatorCTCWithPadding(processor=processor, padding=True,\n", " pad_to_multiple_of=8, pad_to_multiple_of_labels=8)" ] }, { "cell_type": "markdown", "metadata": { "id": "xO-Zdj-5cxXp" }, "source": [ "Next, the evaluation metric is defined. As mentioned earlier, the \n", "predominant metric in ASR is the word error rate (WER), hence we will use it in this notebook as well." ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 67, "referenced_widgets": [ "d5fb02debe4347e781543a996ce39be3", "da12267c52144292adb9896249d61a6a", "8e1a85a4a6214a16b7431da23a301ada", "57198e3250374e1fa64c5a4be255861e", "a3c04c75ec9743feb795f69e7c4dff4f", "d453bd4a35e54bfba20dac1fe86c60c1", "969080b52ad44ee997829986d198c505", "8f737725708c4097a8caaf4da6229636" ] }, "id": "9Xsux2gmyXso", "outputId": "58e0e6f5-6131-4147-bccb-6c42223833db" }, "outputs": [], "source": [ "wer_metric = load_metric(\"wer\")" ] }, { "cell_type": "markdown", "metadata": { "id": "E1qZU5p-deqB" }, "source": [ "The model will return a sequence of logit vectors:\n", "$\\mathbf{y}_1, \\ldots, \\mathbf{y}_m$ with $\\mathbf{y}_1 = f_{\\theta}(x_1, \\ldots, x_n)[0]$ and $n >> m$.\n", "\n", "A logit vector $\\mathbf{y}_1$ contains the log-odds for each word in the vocabulary we defined earlier, thus $\\text{len}(\\mathbf{y}_i) =$ `config.vocab_size`. We are interested in the most likely prediction of the model and thus take the `argmax(...)` of the logits. Also, we transform the encoded labels back to the original string by replacing `-100` with the `pad_token_id` and decoding the ids while making sure that consecutive tokens are **not** grouped to the same token in CTC style ${}^1$." ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "id": "1XZ-kjweyTy_" }, "outputs": [], "source": [ "def compute_metrics(pred):\n", " pred_logits = pred.predictions\n", " pred_ids = np.argmax(pred_logits, axis=-1)\n", "\n", " pred.label_ids[pred.label_ids == -100] = processor.tokenizer.pad_token_id\n", "\n", " pred_str = processor.batch_decode(pred_ids)\n", " # we do not want to group tokens when computing the metrics\n", " label_str = processor.batch_decode(pred.label_ids, group_tokens=False)\n", "\n", " wer = wer_metric.compute(predictions=pred_str, references=label_str)\n", "\n", " return {\"wer\": wer}" ] }, { "cell_type": "markdown", "metadata": { "id": "Xmgrx4bRwLIH" }, "source": [ "Now, we can load the pretrained `XLSR-Wav2Vec2` checkpoint. The tokenizer's `pad_token_id` must be to define the model's `pad_token_id` or in the case of `Wav2Vec2ForCTC` also CTC's *blank token* ${}^2$. To save GPU memory, we enable PyTorch's [gradient checkpointing](https://pytorch.org/docs/stable/checkpoint.html) and also set the loss reduction to \"*mean*\".\n", "\n", "Because the dataset is quite small (~6h of training data) and because Common Voice is quite noisy, fine-tuning Facebook's [wav2vec2-large-xlsr-53 checkpoint](https://huggingface.co/facebook/wav2vec2-large-xlsr-53) seems to require some hyper-parameter tuning. Therefore, I had to play around a bit with different values for dropout, [SpecAugment](https://arxiv.org/abs/1904.08779)'s masking dropout rate, layer dropout, and the learning rate until training seemed to be stable enough. \n", "\n", "**Note**: When using this notebook to train XLSR-Wav2Vec2 on another language of Common Voice those hyper-parameter settings might not work very well. Feel free to adapt those depending on your use case. " ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "e7cqAWIayn6w", "outputId": "0a5ab559-6c38-47c6-b4f5-64480ed1df65" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Some weights of Wav2Vec2ForCTC were not initialized from the model checkpoint at facebook/wav2vec2-large-xlsr-53 and are newly initialized: ['lm_head.bias', 'lm_head.weight']\n", "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n" ] } ], "source": [ "from transformers import Wav2Vec2ForCTC\n", "\n", "model = Wav2Vec2ForCTC.from_pretrained(\n", " \"facebook/wav2vec2-large-xlsr-53\", \n", " attention_dropout=0.1,\n", " hidden_dropout=0.1,\n", " feat_proj_dropout=0.0,\n", " mask_time_prob=0.05,\n", " layerdrop=0.1,\n", " gradient_checkpointing=True, \n", " ctc_loss_reduction=\"mean\", \n", " pad_token_id=processor.tokenizer.pad_token_id,\n", " vocab_size=len(processor.tokenizer)\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "1DwR3XLSzGDD" }, "source": [ "The first component of XLSR-Wav2Vec2 consists of a stack of CNN layers that are used to extract acoustically meaningful - but contextually independent - features from the raw speech signal. This part of the model has already been sufficiently trained during pretraining and as stated in the [paper](https://arxiv.org/pdf/2006.13979.pdf) does not need to be fine-tuned anymore. \n", "Thus, we can set the `requires_grad` to `False` for all parameters of the *feature extraction* part." ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "id": "oGI8zObtZ3V0" }, "outputs": [], "source": [ "model.freeze_feature_extractor()" ] }, { "cell_type": "markdown", "metadata": { "id": "lD4aGhQM0K-D" }, "source": [ "In a final step, we define all parameters related to training. \n", "To give more explanation on some of the parameters:\n", "- `group_by_length` makes training more efficient by grouping training samples of similar input length into one batch. This can significantly speed up training time by heavily reducing the overall number of useless padding tokens that are passed through the model\n", "- `learning_rate` and `weight_decay` were heuristically tuned until fine-tuning has become stable. Note that those parameters strongly depend on the Common Voice dataset and might be suboptimal for other speech datasets.\n", "\n", "For more explanations on other parameters, one can take a look at the [docs](https://huggingface.co/transformers/master/main_classes/trainer.html?highlight=trainer#trainingarguments).\n", "\n", "**Note**: If one wants to save the trained models in his/her google drive the commented-out `output_dir` can be used instead." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Here starts the first training\n", "\n", "\n", "# Here starts the first training" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "from transformers import TrainingArguments\n", "\n", "training_args = TrainingArguments(\n", " output_dir=the_name('-one'),\n", " # output_dir=\"./wav2vec2-large-xlsr-nahuatl-demo\",\n", " group_by_length=True,\n", " per_device_train_batch_size=32,\n", " per_device_eval_batch_size=64,\n", " gradient_accumulation_steps=1,\n", " evaluation_strategy=\"steps\",\n", " num_train_epochs=150,\n", " fp16=True,\n", " save_steps=25,\n", " eval_steps=25,\n", " logging_steps=5,\n", " learning_rate=3e-4,\n", " warmup_steps=200,\n", " save_total_limit=1,\n", " \n", " # WANDB LOGGING: \n", " report_to = 'wandb', # enable logging to W&B\n", " run_name = the_name('-one')+'-ie-base-50e-ovh-4-4-upgrade', # Name your run, optional\n", " load_best_model_at_end = True, # This will ensure your best model will be uploaded to W&B\n", " metric_for_best_model='wer', # Load best model based on \"wer\", not eval loss\n", " greater_is_better=False,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "OsW-WZcL1ZtN" }, "source": [ "Now, all instances can be passed to Trainer and we are ready to start training!" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "id": "rY7vBmFCPFgC" }, "outputs": [], "source": [ "from transformers import Trainer\n", "\n", "trainer = Trainer(\n", " model=model,\n", " data_collator=data_collator,\n", " args=training_args,\n", " compute_metrics=compute_metrics,\n", " train_dataset=common_voice_train,\n", " eval_dataset=common_voice_test,\n", " tokenizer=processor.feature_extractor,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "UoXBx1JAA0DX" }, "source": [ "\n", "\n", "---\n", "\n", "${}^1$ To allow models to become independent of the speaker rate, in CTC, consecutive tokens that are identical are simply grouped as a single token. However, the encoded labels should not be grouped when decoding since they don't correspond to the predicted tokens of the model, which is why the `group_tokens=False` parameter has to be passed. If we wouldn't pass this parameter a word like `\"hello\"` would incorrectly be encoded, and decoded as `\"helo\"`.\n", "\n", "${}^2$ The blank token allows the model to predict a word, such as `\"hello\"` by forcing it to insert the blank token between the two l's. A CTC-conform prediction of `\"hello\"` of our model would be `[PAD] [PAD] \"h\" \"e\" \"e\" \"l\" \"l\" [PAD] \"l\" \"o\" \"o\" [PAD]`." ] }, { "cell_type": "markdown", "metadata": { "id": "rpvZHM1xReIW" }, "source": [ "### Training" ] }, { "cell_type": "markdown", "metadata": { "id": "j-3oKSzZ1hGq" }, "source": [ "Training will take between 180 and 240 minutes depending on the GPU allocated to this notebook. While the trained model yields somewhat satisfying results on *Common Voice*'s test data of Turkish, it is by no means an optimally fine-tuned model. The purpose of this notebook is to demonstrate how XLSR-Wav2Vec2's [checkpoint](https://huggingface.co/facebook/wav2vec2-large-xlsr-53) can be fine-tuned on a low-resource ASR dataset.\n", "\n", "In case you want to use this google colab to fine-tune your model, you should make sure that your training doesn't stop due to inactivity. A simple hack to prevent this is to paste the following code into the console of this tab (*right mouse click -> inspect -> Console tab and insert code*)." ] }, { "cell_type": "markdown", "metadata": { "id": "VYYAvgkW4P0m" }, "source": [ "```javascript\n", "function ConnectButton(){\n", " console.log(\"Connect pushed\"); \n", " document.querySelector(\"#top-toolbar > colab-connect-button\").shadowRoot.querySelector(\"#connect\").click() \n", "}\n", "setInterval(ConnectButton,60000);\n", "```" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 348 }, "id": "_UEjJqGsQw24", "outputId": "2e23b190-ca76-48ad-8117-376d1d7c058e" }, "outputs": [ { "data": { "text/html": [ "\n", " Tracking run with wandb version 0.10.23
\n", " Syncing run final0-wav2vec2-large-xlsr-nahuatl-es-de--one-ie-base-50e-ovh-4-4-upgrade to Weights & Biases (Documentation).
\n", " Project page: https://wandb.ai/wandb/xlsr-nahuatl
\n", " Run page: https://wandb.ai/wandb/xlsr-nahuatl/runs/qtdaydv0
\n", " Run data is saved locally in /home/tyoc213/Documents/github/hf-xlsr-wav2vec2/wandb/run-20210328_170529-qtdaydv0

\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/torch/_tensor.py:565: UserWarning: floor_divide is deprecated, and will be removed in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values.\n", "To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). (Triggered internally at /pytorch/aten/src/ATen/native/BinaryOps.cpp:341.)\n", " return torch.floor_divide(self, other)\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/torch/nn/modules/module.py:903: UserWarning: Using non-full backward hooks on a Module that does not return a single Tensor or a tuple of Tensors is deprecated and will be removed in future versions. This hook will be missing some of the grad_output. Please use register_full_backward_hook to get the documented behavior.\n", " warnings.warn(\"Using non-full backward hooks on a Module that does not return a \"\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/torch/nn/modules/module.py:938: UserWarning: Using a non-full backward hook when the forward contains multiple autograd Nodes is deprecated and will be removed in future versions. This hook will be missing some grad_input. Please use register_full_backward_hook to get the documented behavior.\n", " warnings.warn(\"Using a non-full backward hook when the forward contains multiple autograd Nodes \"\n", "/home/tyoc213/miniconda3/envs/fastai/lib/python3.8/site-packages/torch/optim/lr_scheduler.py:129: UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`. In PyTorch 1.1.0 and later, you should call them in the opposite order: `optimizer.step()` before `lr_scheduler.step()`. Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate\n", " warnings.warn(\"Detected call of `lr_scheduler.step()` before `optimizer.step()`. \"\n" ] }, { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " \n", " [2850/2850 3:07:34, Epoch 150/150]\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
StepTraining LossValidation LossWerRuntimeSamples Per Second
2511.36690012.1981751.0000006.32350015.814000
508.8934006.5483201.0000006.38090015.672000
753.7674003.5678321.0000006.47670015.440000
1003.2077003.0791341.0000006.31710015.830000
1253.1079003.0051431.0000006.37280015.692000
1503.0754003.0011071.0000006.43340015.544000
1753.0247003.0074631.0000006.37080015.697000
2003.0190002.9687101.0000006.40120015.622000
2252.9835002.8914911.0000006.34390015.763000
2502.9371002.8741061.0000006.37880015.677000
2753.0487002.8794051.0000006.34080015.771000
3002.9019002.7990501.0000006.34680015.756000
3252.8194002.6709581.0000006.30550015.859000
3502.6044002.2466591.0000006.34180015.768000
3751.9368001.6145541.0000006.56230015.239000
4001.7510001.3551440.9712466.48790015.413000
4251.2259001.1643810.9265186.41780015.582000
4501.2062001.0531240.8514386.42880015.555000
4751.0862001.0687270.86262015.1202006.614000
5000.7146000.9507670.7364226.37520015.686000
5250.5488000.9266040.7028756.42870015.555000
5500.7027000.9028080.7268376.32700015.805000
5750.5805000.9317560.7092656.40140015.622000
6000.4582000.9286400.6613426.39340015.641000
6250.4378000.8370190.62939310.8440009.222000
6500.3402000.8827900.6261986.38210015.669000
6750.3968000.9543960.6070296.46240015.474000
7000.3203000.9348610.5990426.42410015.566000
7250.2816000.9285100.6182116.44030015.527000
7500.2612001.0023380.6230036.39940015.627000
7750.3374000.9818390.5670936.48440015.422000
8000.2185001.0150410.5942496.48770015.414000
8250.2310001.0534060.6150166.47150015.452000
8500.3513001.0610700.6054316.58480015.187000
8750.2045001.0021690.5814706.39480015.638000
9000.1696001.0485070.5798726.52590015.324000
9250.1483001.0495450.5623006.50980015.361000
9500.2555001.0056940.5543139.09140010.999000
9750.1409001.0382440.5734826.49840015.388000
10000.1446001.0762310.5638986.55000015.267000
10250.1227001.0333490.5910546.46480015.468000
10500.1194000.9843950.5559116.47220015.451000
10750.1116001.0223730.5591056.49280015.402000
11000.1335001.0318780.5271576.50550015.372000
11250.1348001.0159200.5463266.50940015.362000
11500.1389001.0767140.5607036.46130015.477000
11750.0884001.0310960.5511186.49980015.385000
12000.1294001.0699210.5447286.52370015.329000
12250.0749001.0147240.5383396.51340015.353000
12500.0864001.0635590.5399366.45620015.489000
12750.1060001.1057900.5543136.53110015.311000
13000.0626001.1209450.5399366.47970015.433000
13250.0715001.1389950.5495216.54160015.287000
13500.0606001.0563330.5623006.50300015.377000
13750.0881001.0864790.5463266.51800015.342000
14000.0696001.0774450.5559116.55700015.251000
14250.0407001.1343610.5463266.58880015.177000
14500.0330001.1413220.5463266.51920015.339000
14750.0842001.0958980.5527166.46590015.466000
15000.0406001.0486040.5175726.60640015.137000
15250.0707001.0599560.5239626.58970015.175000
15500.0680001.1032230.5415346.48970015.409000
15750.0760001.1522430.5271576.48900015.411000
16000.0327001.1361580.5463266.53220015.309000
16250.0442001.1450530.5447286.54420015.281000
16500.0779001.0627780.5415346.67140014.989000
16750.0780001.0942510.5335466.43420015.542000
17000.0379001.1165340.5335466.43130015.549000
17250.0430001.0948010.5351446.52260015.331000
17500.0691001.1423910.5638986.49670015.392000
17750.0406001.0742600.5303516.55200015.263000
18000.0830001.1318970.5399366.52700015.321000
18250.0250001.1522890.5383396.52670015.322000
18500.0970001.1506650.5511186.51710015.344000
18750.0489001.1412360.5511186.52380015.329000
19000.0707001.1339680.5447286.47720015.439000
19250.0475001.1460040.5399366.48800015.413000
19500.0350001.1423490.5223646.50230015.379000
19750.0296001.1441810.5335466.98700014.312000
20000.1198001.1163500.5271576.60990015.129000
20250.0385001.1196170.5207676.67080014.991000
20500.0636001.1437840.5271576.54630015.276000
20750.0633001.1255480.5335466.50030015.384000
21000.0504001.1040510.5303516.62990015.083000
21250.0235001.0898690.5143776.51830015.341000
21500.0704001.1258130.5159746.53590015.300000
21750.0389001.1374040.5095856.53250015.308000
22000.0148001.1368770.5127806.59790015.156000
22250.0559001.1496020.5239626.55280015.261000
22500.0291001.1498190.5239626.60750015.134000
22750.0642001.1642700.5239626.53820015.295000
23000.0374001.1538430.5223646.51900015.340000
23250.0134001.1483190.5207676.61910015.108000
23500.1391001.1441810.5239626.46400015.470000
23750.0308001.1046690.5255596.47540015.443000
24000.0381001.1007860.5207676.47810015.437000
24250.0528001.1262640.5255596.52950015.315000
24500.0279001.1082930.5159746.51990015.338000
24750.0147001.1028720.5207676.51710015.344000
25000.0463001.1040230.5175726.51340015.353000
25250.0594001.1344250.5207676.58370015.189000
25500.0552001.1322380.5255596.54490015.279000
25750.0336001.1226620.5239626.55250015.261000
26000.0244001.1298600.5143776.60410015.142000
26250.0337001.1231300.5095856.59350015.166000
26500.0377001.1211620.5159746.58110015.195000
26750.0452001.1155160.5175726.59040015.174000
27000.0214001.1256320.5159746.55980015.244000
27250.0411001.1327790.5159746.51340015.353000
27500.0369001.1322780.5159746.59290015.168000
27750.0450001.1187950.5159746.64500015.049000
28000.0494001.1192610.5175726.47690015.439000
28250.0337001.1182140.5175726.47550015.443000
28500.0410001.1188450.5175726.47730015.438000

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "TrainOutput(global_step=2850, training_loss=0.7157523092679811, metrics={'train_runtime': 11256.0194, 'train_samples_per_second': 0.253, 'total_flos': 1.3250501354353367e+19, 'epoch': 150.0, 'init_mem_cpu_alloc_delta': 60099, 'init_mem_gpu_alloc_delta': 1261939712, 'init_mem_cpu_peaked_delta': 18258, 'init_mem_gpu_peaked_delta': 0, 'train_mem_cpu_alloc_delta': 0, 'train_mem_gpu_alloc_delta': 5047669248, 'train_mem_cpu_peaked_delta': 0, 'train_mem_gpu_peaked_delta': 0})" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trainer.train()" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Waiting for W&B process to finish, PID 11231
Program ended successfully." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "VBox(children=(Label(value=' 1252.74MB of 1252.74MB uploaded (0.62MB deduped)\\r'), FloatProgress(value=1.0, ma…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "Find user logs for this run at: /home/tyoc213/Documents/github/hf-xlsr-wav2vec2/wandb/run-20210328_170529-qtdaydv0/logs/debug.log" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "Find internal logs for this run at: /home/tyoc213/Documents/github/hf-xlsr-wav2vec2/wandb/run-20210328_170529-qtdaydv0/logs/debug-internal.log" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

Run summary:


\n", "
train/loss0.041
train/learning_rate0.0
train/epoch150.0
train/global_step2850
_runtime11256
_timestamp1616983985
_step684
eval/loss1.11885
eval/wer0.51757
eval/runtime6.4773
eval/samples_per_second15.438
train/train_runtime11256.0194
train/train_samples_per_second0.253
train/total_flos1.3250501354353367e+19
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

Run history:


\n", "
train/loss█▃▃▃▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
train/learning_rate▂▄▇███▇▇▇▇▇▆▆▆▆▆▆▅▅▅▅▅▄▄▄▄▄▃▃▃▃▃▂▂▂▂▂▁▁▁
train/epoch▁▁▁▂▂▂▂▂▂▃▃▃▃▃▃▄▄▄▄▄▅▅▅▅▅▅▆▆▆▆▆▆▇▇▇▇▇███
train/global_step▁▁▁▁▂▂▂▂▂▃▃▃▃▃▃▄▄▄▄▄▅▅▅▅▅▅▆▆▆▆▆▇▇▇▇▇▇███
_runtime▁▁▁▁▂▂▂▂▃▃▃▃▃▄▄▄▄▄▅▅▅▅▅▅▆▆▆▆▆▆▆▇▇▇▇▇▇███
_timestamp▁▁▁▁▂▂▂▂▃▃▃▃▃▄▄▄▄▄▅▅▅▅▅▅▆▆▆▆▆▆▆▇▇▇▇▇▇███
_step▁▁▁▁▂▂▂▂▂▃▃▃▃▃▃▄▄▄▄▄▅▅▅▅▅▅▆▆▆▆▆▇▇▇▇▇▇███
eval/loss█▃▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
eval/wer██████▆▄▃▂▃▂▂▂▂▁▂▁▂▂▂▁▂▁▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁
eval/runtime▁▁▁▁▁▂▁▁▁▁▁▁▁█▁▁▁▁▂▂▁▂▂▁▁▂▁▃▂▁▂▂▂▁▁▂▂▂▂▁
eval/samples_per_second█▇███▇█████▇█▁▇▇▇█▇▇▇▇▇█▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇
train/train_runtime
train/train_samples_per_second
train/total_flos

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "Synced 5 W&B file(s), 1 media file(s), 6 artifact file(s) and 1 other file(s)" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
Synced final0-wav2vec2-large-xlsr-nahuatl-es-de--one-ie-base-50e-ovh-4-4-upgrade: https://wandb.ai/wandb/xlsr-nahuatl/runs/qtdaydv0
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 7.33 s, sys: 560 ms, total: 7.89 s\n", "Wall time: 10min 17s\n" ] } ], "source": [ "%%time\n", "wandb.finish()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [], "machine_shape": "hm", "name": "Fine-Tune XLSR-Wav2Vec2 on Turkish ASR with 🤗 Transformers.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "015c5690e1ea4281954c7efda1c80a6a": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#1: 100%", "description_tooltip": null, "layout": "IPY_MODEL_dec796237765477ea904834d9a824b61", "max": 109, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_2f727c76652944e3892dd584bea11af2", "value": 109 } }, "018c1f8e198e4df4b480e609bd1be602": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_768ab09956774f50a79b2493a8bf179b", "placeholder": "​", "style": "IPY_MODEL_d35c15beeb33476894b07c3563f8facd", "value": " 109/109 [00:56<00:00, 1.92ba/s]" } }, "020bdb330b0d40f5b89697ff37025f69": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "024989cea06f435894776b0a921164b2": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "02bdb06c176145feaa842b97ae58609c": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "02d1f77324854fbca0df9384c57faac8": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#3: 100%", "description_tooltip": null, "layout": "IPY_MODEL_d4a3f79644fc41848450ba29e6fdfc3d", "max": 52, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_704ea5e05fd744d998b76d6435992995", "value": 52 } }, "0354ab33471e4c34a0c1b3c062bcd6bb": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "03b33c17734d49e28c4636dddd6e833d": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "info", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_bee0f50055eb4f738636142a10da0ddd", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_da1ff50f8b9241108a325ada04224642", "value": 1 } }, "05f83d714f864a399083f0e34a812467": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "089428f56e66419f85ea149d9d102454": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_4db5037af3f64a3a8a8a1203018a80ff", "IPY_MODEL_6a957c1c17474d8d89c27ddecf702fda" ], "layout": "IPY_MODEL_d649c0f9c1c24634a84b7ef697721ffa" } }, "0987aac282af415da2fbc9dc1b4d5069": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0a9b58c98508420d8f8936189f064316": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "info", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_af85713f677243d19cba9fe69a4a5f46", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_c546bca23ee248a1be7bd8ead3e82a8f", "value": 1 } }, "0b795d4b68014de19bf9579c67b55ffb": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "0cd1932178c945d48604ffd299e65d2c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0e999af234bd4b63ad2937e61d08b693": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0f3756509e3b405d87936f599b153de2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "0f99011a13754ed99f3c51a478b0e793": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_bd187486ac2548f2961cfcb63d852de1", "IPY_MODEL_3f780f0aa8834fc189b292e0474e2ffa" ], "layout": "IPY_MODEL_4abe2731ec624729b401d60a392cae63" } }, "0ffcbedb8d4444508ac0c3c0b41ea8ac": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "1261590ef796493798f7068ea0547b74": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "12696cc03f464a63a411efb2b5e5ac3b": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_ceb44ba4fdf34da19a52469acf1ce63f", "placeholder": "​", "style": "IPY_MODEL_68a3178fe7a54e838e798ff28ff9aa0b", "value": " 139k/? [00:00<00:00, 2.38MB/s]" } }, "1813458f75514f039ba0214597a09bb4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "19e263785ea343ba99ee2127d9b83d1d": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "1f1faa7b986e475c9e6839b2e7b55c74": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_b320306eaf264ad9872d507a1a1cb2da", "placeholder": "​", "style": "IPY_MODEL_2ca2f397c4ef405bba27ae2b1415cada", "value": " 3478/3478 [03:59<00:00, 14.53ex/s]" } }, "20347ed29fdc4c0a96da28c09aacf44d": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "231c66f195d34f86b216805518f4bccd": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "24ea17ae8ab14e8a871e5e115c3f4c06": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_f3905820a42c499fba04af9c1ad19705", "IPY_MODEL_4e1a725fd90b45e280b8b0028ba65250" ], "layout": "IPY_MODEL_f57d087016124ebeb073fd7428dcb68b" } }, "25ba4f4c8b9c44af9885b3903a9261fd": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_03b33c17734d49e28c4636dddd6e833d", "IPY_MODEL_71c059a0f3c246f3a40d55744331daaa" ], "layout": "IPY_MODEL_dde7ae43ef954ef1b901c80f0a4e11fd" } }, "26e7bab0f3bf4797bfcef83dcace24f0": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2a6e1185a6a247f5acba8111824ad36b": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "2ca2f397c4ef405bba27ae2b1415cada": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "2cd13e03a2ab45dc8570c8c739a613b4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2f18d89c684343b69c3f44ffbb9b42a0": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "2f5406546970425282a881b5d2f7c248": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "2f727c76652944e3892dd584bea11af2": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "2fd148d5587b4139919b0158f9dad71e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "304e9130c12f4110941bfbd3db49a28c": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_75e00c38605f44cfb584067db1160349", "IPY_MODEL_8c07a528fc4a4e108b393ab117fe2e46" ], "layout": "IPY_MODEL_5e6bae23461b4378b6e5fc890fe6bc97" } }, "3133b378b9294a759c8dfb786ed8f815": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "330226a977694de1bd88c0aa3789be47": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "33c92b5afd1d4b6d88016aabfb434194": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "100%", "description_tooltip": null, "layout": "IPY_MODEL_3dc9ea77b842455a91f00e9ca9f41948", "max": 1647, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_45f0a2f361da4608bc8314a27657a56c", "value": 1647 } }, "348ef54c80b2449f8a3bc950cccd62cc": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_7edbecaccdd94ede8fddc0e1807e777e", "IPY_MODEL_5e3aad95e52f4be2bd670d1345398f1b" ], "layout": "IPY_MODEL_b78413dcc0584a0c8f71731a06aaa1b8" } }, "389e43e47a734193a507817ebad955f7": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3bdb4058f40f40e3a10e323325a64638": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d7f27e9cf8a844349ca90393e0c49a03", "placeholder": "​", "style": "IPY_MODEL_751ae6b9e2da4b85be9600561485f1ac", "value": " 412/412 [03:04<00:00, 2.23ex/s]" } }, "3d929b9e2518402b81a71757ffb753d2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3dc9ea77b842455a91f00e9ca9f41948": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3e2cd59ac697495f8db14b894b783f95": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3e3a022a9f304b0f9f7ef067fcee1e56": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3ec3285e9f3e4a5abcefabb7f140f4a3": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "3f780f0aa8834fc189b292e0474e2ffa": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a868dea9d9b047a4b853b390e138e4c1", "placeholder": "​", "style": "IPY_MODEL_ec36a94ee2574ac8b227ccaefdee5520", "value": " 52/52 [00:31<00:00, 1.67ba/s]" } }, "405b5de4ae854cf9896f63d15f2207dd": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "416badb151ee4660b53fdbc136e0c8fb": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_0f3756509e3b405d87936f599b153de2", "placeholder": "​", "style": "IPY_MODEL_824569c63ec445c08362659ca228dd2a", "value": " 412/412 [03:01<00:00, 2.28ex/s]" } }, "430c3c079d0e4006b90e72df7986ffb0": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4382726ef043441a9b1a4a647d84f242": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "45f0a2f361da4608bc8314a27657a56c": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "4797f1acd9924b4e97f12f964c83078c": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_5370c0f2d54b45c0a89f11fb5b70cd4b", "IPY_MODEL_018c1f8e198e4df4b480e609bd1be602" ], "layout": "IPY_MODEL_73940df84ffd4e0f96637342e9fd12b7" } }, "47a6c3c427614f21a6dab1c048e5dd37": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "491fd969d61a478f8e85ffcd3e1a3e20": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "49defa4284554baf85f32de242b22709": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "4abe2731ec624729b401d60a392cae63": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4c0ad31e73234e46aac0a297ec18bdeb": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "4db5037af3f64a3a8a8a1203018a80ff": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "info", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c0e6b6e6395d4dbd827eb1c0de1ad21a", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_2a6e1185a6a247f5acba8111824ad36b", "value": 1 } }, "4e1a725fd90b45e280b8b0028ba65250": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_491fd969d61a478f8e85ffcd3e1a3e20", "placeholder": "​", "style": "IPY_MODEL_9f79629ad6a94201acf3283862d1ae17", "value": " 869/869 [05:48<00:00, 2.49ex/s]" } }, "4f8957dc035d4c1a9e8630fc8ab8cd10": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#1: 100%", "description_tooltip": null, "layout": "IPY_MODEL_47a6c3c427614f21a6dab1c048e5dd37", "max": 870, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_596aea0362924c7db583203268dd5a3e", "value": 870 } }, "4fb7347e9ca542e6ab9003bf4db218e0": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_0987aac282af415da2fbc9dc1b4d5069", "placeholder": "​", "style": "IPY_MODEL_6d4a26d876fb4ac6b5948a09945bdc6b", "value": " 109/109 [00:58<00:00, 1.88ba/s]" } }, "4ff7ccffc36a4a0f93031f5cdc3b718d": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "5071a31d06f544a5b7340a4e863d8fdf": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#3: 100%", "description_tooltip": null, "layout": "IPY_MODEL_b2473405490e4556bf30c0cc81237aa5", "max": 109, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_49defa4284554baf85f32de242b22709", "value": 109 } }, "530f66ac087e4f8f979fcaa33941c60d": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "5370c0f2d54b45c0a89f11fb5b70cd4b": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#0: 100%", "description_tooltip": null, "layout": "IPY_MODEL_020bdb330b0d40f5b89697ff37025f69", "max": 109, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_fa7926bbe77e48b3a0648b45f5d2dc7a", "value": 109 } }, "540510088d3947f1b3cf6f4c983c1a53": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "542027ba12f444d586e8072452badea0": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_bc41384bbae04044b9780651c6b5a47c", "placeholder": "​", "style": "IPY_MODEL_02bdb06c176145feaa842b97ae58609c", "value": " 109/109 [00:58<00:00, 1.88ba/s]" } }, "55071fc1b7484620803aeba453e9af72": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "56ad6231a0a04228be29ceecbc6b7c0e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "57198e3250374e1fa64c5a4be255861e": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_8f737725708c4097a8caaf4da6229636", "placeholder": "​", "style": "IPY_MODEL_969080b52ad44ee997829986d198c505", "value": " 3.90k/? [00:00<00:00, 23.0kB/s]" } }, "579b6055028f473981ce789a0733a753": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#2: 100%", "description_tooltip": null, "layout": "IPY_MODEL_6de66d6b7a73434cbdc59b2109bdf0a0", "max": 109, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_3133b378b9294a759c8dfb786ed8f815", "value": 109 } }, "58f3e8002f984594ac05c973aa78ef69": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "596aea0362924c7db583203268dd5a3e": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "59e0f5200068461cbfb256ad5479c4c8": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "5a5bc8b4a1c644dea08a60128d888d10": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "5ab30242cd154ec0b560c23c0f178546": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "5ccd12253fff448f9c15c9b03c70a408": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_f203c54e7e054d97aa4d1097f320f611", "IPY_MODEL_6266a4019e124aff877bb55f21740180" ], "layout": "IPY_MODEL_330226a977694de1bd88c0aa3789be47" } }, "5e3aad95e52f4be2bd670d1345398f1b": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_99d5c44ea54b45ee9bd89380cb1ad189", "placeholder": "​", "style": "IPY_MODEL_7aa70322bdfe46938b583a20003093d5", "value": " 3478/3478 [03:16<00:00, 17.67ex/s]" } }, "5e6bae23461b4378b6e5fc890fe6bc97": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5f48f54986924e418aa4ac22aa54b714": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_a58c203a7cc54086aea45f2029821207", "IPY_MODEL_8d409ca0372a48e2972ca1d8eee5ffa1" ], "layout": "IPY_MODEL_db71db50799c404aafa4a54de8b9b799" } }, "6266a4019e124aff877bb55f21740180": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_55071fc1b7484620803aeba453e9af72", "placeholder": "​", "style": "IPY_MODEL_8ad3e4b211e34c048d0f48e36fdbfe48", "value": " 411/411 [02:58<00:00, 2.30ex/s]" } }, "6462bd9561e24abb98fce6ce4675d810": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_e273548a15aa4d4994132b317adb66fc", "IPY_MODEL_f6930dd5519d4dfda64c597def220a30" ], "layout": "IPY_MODEL_bd3447291ce54812af10ac6245ea4328" } }, "68a3178fe7a54e838e798ff28ff9aa0b": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "69828f4a101f4340916a4be141866904": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6a957c1c17474d8d89c27ddecf702fda": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_91fcf0641fe3489ab96f3aaa40adf245", "placeholder": "​", "style": "IPY_MODEL_05f83d714f864a399083f0e34a812467", "value": " 1647/0 [00:00<00:00, 14016.07 examples/s]" } }, "6abfbe44a1bd4518b41f5f53f920e936": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6ba6d07674a34836be53cf173c2b61ca": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6c065aa34661469ca1efb4c5e90fe136": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_0a9b58c98508420d8f8936189f064316", "IPY_MODEL_8dd5b08bb5bd4e608d04122424796ae7" ], "layout": "IPY_MODEL_540510088d3947f1b3cf6f4c983c1a53" } }, "6d4a26d876fb4ac6b5948a09945bdc6b": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "6de66d6b7a73434cbdc59b2109bdf0a0": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6f60626242534f44a6381195e6eb6530": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#2: 100%", "description_tooltip": null, "layout": "IPY_MODEL_0ffcbedb8d4444508ac0c3c0b41ea8ac", "max": 52, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_5ab30242cd154ec0b560c23c0f178546", "value": 52 } }, "7040945accce4739a41746cc75bb7fce": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_6f60626242534f44a6381195e6eb6530", "IPY_MODEL_9fee9d9dd1164d97a9109e942444c332" ], "layout": "IPY_MODEL_71011f0d2bc942ac8f9ea1d1fd30c78d" } }, "704ea5e05fd744d998b76d6435992995": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "71011f0d2bc942ac8f9ea1d1fd30c78d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "71c059a0f3c246f3a40d55744331daaa": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_430c3c079d0e4006b90e72df7986ffb0", "placeholder": "​", "style": "IPY_MODEL_cb5666eb8ebb4d1392e98d6b5af8761c", "value": " 325/0 [00:00<00:00, 7071.04 examples/s]" } }, "71ffdf6f26ba4381a8e671958e679f88": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "73940df84ffd4e0f96637342e9fd12b7": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "73ecbfc3c5c5456bb42e19b8a34b1576": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "751ae6b9e2da4b85be9600561485f1ac": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "757e7bd0e6c5410da0490d191b4e68c8": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_9185f86719af476da41e3835e8f06f8d", "placeholder": "​", "style": "IPY_MODEL_0b795d4b68014de19bf9579c67b55ffb", "value": " 870/870 [05:35<00:00, 2.59ex/s]" } }, "75e00c38605f44cfb584067db1160349": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "100%", "description_tooltip": null, "layout": "IPY_MODEL_73ecbfc3c5c5456bb42e19b8a34b1576", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_c01aca3229a24d41841be2b4a3a65bcc", "value": 1 } }, "768ab09956774f50a79b2493a8bf179b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "76d162d3ea0845cc837651a77a5a2d36": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_f6b01ad0433a40178ef3ba5657bc1583", "IPY_MODEL_eed2ccc12daa4c71b080794a7a18f5cb" ], "layout": "IPY_MODEL_98c594f1e41e4b3fab10f0763bd93d75" } }, "771959e46cb64b3ebafe931f96f5ff52": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_f792530a76ee486688cbc2502dfae594", "IPY_MODEL_d69468d63dd74fdd807fe061b92aa84e" ], "layout": "IPY_MODEL_0e999af234bd4b63ad2937e61d08b693" } }, "7916b06da182435a9cc1d13c73310500": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7aa70322bdfe46938b583a20003093d5": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "7b4cfd2b448643b8a4409dd612aef0d1": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7bf5b2b625764f63ad57a360c3fd0a61": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "7d62810674c8482abe46c60fc08884b4": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "7e50f8027fb74d669daae5e46082026c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "7edbecaccdd94ede8fddc0e1807e777e": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "100%", "description_tooltip": null, "layout": "IPY_MODEL_3e3a022a9f304b0f9f7ef067fcee1e56", "max": 3478, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_b9c5c6dd54cc4dc5ad5a2bb69a24ab05", "value": 3478 } }, "7ef969e47c2d429a9848d5ab3f5bb2d9": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_015c5690e1ea4281954c7efda1c80a6a", "IPY_MODEL_f4135dd72864445391f43f387635bfdc" ], "layout": "IPY_MODEL_fe62265afdc74026b7e9c5a50ef61d2c" } }, "7f5203fde6b64bf7ad53d6ecd3041bfc": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "7f787df324514a8c915785e272a8af18": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "info", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_7916b06da182435a9cc1d13c73310500", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_71ffdf6f26ba4381a8e671958e679f88", "value": 1 } }, "80697300a4394b909f1c499ba80aeb13": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "813fc95246034f5cb9e5198897b4ed42": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "82015055d32449b89346ea18e7474c4d": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_f5f1f0865d7e4d8b810ccb9c3c4d2683", "IPY_MODEL_416badb151ee4660b53fdbc136e0c8fb" ], "layout": "IPY_MODEL_a170c0cb21cf425fbee97fd6d5584e2c" } }, "824569c63ec445c08362659ca228dd2a": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "8292dafcd40745958d0f3c563bf6b9b0": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "83b51e16d88046c48dcd745cf09d2e56": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "84e7f0001ebe458dad3c96e7e9a38cdc": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8701fb161cec47e89fc4d57b599ee7fe": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_7f787df324514a8c915785e272a8af18", "IPY_MODEL_889da3e5ed2945849d3c8a6a75175747" ], "layout": "IPY_MODEL_1813458f75514f039ba0214597a09bb4" } }, "889da3e5ed2945849d3c8a6a75175747": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2cd13e03a2ab45dc8570c8c739a613b4", "placeholder": "​", "style": "IPY_MODEL_59e0f5200068461cbfb256ad5479c4c8", "value": " 1647/0 [00:00<00:00, 14767.90 examples/s]" } }, "8ad3e4b211e34c048d0f48e36fdbfe48": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "8bb78a89ff81400791e3005098fdcb94": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8c07a528fc4a4e108b393ab117fe2e46": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_8bb78a89ff81400791e3005098fdcb94", "placeholder": "​", "style": "IPY_MODEL_813fc95246034f5cb9e5198897b4ed42", "value": " 1/1 [00:00<00:00, 13.94ba/s]" } }, "8d409ca0372a48e2972ca1d8eee5ffa1": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_b0479f03f96241ca959f6fe7bcbd1aba", "placeholder": "​", "style": "IPY_MODEL_d362345c05234c97a675c6bacdad0e92", "value": " 1647/1647 [01:20<00:00, 20.38ex/s]" } }, "8dd5b08bb5bd4e608d04122424796ae7": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_9eb51a6ecf3f41578aa397a5c2a33673", "placeholder": "​", "style": "IPY_MODEL_2f18d89c684343b69c3f44ffbb9b42a0", "value": " 1726/0 [00:00<00:00, 13986.88 examples/s]" } }, "8dddd0245dcb4532917cbfa0181d2a00": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#2: 100%", "description_tooltip": null, "layout": "IPY_MODEL_b1d93a7521fa47b8a815445b5232da59", "max": 412, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_024989cea06f435894776b0a921164b2", "value": 412 } }, "8df9d19602cb4951b397c385458a11ef": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "8e1a85a4a6214a16b7431da23a301ada": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "Downloading: ", "description_tooltip": null, "layout": "IPY_MODEL_d453bd4a35e54bfba20dac1fe86c60c1", "max": 1764, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_a3c04c75ec9743feb795f69e7c4dff4f", "value": 1764 } }, "8e63ba7f1fd24555bf11bc9dbe9c770b": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_26e7bab0f3bf4797bfcef83dcace24f0", "placeholder": "​", "style": "IPY_MODEL_405b5de4ae854cf9896f63d15f2207dd", "value": " 52/52 [00:30<00:00, 1.68ba/s]" } }, "8f737725708c4097a8caaf4da6229636": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "90b8bc59e26a46009e1d3763f86f227a": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_98e7ab5f7ebf426fbb71a37bbad4c28f", "IPY_MODEL_e3b719c0ffcc4fd1b410ffb7f969b7a5" ], "layout": "IPY_MODEL_3e2cd59ac697495f8db14b894b783f95" } }, "9185f86719af476da41e3835e8f06f8d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "91fcf0641fe3489ab96f3aaa40adf245": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "923ed9e127524187ab8cfcac31164ba7": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "929cde17b3484f3e9e8f8774bc43e374": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "92a35db69bbf4ad6af44c53aa3870be5": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_b94e374d92c146009447c3827b977267", "IPY_MODEL_1f1faa7b986e475c9e6839b2e7b55c74" ], "layout": "IPY_MODEL_389e43e47a734193a507817ebad955f7" } }, "93f191a48b3141e1889fd94870b6ac0e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9532db4cdc5e4371a4a02055a4c67a08": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "969080b52ad44ee997829986d198c505": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "98c594f1e41e4b3fab10f0763bd93d75": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "98e7ab5f7ebf426fbb71a37bbad4c28f": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "info", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2f5406546970425282a881b5d2f7c248", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_4382726ef043441a9b1a4a647d84f242", "value": 1 } }, "998676d59f9c464e8463d65baad6448b": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_7b4cfd2b448643b8a4409dd612aef0d1", "placeholder": "​", "style": "IPY_MODEL_7bf5b2b625764f63ad57a360c3fd0a61", "value": " 1647/1647 [00:45<00:00, 36.39ex/s]" } }, "99d5c44ea54b45ee9bd89380cb1ad189": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9eb51a6ecf3f41578aa397a5c2a33673": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9f79629ad6a94201acf3283862d1ae17": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "9fee9d9dd1164d97a9109e942444c332": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c126ea97019149848396e593cfab016f", "placeholder": "​", "style": "IPY_MODEL_f9efaa7678c2450f847ff2c2f21ff96e", "value": " 52/52 [00:31<00:00, 1.66ba/s]" } }, "a170c0cb21cf425fbee97fd6d5584e2c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a34dae18d9994b848630d4e3d836e0cb": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "a3c04c75ec9743feb795f69e7c4dff4f": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "a47f1ea64f894f0b8e6b277c31ae9f7d": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "a58c203a7cc54086aea45f2029821207": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "100%", "description_tooltip": null, "layout": "IPY_MODEL_b1b6a4649fc34c9996f993c57671766b", "max": 1647, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_c8fdf261ac294093a355778a3a4aba3b", "value": 1647 } }, "a868dea9d9b047a4b853b390e138e4c1": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "aafd4b2c56db43378c4627797665db17": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_ad428686450f4ebdb50a0356b2e5a8c4", "placeholder": "​", "style": "IPY_MODEL_ccb720bf256e42f7b0251494ccb7741f", "value": " 1/1 [00:45<00:00, 45.03s/ba]" } }, "ab72c80dfd5e4ab19a183f4204486b59": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "ac35dca0845149a284b9867d9e607232": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_5071a31d06f544a5b7340a4e863d8fdf", "IPY_MODEL_542027ba12f444d586e8072452badea0" ], "layout": "IPY_MODEL_b54bff6261964119bcb562c1a9f74ce6" } }, "ad428686450f4ebdb50a0356b2e5a8c4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "af85713f677243d19cba9fe69a4a5f46": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b0479f03f96241ca959f6fe7bcbd1aba": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b054b00a32e64fc5988fbd2966ebbce6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b0e3a36279d243ab9943149705c72c3e": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "Downloading: ", "description_tooltip": null, "layout": "IPY_MODEL_a34dae18d9994b848630d4e3d836e0cb", "max": 5925, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_530f66ac087e4f8f979fcaa33941c60d", "value": 5925 } }, "b0f3a205ad4546188fc6e7e7cf96ab32": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "b177a8cb85a24b88ab6d56205b630f1d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b1b6a4649fc34c9996f993c57671766b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b1d93a7521fa47b8a815445b5232da59": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b2473405490e4556bf30c0cc81237aa5": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b320306eaf264ad9872d507a1a1cb2da": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b54bff6261964119bcb562c1a9f74ce6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b6221b4c04e64c9da9eb9e11539bac89": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_02d1f77324854fbca0df9384c57faac8", "IPY_MODEL_8e63ba7f1fd24555bf11bc9dbe9c770b" ], "layout": "IPY_MODEL_dc6862530f6e429ba61a169b4c95722c" } }, "b78413dcc0584a0c8f71731a06aaa1b8": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b7c43fb5efdd4afbb82c81b923f2815a": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_8dddd0245dcb4532917cbfa0181d2a00", "IPY_MODEL_3bdb4058f40f40e3a10e323325a64638" ], "layout": "IPY_MODEL_c0a661f20e7e4649a3c8c42a5fd01956" } }, "b94e374d92c146009447c3827b977267": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "100%", "description_tooltip": null, "layout": "IPY_MODEL_b177a8cb85a24b88ab6d56205b630f1d", "max": 3478, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_4ff7ccffc36a4a0f93031f5cdc3b718d", "value": 3478 } }, "b9c5c6dd54cc4dc5ad5a2bb69a24ab05": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "bc41384bbae04044b9780651c6b5a47c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "bd0958ea97b141b1aca367c71721c549": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_d080668299ef42fabb8ab6fbcf329cea", "IPY_MODEL_aafd4b2c56db43378c4627797665db17" ], "layout": "IPY_MODEL_0354ab33471e4c34a0c1b3c062bcd6bb" } }, "bd187486ac2548f2961cfcb63d852de1": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#1: 100%", "description_tooltip": null, "layout": "IPY_MODEL_58f3e8002f984594ac05c973aa78ef69", "max": 52, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_231c66f195d34f86b216805518f4bccd", "value": 52 } }, "bd3447291ce54812af10ac6245ea4328": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "beca070c32124a119a08cb21c2ca95e5": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "bee0f50055eb4f738636142a10da0ddd": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "bf9e57d81135412d9a9a2281f28bd52a": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_579b6055028f473981ce789a0733a753", "IPY_MODEL_4fb7347e9ca542e6ab9003bf4db218e0" ], "layout": "IPY_MODEL_c41610c0baef412984f8661d96e08b7e" } }, "c01aca3229a24d41841be2b4a3a65bcc": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "c0a661f20e7e4649a3c8c42a5fd01956": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c0e6b6e6395d4dbd827eb1c0de1ad21a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c126ea97019149848396e593cfab016f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c41610c0baef412984f8661d96e08b7e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "c546bca23ee248a1be7bd8ead3e82a8f": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "c8fdf261ac294093a355778a3a4aba3b": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "c9dc4421940241c59f1151aeabedc98b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "cb5666eb8ebb4d1392e98d6b5af8761c": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "cc9c1e00c2d34516b8fd9edff96bb0d8": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_33c92b5afd1d4b6d88016aabfb434194", "IPY_MODEL_998676d59f9c464e8463d65baad6448b" ], "layout": "IPY_MODEL_6abfbe44a1bd4518b41f5f53f920e936" } }, "ccb720bf256e42f7b0251494ccb7741f": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "ce337f50183942e6a74ca1b33735ade9": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e9a702f10538415b970ea1345804d72c", "placeholder": "​", "style": "IPY_MODEL_9532db4cdc5e4371a4a02055a4c67a08", "value": " 23.0k/? [00:00<00:00, 72.2kB/s]" } }, "ceb44ba4fdf34da19a52469acf1ce63f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d080668299ef42fabb8ab6fbcf329cea": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "100%", "description_tooltip": null, "layout": "IPY_MODEL_f972527479e74337a98f236ed018ae1d", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_b0f3a205ad4546188fc6e7e7cf96ab32", "value": 1 } }, "d35c15beeb33476894b07c3563f8facd": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "d362345c05234c97a675c6bacdad0e92": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "d453bd4a35e54bfba20dac1fe86c60c1": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d4a3f79644fc41848450ba29e6fdfc3d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d5fb02debe4347e781543a996ce39be3": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_8e1a85a4a6214a16b7431da23a301ada", "IPY_MODEL_57198e3250374e1fa64c5a4be255861e" ], "layout": "IPY_MODEL_da12267c52144292adb9896249d61a6a" } }, "d649c0f9c1c24634a84b7ef697721ffa": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d69468d63dd74fdd807fe061b92aa84e": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_84e7f0001ebe458dad3c96e7e9a38cdc", "placeholder": "​", "style": "IPY_MODEL_7f5203fde6b64bf7ad53d6ecd3041bfc", "value": " 869/869 [05:47<00:00, 2.50ex/s]" } }, "d7f27e9cf8a844349ca90393e0c49a03": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d96e01ad62c342cdb7d9b1eceb39afa3": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_e6178f7b148c4bf39f2826f208e0cc64", "IPY_MODEL_f78ff14b9c8f46448ed1ecb3fe1f5e0b" ], "layout": "IPY_MODEL_e6ce9330460d4a0fb67cc493ca74ae96" } }, "da12267c52144292adb9896249d61a6a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "da1ff50f8b9241108a325ada04224642": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "db71db50799c404aafa4a54de8b9b799": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "dc6862530f6e429ba61a169b4c95722c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "dde7ae43ef954ef1b901c80f0a4e11fd": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "dec796237765477ea904834d9a824b61": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "def702d8f8354fa4999587a5c68d0034": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_edf36819322e4f9fa227a11592fef429", "IPY_MODEL_ce337f50183942e6a74ca1b33735ade9" ], "layout": "IPY_MODEL_2fd148d5587b4139919b0158f9dad71e" } }, "e273548a15aa4d4994132b317adb66fc": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#0: 100%", "description_tooltip": null, "layout": "IPY_MODEL_80697300a4394b909f1c499ba80aeb13", "max": 52, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_7d62810674c8482abe46c60fc08884b4", "value": 52 } }, "e3b719c0ffcc4fd1b410ffb7f969b7a5": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c9dc4421940241c59f1151aeabedc98b", "placeholder": "​", "style": "IPY_MODEL_19e263785ea343ba99ee2127d9b83d1d", "value": " 1831/0 [00:04<00:00, 4.82s/ examples]" } }, "e51b5fd9d5a6416d986fac1526d1666f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e6178f7b148c4bf39f2826f208e0cc64": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#0: 100%", "description_tooltip": null, "layout": "IPY_MODEL_6ba6d07674a34836be53cf173c2b61ca", "max": 412, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_929cde17b3484f3e9e8f8774bc43e374", "value": 412 } }, "e6ce9330460d4a0fb67cc493ca74ae96": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e9a702f10538415b970ea1345804d72c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ec36a94ee2574ac8b227ccaefdee5520": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "edf36819322e4f9fa227a11592fef429": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "Downloading: ", "description_tooltip": null, "layout": "IPY_MODEL_93f191a48b3141e1889fd94870b6ac0e", "max": 4662, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_8292dafcd40745958d0f3c563bf6b9b0", "value": 4662 } }, "ee641bbf54a7499597713c517baa81bb": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_4f8957dc035d4c1a9e8630fc8ab8cd10", "IPY_MODEL_757e7bd0e6c5410da0490d191b4e68c8" ], "layout": "IPY_MODEL_3d929b9e2518402b81a71757ffb753d2" } }, "eed2ccc12daa4c71b080794a7a18f5cb": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f18eddbd3d994ddc88f37e02d754c206", "placeholder": "​", "style": "IPY_MODEL_20347ed29fdc4c0a96da28c09aacf44d", "value": " 870/870 [05:39<00:00, 2.45ex/s]" } }, "f18eddbd3d994ddc88f37e02d754c206": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f203c54e7e054d97aa4d1097f320f611": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#3: 100%", "description_tooltip": null, "layout": "IPY_MODEL_0cd1932178c945d48604ffd299e65d2c", "max": 411, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_3ec3285e9f3e4a5abcefabb7f140f4a3", "value": 411 } }, "f3905820a42c499fba04af9c1ad19705": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#2: 100%", "description_tooltip": null, "layout": "IPY_MODEL_fc9504846f424542a7feb932964f1f5b", "max": 869, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_4c0ad31e73234e46aac0a297ec18bdeb", "value": 869 } }, "f3adb92e618743cca3299e3e7b6e369f": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_b0e3a36279d243ab9943149705c72c3e", "IPY_MODEL_12696cc03f464a63a411efb2b5e5ac3b" ], "layout": "IPY_MODEL_83b51e16d88046c48dcd745cf09d2e56" } }, "f4135dd72864445391f43f387635bfdc": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_923ed9e127524187ab8cfcac31164ba7", "placeholder": "​", "style": "IPY_MODEL_8df9d19602cb4951b397c385458a11ef", "value": " 109/109 [00:56<00:00, 1.93ba/s]" } }, "f57d087016124ebeb073fd7428dcb68b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f5f1f0865d7e4d8b810ccb9c3c4d2683": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#1: 100%", "description_tooltip": null, "layout": "IPY_MODEL_e51b5fd9d5a6416d986fac1526d1666f", "max": 412, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_a47f1ea64f894f0b8e6b277c31ae9f7d", "value": 412 } }, "f6930dd5519d4dfda64c597def220a30": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_56ad6231a0a04228be29ceecbc6b7c0e", "placeholder": "​", "style": "IPY_MODEL_ab72c80dfd5e4ab19a183f4204486b59", "value": " 52/52 [00:31<00:00, 1.63ba/s]" } }, "f6b01ad0433a40178ef3ba5657bc1583": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#0: 100%", "description_tooltip": null, "layout": "IPY_MODEL_69828f4a101f4340916a4be141866904", "max": 870, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_beca070c32124a119a08cb21c2ca95e5", "value": 870 } }, "f78ff14b9c8f46448ed1ecb3fe1f5e0b": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_b054b00a32e64fc5988fbd2966ebbce6", "placeholder": "​", "style": "IPY_MODEL_5a5bc8b4a1c644dea08a60128d888d10", "value": " 412/412 [03:06<00:00, 2.20ex/s]" } }, "f792530a76ee486688cbc2502dfae594": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "#3: 100%", "description_tooltip": null, "layout": "IPY_MODEL_7e50f8027fb74d669daae5e46082026c", "max": 869, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_1261590ef796493798f7068ea0547b74", "value": 869 } }, "f972527479e74337a98f236ed018ae1d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "f9efaa7678c2450f847ff2c2f21ff96e": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "fa7926bbe77e48b3a0648b45f5d2dc7a": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "initial" } }, "fc9504846f424542a7feb932964f1f5b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "fe62265afdc74026b7e9c5a50ef61d2c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } } } } }, "nbformat": 4, "nbformat_minor": 4 }