Yurii Paniv commited on
Commit
42b6ec5
β€’
1 Parent(s): 2cbd7c6

Add train notebook

Browse files
wav2vec2/wav2vec_data.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
wav2vec2/wav2vec_train.ipynb ADDED
@@ -0,0 +1,1665 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {
7
+ "colab": {
8
+ "base_uri": "https://localhost:8080/"
9
+ },
10
+ "executionInfo": {
11
+ "elapsed": 829,
12
+ "status": "ok",
13
+ "timestamp": 1641588786523,
14
+ "user": {
15
+ "displayName": "Yurii Paniv",
16
+ "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
17
+ "userId": "13095662915325887123"
18
+ },
19
+ "user_tz": -120
20
+ },
21
+ "id": "YELVqGxMxnbG",
22
+ "outputId": "876761c1-2e03-411b-e61b-07ac4ad61377"
23
+ },
24
+ "outputs": [
25
+ {
26
+ "name": "stdout",
27
+ "output_type": "stream",
28
+ "text": [
29
+ "Wed Dec 28 21:13:08 2022 \n",
30
+ "+-----------------------------------------------------------------------------+\n",
31
+ "| NVIDIA-SMI 515.86.01 Driver Version: 515.86.01 CUDA Version: 11.7 |\n",
32
+ "|-------------------------------+----------------------+----------------------+\n",
33
+ "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
34
+ "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n",
35
+ "| | | MIG M. |\n",
36
+ "|===============================+======================+======================|\n",
37
+ "| 0 NVIDIA GeForce ... Off | 00000000:0A:00.0 On | N/A |\n",
38
+ "| 0% 41C P8 24W / 390W | 1364MiB / 24576MiB | 0% Default |\n",
39
+ "| | | N/A |\n",
40
+ "+-------------------------------+----------------------+----------------------+\n",
41
+ " \n",
42
+ "+-----------------------------------------------------------------------------+\n",
43
+ "| Processes: |\n",
44
+ "| GPU GI CI PID Type Process name GPU Memory |\n",
45
+ "| ID ID Usage |\n",
46
+ "|=============================================================================|\n",
47
+ "| 0 N/A N/A 1345 G /usr/lib/xorg/Xorg 528MiB |\n",
48
+ "| 0 N/A N/A 2100 G /usr/bin/kwalletd5 4MiB |\n",
49
+ "| 0 N/A N/A 2266 G ...ec/xdg-desktop-portal-kde 4MiB |\n",
50
+ "| 0 N/A N/A 2303 G /usr/bin/ksmserver 4MiB |\n",
51
+ "| 0 N/A N/A 2305 G /usr/bin/kded5 4MiB |\n",
52
+ "| 0 N/A N/A 2306 G /usr/bin/kwin_x11 102MiB |\n",
53
+ "| 0 N/A N/A 2367 G /usr/bin/plasmashell 133MiB |\n",
54
+ "| 0 N/A N/A 2396 G ...de-authentication-agent-1 4MiB |\n",
55
+ "| 0 N/A N/A 2443 G ...x-gnu/libexec/kdeconnectd 4MiB |\n",
56
+ "| 0 N/A N/A 2445 G .../usr/bin/telegram-desktop 7MiB |\n",
57
+ "| 0 N/A N/A 2459 G /usr/bin/kaccess 4MiB |\n",
58
+ "| 0 N/A N/A 2484 G ...1/usr/lib/firefox/firefox 214MiB |\n",
59
+ "| 0 N/A N/A 2499 G .../libexec/DiscoverNotifier 4MiB |\n",
60
+ "| 0 N/A N/A 2784 G /usr/bin/dolphin 4MiB |\n",
61
+ "| 0 N/A N/A 2917 G /usr/bin/dolphin 4MiB |\n",
62
+ "| 0 N/A N/A 2997 G /usr/bin/dolphin 4MiB |\n",
63
+ "| 0 N/A N/A 3138 G ...gnu/libexec/kf5/kioslave5 4MiB |\n",
64
+ "| 0 N/A N/A 3158 G ...gnu/libexec/kf5/kioslave5 4MiB |\n",
65
+ "| 0 N/A N/A 3663 G /usr/bin/dolphin 4MiB |\n",
66
+ "| 0 N/A N/A 3768 G /usr/bin/dolphin 4MiB |\n",
67
+ "| 0 N/A N/A 3908 G ...gnu/libexec/kf5/kioslave5 4MiB |\n",
68
+ "| 0 N/A N/A 3964 G ...gnu/libexec/kf5/kioslave5 4MiB |\n",
69
+ "| 0 N/A N/A 4610 G ...RendererForSitePerProcess 293MiB |\n",
70
+ "+-----------------------------------------------------------------------------+\n"
71
+ ]
72
+ }
73
+ ],
74
+ "source": [
75
+ "gpu_info = !nvidia-smi\n",
76
+ "gpu_info = '\\n'.join(gpu_info)\n",
77
+ "if gpu_info.find('failed') >= 0:\n",
78
+ " print('Not connected to a GPU')\n",
79
+ "else:\n",
80
+ " print(gpu_info)"
81
+ ]
82
+ },
83
+ {
84
+ "cell_type": "code",
85
+ "execution_count": 2,
86
+ "metadata": {
87
+ "colab": {
88
+ "base_uri": "https://localhost:8080/"
89
+ },
90
+ "executionInfo": {
91
+ "elapsed": 5334,
92
+ "status": "ok",
93
+ "timestamp": 1641588811766,
94
+ "user": {
95
+ "displayName": "Yurii Paniv",
96
+ "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
97
+ "userId": "13095662915325887123"
98
+ },
99
+ "user_tz": -120
100
+ },
101
+ "id": "2MMXcWFFgCXU",
102
+ "outputId": "be9fd72e-4395-4cd0-ff87-631dad046e71"
103
+ },
104
+ "outputs": [],
105
+ "source": [
106
+ "from datasets import load_from_disk, load_metric, Audio\n",
107
+ "\n",
108
+ "common_voice_train = load_from_disk(\"cached_dataset/cv_train\")\n",
109
+ "common_voice_test = load_from_disk(\"cached_dataset/cv_test\")"
110
+ ]
111
+ },
112
+ {
113
+ "cell_type": "code",
114
+ "execution_count": 3,
115
+ "metadata": {
116
+ "id": "kAR0-2KLkopp"
117
+ },
118
+ "outputs": [],
119
+ "source": [
120
+ "from transformers import Wav2Vec2FeatureExtractor\n",
121
+ "\n",
122
+ "feature_extractor = Wav2Vec2FeatureExtractor(feature_size=1, sampling_rate=16000, padding_value=0.0, do_normalize=True, return_attention_mask=True)"
123
+ ]
124
+ },
125
+ {
126
+ "cell_type": "code",
127
+ "execution_count": 4,
128
+ "metadata": {},
129
+ "outputs": [
130
+ {
131
+ "name": "stderr",
132
+ "output_type": "stream",
133
+ "text": [
134
+ "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n"
135
+ ]
136
+ }
137
+ ],
138
+ "source": [
139
+ "from transformers import Wav2Vec2CTCTokenizer\n",
140
+ "\n",
141
+ "tokenizer = Wav2Vec2CTCTokenizer.from_pretrained(\"./\", unk_token=\"[UNK]\", pad_token=\"[PAD]\", word_delimiter_token=\"|\")"
142
+ ]
143
+ },
144
+ {
145
+ "cell_type": "code",
146
+ "execution_count": 5,
147
+ "metadata": {
148
+ "id": "KYZtoW-tlZgl"
149
+ },
150
+ "outputs": [],
151
+ "source": [
152
+ "from transformers import Wav2Vec2Processor\n",
153
+ "\n",
154
+ "processor = Wav2Vec2Processor(feature_extractor=feature_extractor, tokenizer=tokenizer)"
155
+ ]
156
+ },
157
+ {
158
+ "cell_type": "code",
159
+ "execution_count": 6,
160
+ "metadata": {
161
+ "id": "tborvC9hx88e"
162
+ },
163
+ "outputs": [],
164
+ "source": [
165
+ "import torch\n",
166
+ "\n",
167
+ "from dataclasses import dataclass, field\n",
168
+ "from typing import Any, Dict, List, Optional, Union\n",
169
+ "\n",
170
+ "@dataclass\n",
171
+ "class DataCollatorCTCWithPadding:\n",
172
+ " \"\"\"\n",
173
+ " Data collator that will dynamically pad the inputs received.\n",
174
+ " Args:\n",
175
+ " processor (:class:`~transformers.Wav2Vec2Processor`)\n",
176
+ " The processor used for proccessing the data.\n",
177
+ " padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):\n",
178
+ " Select a strategy to pad the returned sequences (according to the model's padding side and padding index)\n",
179
+ " among:\n",
180
+ " * :obj:`True` or :obj:`'longest'`: Pad to the longest sequence in the batch (or no padding if only a single\n",
181
+ " sequence if provided).\n",
182
+ " * :obj:`'max_length'`: Pad to a maximum length specified with the argument :obj:`max_length` or to the\n",
183
+ " maximum acceptable input length for the model if that argument is not provided.\n",
184
+ " * :obj:`False` or :obj:`'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of\n",
185
+ " different lengths).\n",
186
+ " \"\"\"\n",
187
+ "\n",
188
+ " processor: Wav2Vec2Processor\n",
189
+ " padding: Union[bool, str] = True\n",
190
+ "\n",
191
+ " def __call__(self, features: List[Dict[str, Union[List[int], torch.Tensor]]]) -> Dict[str, torch.Tensor]:\n",
192
+ " # split inputs and labels since they have to be of different lenghts and need\n",
193
+ " # different padding methods\n",
194
+ " input_features = [{\"input_values\": feature[\"input_values\"]} for feature in features]\n",
195
+ " label_features = [{\"input_ids\": feature[\"labels\"]} for feature in features]\n",
196
+ "\n",
197
+ " batch = self.processor.pad(\n",
198
+ " input_features,\n",
199
+ " padding=self.padding,\n",
200
+ " return_tensors=\"pt\",\n",
201
+ " )\n",
202
+ " with self.processor.as_target_processor():\n",
203
+ " labels_batch = self.processor.pad(\n",
204
+ " label_features,\n",
205
+ " padding=self.padding,\n",
206
+ " return_tensors=\"pt\",\n",
207
+ " )\n",
208
+ "\n",
209
+ " # replace padding with -100 to ignore loss correctly\n",
210
+ " labels = labels_batch[\"input_ids\"].masked_fill(labels_batch.attention_mask.ne(1), -100)\n",
211
+ "\n",
212
+ " batch[\"labels\"] = labels\n",
213
+ "\n",
214
+ " return batch"
215
+ ]
216
+ },
217
+ {
218
+ "cell_type": "code",
219
+ "execution_count": 7,
220
+ "metadata": {
221
+ "id": "lbQf5GuZyQ4_"
222
+ },
223
+ "outputs": [],
224
+ "source": [
225
+ "data_collator = DataCollatorCTCWithPadding(processor=processor, padding=True)"
226
+ ]
227
+ },
228
+ {
229
+ "cell_type": "code",
230
+ "execution_count": 8,
231
+ "metadata": {
232
+ "id": "9Xsux2gmyXso"
233
+ },
234
+ "outputs": [],
235
+ "source": [
236
+ "wer_metric = load_metric(\"wer\")\n",
237
+ "cer_metric = load_metric(\"cer\")\n",
238
+ "metrics = [wer_metric, cer_metric]"
239
+ ]
240
+ },
241
+ {
242
+ "cell_type": "code",
243
+ "execution_count": 9,
244
+ "metadata": {
245
+ "id": "1XZ-kjweyTy_"
246
+ },
247
+ "outputs": [],
248
+ "source": [
249
+ "import numpy as np\n",
250
+ "\n",
251
+ "def compute_metrics(pred):\n",
252
+ " pred_logits = pred.predictions\n",
253
+ " pred_ids = np.argmax(pred_logits, axis=-1)\n",
254
+ "\n",
255
+ " pred.label_ids[pred.label_ids == -100] = processor.tokenizer.pad_token_id\n",
256
+ "\n",
257
+ " pred_str = processor.batch_decode(pred_ids)\n",
258
+ " # we do not want to group tokens when computing the metrics\n",
259
+ " label_str = processor.batch_decode(pred.label_ids, group_tokens=False)\n",
260
+ "\n",
261
+ " wer = wer_metric.compute(predictions=pred_str, references=label_str)\n",
262
+ " cer = cer_metric.compute(predictions=pred_str, references=label_str)\n",
263
+ "\n",
264
+ " return {\"wer\": wer, \"cer\": cer}"
265
+ ]
266
+ },
267
+ {
268
+ "cell_type": "code",
269
+ "execution_count": 10,
270
+ "metadata": {
271
+ "colab": {
272
+ "base_uri": "https://localhost:8080/"
273
+ },
274
+ "executionInfo": {
275
+ "elapsed": 9496,
276
+ "status": "ok",
277
+ "timestamp": 1641588938616,
278
+ "user": {
279
+ "displayName": "Yurii Paniv",
280
+ "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
281
+ "userId": "13095662915325887123"
282
+ },
283
+ "user_tz": -120
284
+ },
285
+ "id": "e7cqAWIayn6w",
286
+ "outputId": "b7b20ce9-e1b2-473f-8032-2a75f98dfa9e"
287
+ },
288
+ "outputs": [
289
+ {
290
+ "name": "stderr",
291
+ "output_type": "stream",
292
+ "text": [
293
+ "Some weights of the model checkpoint at facebook/wav2vec2-xls-r-300m were not used when initializing Wav2Vec2ForCTC: ['project_q.weight', 'quantizer.weight_proj.weight', 'project_q.bias', 'quantizer.weight_proj.bias', 'project_hid.bias', 'project_hid.weight', 'quantizer.codevectors']\n",
294
+ "- This IS expected if you are initializing Wav2Vec2ForCTC from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
295
+ "- This IS NOT expected if you are initializing Wav2Vec2ForCTC from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
296
+ "Some weights of Wav2Vec2ForCTC were not initialized from the model checkpoint at facebook/wav2vec2-xls-r-300m and are newly initialized: ['lm_head.bias', 'lm_head.weight']\n",
297
+ "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"
298
+ ]
299
+ }
300
+ ],
301
+ "source": [
302
+ "from transformers import Wav2Vec2ForCTC\n",
303
+ "\n",
304
+ "model = Wav2Vec2ForCTC.from_pretrained(\n",
305
+ " \"facebook/wav2vec2-xls-r-300m\", \n",
306
+ " attention_dropout=0.3,\n",
307
+ " hidden_dropout=0.3,\n",
308
+ " feat_proj_dropout=0.3,\n",
309
+ " mask_time_prob=0.05,\n",
310
+ " layerdrop=0.3,\n",
311
+ " ctc_loss_reduction=\"mean\", \n",
312
+ " pad_token_id=processor.tokenizer.pad_token_id,\n",
313
+ " vocab_size=len(processor.tokenizer),\n",
314
+ ")"
315
+ ]
316
+ },
317
+ {
318
+ "cell_type": "code",
319
+ "execution_count": 11,
320
+ "metadata": {
321
+ "id": "oGI8zObtZ3V0"
322
+ },
323
+ "outputs": [
324
+ {
325
+ "name": "stderr",
326
+ "output_type": "stream",
327
+ "text": [
328
+ "/home/robinhad/Projects/unchanged/voice-recognition-ua/env/lib/python3.10/site-packages/transformers/models/wav2vec2/modeling_wav2vec2.py:1618: FutureWarning: The method `freeze_feature_extractor` is deprecated and will be removed in Transformers v5.Please use the equivalent `freeze_feature_encoder` method instead.\n",
329
+ " warnings.warn(\n"
330
+ ]
331
+ }
332
+ ],
333
+ "source": [
334
+ "model.freeze_feature_extractor()"
335
+ ]
336
+ },
337
+ {
338
+ "cell_type": "code",
339
+ "execution_count": 12,
340
+ "metadata": {
341
+ "id": "KbeKSV7uzGPP"
342
+ },
343
+ "outputs": [],
344
+ "source": [
345
+ "from transformers import TrainingArguments\n",
346
+ "\n",
347
+ "repo_name = \"wav2vec2-xls-r-base-uk\"\n",
348
+ "\n",
349
+ "training_args = TrainingArguments(\n",
350
+ " output_dir=repo_name,\n",
351
+ " group_by_length=True,\n",
352
+ " per_device_train_batch_size=24,\n",
353
+ " per_device_eval_batch_size=24, \n",
354
+ " gradient_accumulation_steps=6,\n",
355
+ " eval_accumulation_steps=6,\n",
356
+ " evaluation_strategy=\"epoch\",\n",
357
+ " save_strategy=\"epoch\",\n",
358
+ " logging_strategy=\"epoch\",\n",
359
+ " num_train_epochs=150,\n",
360
+ " gradient_checkpointing=True,\n",
361
+ " fp16=True,\n",
362
+ " #save_steps=1,\n",
363
+ " #eval_steps=1,\n",
364
+ " #logging_steps=1,\n",
365
+ " learning_rate=3e-4,\n",
366
+ " warmup_steps=500,\n",
367
+ " save_total_limit=2,\n",
368
+ " report_to=\"tensorboard\",\n",
369
+ " load_best_model_at_end=True,\n",
370
+ " metric_for_best_model=\"cer\",\n",
371
+ " greater_is_better=False\n",
372
+ ")"
373
+ ]
374
+ },
375
+ {
376
+ "cell_type": "code",
377
+ "execution_count": 14,
378
+ "metadata": {
379
+ "colab": {
380
+ "base_uri": "https://localhost:8080/"
381
+ },
382
+ "executionInfo": {
383
+ "elapsed": 11063,
384
+ "status": "ok",
385
+ "timestamp": 1641588949674,
386
+ "user": {
387
+ "displayName": "Yurii Paniv",
388
+ "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
389
+ "userId": "13095662915325887123"
390
+ },
391
+ "user_tz": -120
392
+ },
393
+ "id": "rY7vBmFCPFgC",
394
+ "outputId": "2e89d5ea-5b25-44bf-8492-a6220b0b1c38"
395
+ },
396
+ "outputs": [
397
+ {
398
+ "name": "stderr",
399
+ "output_type": "stream",
400
+ "text": [
401
+ "Using cuda_amp half precision backend\n"
402
+ ]
403
+ }
404
+ ],
405
+ "source": [
406
+ "from transformers import Trainer\n",
407
+ "\n",
408
+ "trainer = Trainer(\n",
409
+ " model=model,\n",
410
+ " data_collator=data_collator,\n",
411
+ " args=training_args,\n",
412
+ " compute_metrics=compute_metrics,\n",
413
+ " train_dataset=common_voice_train,\n",
414
+ " eval_dataset=common_voice_test,\n",
415
+ " tokenizer=processor.feature_extractor,\n",
416
+ ")"
417
+ ]
418
+ },
419
+ {
420
+ "cell_type": "code",
421
+ "execution_count": null,
422
+ "metadata": {
423
+ "colab": {
424
+ "base_uri": "https://localhost:8080/",
425
+ "height": 409
426
+ },
427
+ "id": "9fRr9TG5pGBl",
428
+ "outputId": "c2a7c797-326c-4bd2-b167-9d2f41d77def"
429
+ },
430
+ "outputs": [
431
+ {
432
+ "name": "stderr",
433
+ "output_type": "stream",
434
+ "text": [
435
+ "Loading model from wav2vec2-xls-r-base-uk/checkpoint-7505.\n",
436
+ "The following columns in the training set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length. If input_length are not expected by `Wav2Vec2ForCTC.forward`, you can safely ignore this message.\n",
437
+ "/home/robinhad/Projects/unchanged/voice-recognition-ua/env/lib/python3.10/site-packages/transformers/optimization.py:306: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use the PyTorch implementation torch.optim.AdamW instead, or set `no_deprecation_warning=True` to disable this warning\n",
438
+ " warnings.warn(\n",
439
+ "***** Running training *****\n",
440
+ " Num examples = 11463\n",
441
+ " Num Epochs = 150\n",
442
+ " Instantaneous batch size per device = 24\n",
443
+ " Total train batch size (w. parallel, distributed & accumulation) = 144\n",
444
+ " Gradient Accumulation steps = 6\n",
445
+ " Total optimization steps = 11850\n",
446
+ " Continuing training from checkpoint, will skip to saved global_step\n",
447
+ " Continuing training from epoch 95\n",
448
+ " Continuing training from global step 7505\n",
449
+ " Will skip the first 95 epochs then the first 0 batches in the first epoch. If this takes a lot of time, you can add the `--ignore_data_skip` flag to your launch command, but you will resume the training on data already seen by your model.\n"
450
+ ]
451
+ },
452
+ {
453
+ "data": {
454
+ "application/vnd.jupyter.widget-view+json": {
455
+ "model_id": "d39c143147e7431a91cf50b54464cbee",
456
+ "version_major": 2,
457
+ "version_minor": 0
458
+ },
459
+ "text/plain": [
460
+ "0it [00:00, ?it/s]"
461
+ ]
462
+ },
463
+ "metadata": {},
464
+ "output_type": "display_data"
465
+ },
466
+ {
467
+ "data": {
468
+ "text/html": [
469
+ "\n",
470
+ " <div>\n",
471
+ " \n",
472
+ " <progress value='7910' max='11850' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
473
+ " [ 7910/11850 45:49 < 7:28:05, 0.15 it/s, Epoch 100.11/150]\n",
474
+ " </div>\n",
475
+ " <table border=\"1\" class=\"dataframe\">\n",
476
+ " <thead>\n",
477
+ " <tr style=\"text-align: left;\">\n",
478
+ " <th>Epoch</th>\n",
479
+ " <th>Training Loss</th>\n",
480
+ " <th>Validation Loss</th>\n",
481
+ " <th>Wer</th>\n",
482
+ " <th>Cer</th>\n",
483
+ " </tr>\n",
484
+ " </thead>\n",
485
+ " <tbody>\n",
486
+ " <tr>\n",
487
+ " <td>95</td>\n",
488
+ " <td>0.271200</td>\n",
489
+ " <td>0.596927</td>\n",
490
+ " <td>0.519565</td>\n",
491
+ " <td>0.128453</td>\n",
492
+ " </tr>\n",
493
+ " <tr>\n",
494
+ " <td>96</td>\n",
495
+ " <td>0.279300</td>\n",
496
+ " <td>0.595789</td>\n",
497
+ " <td>0.516518</td>\n",
498
+ " <td>0.128272</td>\n",
499
+ " </tr>\n",
500
+ " <tr>\n",
501
+ " <td>97</td>\n",
502
+ " <td>0.276800</td>\n",
503
+ " <td>0.623400</td>\n",
504
+ " <td>0.512582</td>\n",
505
+ " <td>0.127275</td>\n",
506
+ " </tr>\n",
507
+ " <tr>\n",
508
+ " <td>98</td>\n",
509
+ " <td>0.266000</td>\n",
510
+ " <td>0.617245</td>\n",
511
+ " <td>0.519181</td>\n",
512
+ " <td>0.130092</td>\n",
513
+ " </tr>\n",
514
+ " <tr>\n",
515
+ " <td>99</td>\n",
516
+ " <td>0.281600</td>\n",
517
+ " <td>0.606772</td>\n",
518
+ " <td>0.512401</td>\n",
519
+ " <td>0.128527</td>\n",
520
+ " </tr>\n",
521
+ " </tbody>\n",
522
+ "</table><p>"
523
+ ],
524
+ "text/plain": [
525
+ "<IPython.core.display.HTML object>"
526
+ ]
527
+ },
528
+ "metadata": {},
529
+ "output_type": "display_data"
530
+ },
531
+ {
532
+ "name": "stderr",
533
+ "output_type": "stream",
534
+ "text": [
535
+ "The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length. If input_length are not expected by `Wav2Vec2ForCTC.forward`, you can safely ignore this message.\n",
536
+ "***** Running Evaluation *****\n",
537
+ " Num examples = 6783\n",
538
+ " Batch size = 24\n",
539
+ "Saving model checkpoint to wav2vec2-xls-r-base-uk/checkpoint-7584\n",
540
+ "Configuration saved in wav2vec2-xls-r-base-uk/checkpoint-7584/config.json\n",
541
+ "Model weights saved in wav2vec2-xls-r-base-uk/checkpoint-7584/pytorch_model.bin\n",
542
+ "Feature extractor saved in wav2vec2-xls-r-base-uk/checkpoint-7584/preprocessor_config.json\n",
543
+ "Deleting older checkpoint [wav2vec2-xls-r-base-uk/checkpoint-7505] due to args.save_total_limit\n",
544
+ "The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length. If input_length are not expected by `Wav2Vec2ForCTC.forward`, you can safely ignore this message.\n",
545
+ "***** Running Evaluation *****\n",
546
+ " Num examples = 6783\n",
547
+ " Batch size = 24\n",
548
+ "Saving model checkpoint to wav2vec2-xls-r-base-uk/checkpoint-7663\n",
549
+ "Configuration saved in wav2vec2-xls-r-base-uk/checkpoint-7663/config.json\n",
550
+ "Model weights saved in wav2vec2-xls-r-base-uk/checkpoint-7663/pytorch_model.bin\n",
551
+ "Feature extractor saved in wav2vec2-xls-r-base-uk/checkpoint-7663/preprocessor_config.json\n",
552
+ "Deleting older checkpoint [wav2vec2-xls-r-base-uk/checkpoint-7584] due to args.save_total_limit\n",
553
+ "The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length. If input_length are not expected by `Wav2Vec2ForCTC.forward`, you can safely ignore this message.\n",
554
+ "***** Running Evaluation *****\n",
555
+ " Num examples = 6783\n",
556
+ " Batch size = 24\n",
557
+ "Saving model checkpoint to wav2vec2-xls-r-base-uk/checkpoint-7742\n",
558
+ "Configuration saved in wav2vec2-xls-r-base-uk/checkpoint-7742/config.json\n",
559
+ "Model weights saved in wav2vec2-xls-r-base-uk/checkpoint-7742/pytorch_model.bin\n",
560
+ "Feature extractor saved in wav2vec2-xls-r-base-uk/checkpoint-7742/preprocessor_config.json\n",
561
+ "Deleting older checkpoint [wav2vec2-xls-r-base-uk/checkpoint-7663] due to args.save_total_limit\n",
562
+ "The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length. If input_length are not expected by `Wav2Vec2ForCTC.forward`, you can safely ignore this message.\n",
563
+ "***** Running Evaluation *****\n",
564
+ " Num examples = 6783\n",
565
+ " Batch size = 24\n",
566
+ "Saving model checkpoint to wav2vec2-xls-r-base-uk/checkpoint-7821\n",
567
+ "Configuration saved in wav2vec2-xls-r-base-uk/checkpoint-7821/config.json\n",
568
+ "Model weights saved in wav2vec2-xls-r-base-uk/checkpoint-7821/pytorch_model.bin\n",
569
+ "Feature extractor saved in wav2vec2-xls-r-base-uk/checkpoint-7821/preprocessor_config.json\n",
570
+ "Deleting older checkpoint [wav2vec2-xls-r-base-uk/checkpoint-7742] due to args.save_total_limit\n",
571
+ "The following columns in the evaluation set don't have a corresponding argument in `Wav2Vec2ForCTC.forward` and have been ignored: input_length. If input_length are not expected by `Wav2Vec2ForCTC.forward`, you can safely ignore this message.\n",
572
+ "***** Running Evaluation *****\n",
573
+ " Num examples = 6783\n",
574
+ " Batch size = 24\n",
575
+ "Saving model checkpoint to wav2vec2-xls-r-base-uk/checkpoint-7900\n",
576
+ "Configuration saved in wav2vec2-xls-r-base-uk/checkpoint-7900/config.json\n",
577
+ "Model weights saved in wav2vec2-xls-r-base-uk/checkpoint-7900/pytorch_model.bin\n",
578
+ "Feature extractor saved in wav2vec2-xls-r-base-uk/checkpoint-7900/preprocessor_config.json\n",
579
+ "Deleting older checkpoint [wav2vec2-xls-r-base-uk/checkpoint-7821] due to args.save_total_limit\n"
580
+ ]
581
+ }
582
+ ],
583
+ "source": [
584
+ "trainer.train(resume_from_checkpoint=True)"
585
+ ]
586
+ },
587
+ {
588
+ "cell_type": "code",
589
+ "execution_count": null,
590
+ "metadata": {},
591
+ "outputs": [],
592
+ "source": [
593
+ "trainer.create_model_card()"
594
+ ]
595
+ }
596
+ ],
597
+ "metadata": {
598
+ "accelerator": "GPU",
599
+ "colab": {
600
+ "collapsed_sections": [],
601
+ "machine_shape": "hm",
602
+ "name": "ΠšΠΎΠΏΡ–Ρ записника \"Fine-Tune XLS-R on Common Voice.ipynb\"",
603
+ "provenance": [
604
+ {
605
+ "file_id": "https://github.com/patrickvonplaten/notebooks/blob/master/Fine_Tune_XLS_R_on_Common_Voice.ipynb",
606
+ "timestamp": 1641583715050
607
+ }
608
+ ]
609
+ },
610
+ "kernelspec": {
611
+ "display_name": "Python 3 (ipykernel)",
612
+ "language": "python",
613
+ "name": "python3"
614
+ },
615
+ "language_info": {
616
+ "codemirror_mode": {
617
+ "name": "ipython",
618
+ "version": 3
619
+ },
620
+ "file_extension": ".py",
621
+ "mimetype": "text/x-python",
622
+ "name": "python",
623
+ "nbconvert_exporter": "python",
624
+ "pygments_lexer": "ipython3",
625
+ "version": "3.10.6"
626
+ },
627
+ "vscode": {
628
+ "interpreter": {
629
+ "hash": "a5cdd9abf8df3af0fd61fdb3838d6c6f2f66a9ba4bf4484f45cd88abf9f04fe9"
630
+ }
631
+ },
632
+ "widgets": {
633
+ "application/vnd.jupyter.widget-state+json": {
634
+ "04ec68b059df4c628839c3ac29e2ebdd": {
635
+ "model_module": "@jupyter-widgets/controls",
636
+ "model_module_version": "1.5.0",
637
+ "model_name": "DescriptionStyleModel",
638
+ "state": {
639
+ "_model_module": "@jupyter-widgets/controls",
640
+ "_model_module_version": "1.5.0",
641
+ "_model_name": "DescriptionStyleModel",
642
+ "_view_count": null,
643
+ "_view_module": "@jupyter-widgets/base",
644
+ "_view_module_version": "1.2.0",
645
+ "_view_name": "StyleView",
646
+ "description_width": ""
647
+ }
648
+ },
649
+ "05d8496d54174ae298c319b0194fc710": {
650
+ "model_module": "@jupyter-widgets/base",
651
+ "model_module_version": "1.2.0",
652
+ "model_name": "LayoutModel",
653
+ "state": {
654
+ "_model_module": "@jupyter-widgets/base",
655
+ "_model_module_version": "1.2.0",
656
+ "_model_name": "LayoutModel",
657
+ "_view_count": null,
658
+ "_view_module": "@jupyter-widgets/base",
659
+ "_view_module_version": "1.2.0",
660
+ "_view_name": "LayoutView",
661
+ "align_content": null,
662
+ "align_items": null,
663
+ "align_self": null,
664
+ "border": null,
665
+ "bottom": null,
666
+ "display": null,
667
+ "flex": null,
668
+ "flex_flow": null,
669
+ "grid_area": null,
670
+ "grid_auto_columns": null,
671
+ "grid_auto_flow": null,
672
+ "grid_auto_rows": null,
673
+ "grid_column": null,
674
+ "grid_gap": null,
675
+ "grid_row": null,
676
+ "grid_template_areas": null,
677
+ "grid_template_columns": null,
678
+ "grid_template_rows": null,
679
+ "height": null,
680
+ "justify_content": null,
681
+ "justify_items": null,
682
+ "left": null,
683
+ "margin": null,
684
+ "max_height": null,
685
+ "max_width": null,
686
+ "min_height": null,
687
+ "min_width": null,
688
+ "object_fit": null,
689
+ "object_position": null,
690
+ "order": null,
691
+ "overflow": null,
692
+ "overflow_x": null,
693
+ "overflow_y": null,
694
+ "padding": null,
695
+ "right": null,
696
+ "top": null,
697
+ "visibility": null,
698
+ "width": null
699
+ }
700
+ },
701
+ "116786d9364a4a57b521cddaabeda688": {
702
+ "model_module": "@jupyter-widgets/controls",
703
+ "model_module_version": "1.5.0",
704
+ "model_name": "HBoxModel",
705
+ "state": {
706
+ "_dom_classes": [],
707
+ "_model_module": "@jupyter-widgets/controls",
708
+ "_model_module_version": "1.5.0",
709
+ "_model_name": "HBoxModel",
710
+ "_view_count": null,
711
+ "_view_module": "@jupyter-widgets/controls",
712
+ "_view_module_version": "1.5.0",
713
+ "_view_name": "HBoxView",
714
+ "box_style": "",
715
+ "children": [
716
+ "IPY_MODEL_a1e2c04dc2cb45ea80bec125e3dbf56f",
717
+ "IPY_MODEL_b6d46d40efa14b21814f41531f5a2f41",
718
+ "IPY_MODEL_d8bf8dc5d6c84140a4e96c9c435b8f17"
719
+ ],
720
+ "layout": "IPY_MODEL_9baa2f69aa9c4387bf1086a04ed78420"
721
+ }
722
+ },
723
+ "18bc63944343440f837cdff76db004fc": {
724
+ "model_module": "@jupyter-widgets/controls",
725
+ "model_module_version": "1.5.0",
726
+ "model_name": "HTMLModel",
727
+ "state": {
728
+ "_dom_classes": [],
729
+ "_model_module": "@jupyter-widgets/controls",
730
+ "_model_module_version": "1.5.0",
731
+ "_model_name": "HTMLModel",
732
+ "_view_count": null,
733
+ "_view_module": "@jupyter-widgets/controls",
734
+ "_view_module_version": "1.5.0",
735
+ "_view_name": "HTMLView",
736
+ "description": "",
737
+ "description_tooltip": null,
738
+ "layout": "IPY_MODEL_a4ae510b4f3845f891a796cf844fc2bb",
739
+ "placeholder": "​",
740
+ "style": "IPY_MODEL_e6e50da6516847878309fdc5c463edb3",
741
+ "value": " 6962/6962 [01:46&lt;00:00, 78.15ex/s]"
742
+ }
743
+ },
744
+ "1f3abdf2e0f6459da4179a94d691c4c4": {
745
+ "model_module": "@jupyter-widgets/controls",
746
+ "model_module_version": "1.5.0",
747
+ "model_name": "FloatProgressModel",
748
+ "state": {
749
+ "_dom_classes": [],
750
+ "_model_module": "@jupyter-widgets/controls",
751
+ "_model_module_version": "1.5.0",
752
+ "_model_name": "FloatProgressModel",
753
+ "_view_count": null,
754
+ "_view_module": "@jupyter-widgets/controls",
755
+ "_view_module_version": "1.5.0",
756
+ "_view_name": "ProgressView",
757
+ "bar_style": "success",
758
+ "description": "",
759
+ "description_tooltip": null,
760
+ "layout": "IPY_MODEL_c31a747e18df4b4aa4449a30e387448c",
761
+ "max": 1,
762
+ "min": 0,
763
+ "orientation": "horizontal",
764
+ "style": "IPY_MODEL_414efa8a08cd491cb78af8a95a151daa",
765
+ "value": 1
766
+ }
767
+ },
768
+ "22ba979142074f1d976e1a905544fd2d": {
769
+ "model_module": "@jupyter-widgets/base",
770
+ "model_module_version": "1.2.0",
771
+ "model_name": "LayoutModel",
772
+ "state": {
773
+ "_model_module": "@jupyter-widgets/base",
774
+ "_model_module_version": "1.2.0",
775
+ "_model_name": "LayoutModel",
776
+ "_view_count": null,
777
+ "_view_module": "@jupyter-widgets/base",
778
+ "_view_module_version": "1.2.0",
779
+ "_view_name": "LayoutView",
780
+ "align_content": null,
781
+ "align_items": null,
782
+ "align_self": null,
783
+ "border": null,
784
+ "bottom": null,
785
+ "display": null,
786
+ "flex": null,
787
+ "flex_flow": null,
788
+ "grid_area": null,
789
+ "grid_auto_columns": null,
790
+ "grid_auto_flow": null,
791
+ "grid_auto_rows": null,
792
+ "grid_column": null,
793
+ "grid_gap": null,
794
+ "grid_row": null,
795
+ "grid_template_areas": null,
796
+ "grid_template_columns": null,
797
+ "grid_template_rows": null,
798
+ "height": null,
799
+ "justify_content": null,
800
+ "justify_items": null,
801
+ "left": null,
802
+ "margin": null,
803
+ "max_height": null,
804
+ "max_width": null,
805
+ "min_height": null,
806
+ "min_width": null,
807
+ "object_fit": null,
808
+ "object_position": null,
809
+ "order": null,
810
+ "overflow": null,
811
+ "overflow_x": null,
812
+ "overflow_y": null,
813
+ "padding": null,
814
+ "right": null,
815
+ "top": null,
816
+ "visibility": null,
817
+ "width": null
818
+ }
819
+ },
820
+ "3dedffa30b774426bd474072a3a0d591": {
821
+ "model_module": "@jupyter-widgets/controls",
822
+ "model_module_version": "1.5.0",
823
+ "model_name": "DescriptionStyleModel",
824
+ "state": {
825
+ "_model_module": "@jupyter-widgets/controls",
826
+ "_model_module_version": "1.5.0",
827
+ "_model_name": "DescriptionStyleModel",
828
+ "_view_count": null,
829
+ "_view_module": "@jupyter-widgets/base",
830
+ "_view_module_version": "1.2.0",
831
+ "_view_name": "StyleView",
832
+ "description_width": ""
833
+ }
834
+ },
835
+ "414efa8a08cd491cb78af8a95a151daa": {
836
+ "model_module": "@jupyter-widgets/controls",
837
+ "model_module_version": "1.5.0",
838
+ "model_name": "ProgressStyleModel",
839
+ "state": {
840
+ "_model_module": "@jupyter-widgets/controls",
841
+ "_model_module_version": "1.5.0",
842
+ "_model_name": "ProgressStyleModel",
843
+ "_view_count": null,
844
+ "_view_module": "@jupyter-widgets/base",
845
+ "_view_module_version": "1.2.0",
846
+ "_view_name": "StyleView",
847
+ "bar_color": null,
848
+ "description_width": ""
849
+ }
850
+ },
851
+ "427056895c674c428400bee0f5b43995": {
852
+ "model_module": "@jupyter-widgets/base",
853
+ "model_module_version": "1.2.0",
854
+ "model_name": "LayoutModel",
855
+ "state": {
856
+ "_model_module": "@jupyter-widgets/base",
857
+ "_model_module_version": "1.2.0",
858
+ "_model_name": "LayoutModel",
859
+ "_view_count": null,
860
+ "_view_module": "@jupyter-widgets/base",
861
+ "_view_module_version": "1.2.0",
862
+ "_view_name": "LayoutView",
863
+ "align_content": null,
864
+ "align_items": null,
865
+ "align_self": null,
866
+ "border": null,
867
+ "bottom": null,
868
+ "display": null,
869
+ "flex": null,
870
+ "flex_flow": null,
871
+ "grid_area": null,
872
+ "grid_auto_columns": null,
873
+ "grid_auto_flow": null,
874
+ "grid_auto_rows": null,
875
+ "grid_column": null,
876
+ "grid_gap": null,
877
+ "grid_row": null,
878
+ "grid_template_areas": null,
879
+ "grid_template_columns": null,
880
+ "grid_template_rows": null,
881
+ "height": null,
882
+ "justify_content": null,
883
+ "justify_items": null,
884
+ "left": null,
885
+ "margin": null,
886
+ "max_height": null,
887
+ "max_width": null,
888
+ "min_height": null,
889
+ "min_width": null,
890
+ "object_fit": null,
891
+ "object_position": null,
892
+ "order": null,
893
+ "overflow": null,
894
+ "overflow_x": null,
895
+ "overflow_y": null,
896
+ "padding": null,
897
+ "right": null,
898
+ "top": null,
899
+ "visibility": null,
900
+ "width": null
901
+ }
902
+ },
903
+ "445c84e1e2e541f2a54fb989def386ae": {
904
+ "model_module": "@jupyter-widgets/base",
905
+ "model_module_version": "1.2.0",
906
+ "model_name": "LayoutModel",
907
+ "state": {
908
+ "_model_module": "@jupyter-widgets/base",
909
+ "_model_module_version": "1.2.0",
910
+ "_model_name": "LayoutModel",
911
+ "_view_count": null,
912
+ "_view_module": "@jupyter-widgets/base",
913
+ "_view_module_version": "1.2.0",
914
+ "_view_name": "LayoutView",
915
+ "align_content": null,
916
+ "align_items": null,
917
+ "align_self": null,
918
+ "border": null,
919
+ "bottom": null,
920
+ "display": null,
921
+ "flex": null,
922
+ "flex_flow": null,
923
+ "grid_area": null,
924
+ "grid_auto_columns": null,
925
+ "grid_auto_flow": null,
926
+ "grid_auto_rows": null,
927
+ "grid_column": null,
928
+ "grid_gap": null,
929
+ "grid_row": null,
930
+ "grid_template_areas": null,
931
+ "grid_template_columns": null,
932
+ "grid_template_rows": null,
933
+ "height": null,
934
+ "justify_content": null,
935
+ "justify_items": null,
936
+ "left": null,
937
+ "margin": null,
938
+ "max_height": null,
939
+ "max_width": null,
940
+ "min_height": null,
941
+ "min_width": null,
942
+ "object_fit": null,
943
+ "object_position": null,
944
+ "order": null,
945
+ "overflow": null,
946
+ "overflow_x": null,
947
+ "overflow_y": null,
948
+ "padding": null,
949
+ "right": null,
950
+ "top": null,
951
+ "visibility": null,
952
+ "width": null
953
+ }
954
+ },
955
+ "48c60be3ca9349a295b83f65769c7f27": {
956
+ "model_module": "@jupyter-widgets/controls",
957
+ "model_module_version": "1.5.0",
958
+ "model_name": "HTMLModel",
959
+ "state": {
960
+ "_dom_classes": [],
961
+ "_model_module": "@jupyter-widgets/controls",
962
+ "_model_module_version": "1.5.0",
963
+ "_model_name": "HTMLModel",
964
+ "_view_count": null,
965
+ "_view_module": "@jupyter-widgets/controls",
966
+ "_view_module_version": "1.5.0",
967
+ "_view_name": "HTMLView",
968
+ "description": "",
969
+ "description_tooltip": null,
970
+ "layout": "IPY_MODEL_05d8496d54174ae298c319b0194fc710",
971
+ "placeholder": "​",
972
+ "style": "IPY_MODEL_3dedffa30b774426bd474072a3a0d591",
973
+ "value": " 1/1 [00:00&lt;00:00, 11.09ba/s]"
974
+ }
975
+ },
976
+ "5815ae1348994bfebba4a8e968489a96": {
977
+ "model_module": "@jupyter-widgets/controls",
978
+ "model_module_version": "1.5.0",
979
+ "model_name": "DescriptionStyleModel",
980
+ "state": {
981
+ "_model_module": "@jupyter-widgets/controls",
982
+ "_model_module_version": "1.5.0",
983
+ "_model_name": "DescriptionStyleModel",
984
+ "_view_count": null,
985
+ "_view_module": "@jupyter-widgets/base",
986
+ "_view_module_version": "1.2.0",
987
+ "_view_name": "StyleView",
988
+ "description_width": ""
989
+ }
990
+ },
991
+ "5c2a7fea8c434d51ada69a0854b88baf": {
992
+ "model_module": "@jupyter-widgets/base",
993
+ "model_module_version": "1.2.0",
994
+ "model_name": "LayoutModel",
995
+ "state": {
996
+ "_model_module": "@jupyter-widgets/base",
997
+ "_model_module_version": "1.2.0",
998
+ "_model_name": "LayoutModel",
999
+ "_view_count": null,
1000
+ "_view_module": "@jupyter-widgets/base",
1001
+ "_view_module_version": "1.2.0",
1002
+ "_view_name": "LayoutView",
1003
+ "align_content": null,
1004
+ "align_items": null,
1005
+ "align_self": null,
1006
+ "border": null,
1007
+ "bottom": null,
1008
+ "display": null,
1009
+ "flex": null,
1010
+ "flex_flow": null,
1011
+ "grid_area": null,
1012
+ "grid_auto_columns": null,
1013
+ "grid_auto_flow": null,
1014
+ "grid_auto_rows": null,
1015
+ "grid_column": null,
1016
+ "grid_gap": null,
1017
+ "grid_row": null,
1018
+ "grid_template_areas": null,
1019
+ "grid_template_columns": null,
1020
+ "grid_template_rows": null,
1021
+ "height": null,
1022
+ "justify_content": null,
1023
+ "justify_items": null,
1024
+ "left": null,
1025
+ "margin": null,
1026
+ "max_height": null,
1027
+ "max_width": null,
1028
+ "min_height": null,
1029
+ "min_width": null,
1030
+ "object_fit": null,
1031
+ "object_position": null,
1032
+ "order": null,
1033
+ "overflow": null,
1034
+ "overflow_x": null,
1035
+ "overflow_y": null,
1036
+ "padding": null,
1037
+ "right": null,
1038
+ "top": null,
1039
+ "visibility": null,
1040
+ "width": null
1041
+ }
1042
+ },
1043
+ "68502fb433564eee8dfdf272ed7e4f56": {
1044
+ "model_module": "@jupyter-widgets/controls",
1045
+ "model_module_version": "1.5.0",
1046
+ "model_name": "HTMLModel",
1047
+ "state": {
1048
+ "_dom_classes": [],
1049
+ "_model_module": "@jupyter-widgets/controls",
1050
+ "_model_module_version": "1.5.0",
1051
+ "_model_name": "HTMLModel",
1052
+ "_view_count": null,
1053
+ "_view_module": "@jupyter-widgets/controls",
1054
+ "_view_module_version": "1.5.0",
1055
+ "_view_name": "HTMLView",
1056
+ "description": "",
1057
+ "description_tooltip": null,
1058
+ "layout": "IPY_MODEL_5c2a7fea8c434d51ada69a0854b88baf",
1059
+ "placeholder": "​",
1060
+ "style": "IPY_MODEL_6c80bd8a8fe14a5989fe27445c14650f",
1061
+ "value": "100%"
1062
+ }
1063
+ },
1064
+ "6c80bd8a8fe14a5989fe27445c14650f": {
1065
+ "model_module": "@jupyter-widgets/controls",
1066
+ "model_module_version": "1.5.0",
1067
+ "model_name": "DescriptionStyleModel",
1068
+ "state": {
1069
+ "_model_module": "@jupyter-widgets/controls",
1070
+ "_model_module_version": "1.5.0",
1071
+ "_model_name": "DescriptionStyleModel",
1072
+ "_view_count": null,
1073
+ "_view_module": "@jupyter-widgets/base",
1074
+ "_view_module_version": "1.2.0",
1075
+ "_view_name": "StyleView",
1076
+ "description_width": ""
1077
+ }
1078
+ },
1079
+ "77f1a51099b24831ad8b2be3d2dc833a": {
1080
+ "model_module": "@jupyter-widgets/base",
1081
+ "model_module_version": "1.2.0",
1082
+ "model_name": "LayoutModel",
1083
+ "state": {
1084
+ "_model_module": "@jupyter-widgets/base",
1085
+ "_model_module_version": "1.2.0",
1086
+ "_model_name": "LayoutModel",
1087
+ "_view_count": null,
1088
+ "_view_module": "@jupyter-widgets/base",
1089
+ "_view_module_version": "1.2.0",
1090
+ "_view_name": "LayoutView",
1091
+ "align_content": null,
1092
+ "align_items": null,
1093
+ "align_self": null,
1094
+ "border": null,
1095
+ "bottom": null,
1096
+ "display": null,
1097
+ "flex": null,
1098
+ "flex_flow": null,
1099
+ "grid_area": null,
1100
+ "grid_auto_columns": null,
1101
+ "grid_auto_flow": null,
1102
+ "grid_auto_rows": null,
1103
+ "grid_column": null,
1104
+ "grid_gap": null,
1105
+ "grid_row": null,
1106
+ "grid_template_areas": null,
1107
+ "grid_template_columns": null,
1108
+ "grid_template_rows": null,
1109
+ "height": null,
1110
+ "justify_content": null,
1111
+ "justify_items": null,
1112
+ "left": null,
1113
+ "margin": null,
1114
+ "max_height": null,
1115
+ "max_width": null,
1116
+ "min_height": null,
1117
+ "min_width": null,
1118
+ "object_fit": null,
1119
+ "object_position": null,
1120
+ "order": null,
1121
+ "overflow": null,
1122
+ "overflow_x": null,
1123
+ "overflow_y": null,
1124
+ "padding": null,
1125
+ "right": null,
1126
+ "top": null,
1127
+ "visibility": null,
1128
+ "width": null
1129
+ }
1130
+ },
1131
+ "8b6b7f28751c45c8869aa86eb2a0ab26": {
1132
+ "model_module": "@jupyter-widgets/controls",
1133
+ "model_module_version": "1.5.0",
1134
+ "model_name": "HBoxModel",
1135
+ "state": {
1136
+ "_dom_classes": [],
1137
+ "_model_module": "@jupyter-widgets/controls",
1138
+ "_model_module_version": "1.5.0",
1139
+ "_model_name": "HBoxModel",
1140
+ "_view_count": null,
1141
+ "_view_module": "@jupyter-widgets/controls",
1142
+ "_view_module_version": "1.5.0",
1143
+ "_view_name": "HBoxView",
1144
+ "box_style": "",
1145
+ "children": [
1146
+ "IPY_MODEL_68502fb433564eee8dfdf272ed7e4f56",
1147
+ "IPY_MODEL_1f3abdf2e0f6459da4179a94d691c4c4",
1148
+ "IPY_MODEL_48c60be3ca9349a295b83f65769c7f27"
1149
+ ],
1150
+ "layout": "IPY_MODEL_445c84e1e2e541f2a54fb989def386ae"
1151
+ }
1152
+ },
1153
+ "9baa2f69aa9c4387bf1086a04ed78420": {
1154
+ "model_module": "@jupyter-widgets/base",
1155
+ "model_module_version": "1.2.0",
1156
+ "model_name": "LayoutModel",
1157
+ "state": {
1158
+ "_model_module": "@jupyter-widgets/base",
1159
+ "_model_module_version": "1.2.0",
1160
+ "_model_name": "LayoutModel",
1161
+ "_view_count": null,
1162
+ "_view_module": "@jupyter-widgets/base",
1163
+ "_view_module_version": "1.2.0",
1164
+ "_view_name": "LayoutView",
1165
+ "align_content": null,
1166
+ "align_items": null,
1167
+ "align_self": null,
1168
+ "border": null,
1169
+ "bottom": null,
1170
+ "display": null,
1171
+ "flex": null,
1172
+ "flex_flow": null,
1173
+ "grid_area": null,
1174
+ "grid_auto_columns": null,
1175
+ "grid_auto_flow": null,
1176
+ "grid_auto_rows": null,
1177
+ "grid_column": null,
1178
+ "grid_gap": null,
1179
+ "grid_row": null,
1180
+ "grid_template_areas": null,
1181
+ "grid_template_columns": null,
1182
+ "grid_template_rows": null,
1183
+ "height": null,
1184
+ "justify_content": null,
1185
+ "justify_items": null,
1186
+ "left": null,
1187
+ "margin": null,
1188
+ "max_height": null,
1189
+ "max_width": null,
1190
+ "min_height": null,
1191
+ "min_width": null,
1192
+ "object_fit": null,
1193
+ "object_position": null,
1194
+ "order": null,
1195
+ "overflow": null,
1196
+ "overflow_x": null,
1197
+ "overflow_y": null,
1198
+ "padding": null,
1199
+ "right": null,
1200
+ "top": null,
1201
+ "visibility": null,
1202
+ "width": null
1203
+ }
1204
+ },
1205
+ "9c875952cdd649a5bab87de9bb3f5200": {
1206
+ "model_module": "@jupyter-widgets/controls",
1207
+ "model_module_version": "1.5.0",
1208
+ "model_name": "DescriptionStyleModel",
1209
+ "state": {
1210
+ "_model_module": "@jupyter-widgets/controls",
1211
+ "_model_module_version": "1.5.0",
1212
+ "_model_name": "DescriptionStyleModel",
1213
+ "_view_count": null,
1214
+ "_view_module": "@jupyter-widgets/base",
1215
+ "_view_module_version": "1.2.0",
1216
+ "_view_name": "StyleView",
1217
+ "description_width": ""
1218
+ }
1219
+ },
1220
+ "a1e2c04dc2cb45ea80bec125e3dbf56f": {
1221
+ "model_module": "@jupyter-widgets/controls",
1222
+ "model_module_version": "1.5.0",
1223
+ "model_name": "HTMLModel",
1224
+ "state": {
1225
+ "_dom_classes": [],
1226
+ "_model_module": "@jupyter-widgets/controls",
1227
+ "_model_module_version": "1.5.0",
1228
+ "_model_name": "HTMLModel",
1229
+ "_view_count": null,
1230
+ "_view_module": "@jupyter-widgets/controls",
1231
+ "_view_module_version": "1.5.0",
1232
+ "_view_name": "HTMLView",
1233
+ "description": "",
1234
+ "description_tooltip": null,
1235
+ "layout": "IPY_MODEL_427056895c674c428400bee0f5b43995",
1236
+ "placeholder": "​",
1237
+ "style": "IPY_MODEL_04ec68b059df4c628839c3ac29e2ebdd",
1238
+ "value": "100%"
1239
+ }
1240
+ },
1241
+ "a29f88f174f8499082fbb36a36c47fa4": {
1242
+ "model_module": "@jupyter-widgets/controls",
1243
+ "model_module_version": "1.5.0",
1244
+ "model_name": "HBoxModel",
1245
+ "state": {
1246
+ "_dom_classes": [],
1247
+ "_model_module": "@jupyter-widgets/controls",
1248
+ "_model_module_version": "1.5.0",
1249
+ "_model_name": "HBoxModel",
1250
+ "_view_count": null,
1251
+ "_view_module": "@jupyter-widgets/controls",
1252
+ "_view_module_version": "1.5.0",
1253
+ "_view_name": "HBoxView",
1254
+ "box_style": "",
1255
+ "children": [
1256
+ "IPY_MODEL_d45747150d0b434593a3a7c98399599a",
1257
+ "IPY_MODEL_ea73f7deb1c643f7b81de7fb7acaaf1b",
1258
+ "IPY_MODEL_18bc63944343440f837cdff76db004fc"
1259
+ ],
1260
+ "layout": "IPY_MODEL_efc3bc0c48124ebeb79d245216eaf0fe"
1261
+ }
1262
+ },
1263
+ "a4ae510b4f3845f891a796cf844fc2bb": {
1264
+ "model_module": "@jupyter-widgets/base",
1265
+ "model_module_version": "1.2.0",
1266
+ "model_name": "LayoutModel",
1267
+ "state": {
1268
+ "_model_module": "@jupyter-widgets/base",
1269
+ "_model_module_version": "1.2.0",
1270
+ "_model_name": "LayoutModel",
1271
+ "_view_count": null,
1272
+ "_view_module": "@jupyter-widgets/base",
1273
+ "_view_module_version": "1.2.0",
1274
+ "_view_name": "LayoutView",
1275
+ "align_content": null,
1276
+ "align_items": null,
1277
+ "align_self": null,
1278
+ "border": null,
1279
+ "bottom": null,
1280
+ "display": null,
1281
+ "flex": null,
1282
+ "flex_flow": null,
1283
+ "grid_area": null,
1284
+ "grid_auto_columns": null,
1285
+ "grid_auto_flow": null,
1286
+ "grid_auto_rows": null,
1287
+ "grid_column": null,
1288
+ "grid_gap": null,
1289
+ "grid_row": null,
1290
+ "grid_template_areas": null,
1291
+ "grid_template_columns": null,
1292
+ "grid_template_rows": null,
1293
+ "height": null,
1294
+ "justify_content": null,
1295
+ "justify_items": null,
1296
+ "left": null,
1297
+ "margin": null,
1298
+ "max_height": null,
1299
+ "max_width": null,
1300
+ "min_height": null,
1301
+ "min_width": null,
1302
+ "object_fit": null,
1303
+ "object_position": null,
1304
+ "order": null,
1305
+ "overflow": null,
1306
+ "overflow_x": null,
1307
+ "overflow_y": null,
1308
+ "padding": null,
1309
+ "right": null,
1310
+ "top": null,
1311
+ "visibility": null,
1312
+ "width": null
1313
+ }
1314
+ },
1315
+ "aa329cb93df44a6da6012c7cc49d7489": {
1316
+ "model_module": "@jupyter-widgets/base",
1317
+ "model_module_version": "1.2.0",
1318
+ "model_name": "LayoutModel",
1319
+ "state": {
1320
+ "_model_module": "@jupyter-widgets/base",
1321
+ "_model_module_version": "1.2.0",
1322
+ "_model_name": "LayoutModel",
1323
+ "_view_count": null,
1324
+ "_view_module": "@jupyter-widgets/base",
1325
+ "_view_module_version": "1.2.0",
1326
+ "_view_name": "LayoutView",
1327
+ "align_content": null,
1328
+ "align_items": null,
1329
+ "align_self": null,
1330
+ "border": null,
1331
+ "bottom": null,
1332
+ "display": null,
1333
+ "flex": null,
1334
+ "flex_flow": null,
1335
+ "grid_area": null,
1336
+ "grid_auto_columns": null,
1337
+ "grid_auto_flow": null,
1338
+ "grid_auto_rows": null,
1339
+ "grid_column": null,
1340
+ "grid_gap": null,
1341
+ "grid_row": null,
1342
+ "grid_template_areas": null,
1343
+ "grid_template_columns": null,
1344
+ "grid_template_rows": null,
1345
+ "height": null,
1346
+ "justify_content": null,
1347
+ "justify_items": null,
1348
+ "left": null,
1349
+ "margin": null,
1350
+ "max_height": null,
1351
+ "max_width": null,
1352
+ "min_height": null,
1353
+ "min_width": null,
1354
+ "object_fit": null,
1355
+ "object_position": null,
1356
+ "order": null,
1357
+ "overflow": null,
1358
+ "overflow_x": null,
1359
+ "overflow_y": null,
1360
+ "padding": null,
1361
+ "right": null,
1362
+ "top": null,
1363
+ "visibility": null,
1364
+ "width": null
1365
+ }
1366
+ },
1367
+ "b39b6e9131ca4ce3b31e84ceb04e1b83": {
1368
+ "model_module": "@jupyter-widgets/controls",
1369
+ "model_module_version": "1.5.0",
1370
+ "model_name": "ProgressStyleModel",
1371
+ "state": {
1372
+ "_model_module": "@jupyter-widgets/controls",
1373
+ "_model_module_version": "1.5.0",
1374
+ "_model_name": "ProgressStyleModel",
1375
+ "_view_count": null,
1376
+ "_view_module": "@jupyter-widgets/base",
1377
+ "_view_module_version": "1.2.0",
1378
+ "_view_name": "StyleView",
1379
+ "bar_color": null,
1380
+ "description_width": ""
1381
+ }
1382
+ },
1383
+ "b6d46d40efa14b21814f41531f5a2f41": {
1384
+ "model_module": "@jupyter-widgets/controls",
1385
+ "model_module_version": "1.5.0",
1386
+ "model_name": "FloatProgressModel",
1387
+ "state": {
1388
+ "_dom_classes": [],
1389
+ "_model_module": "@jupyter-widgets/controls",
1390
+ "_model_module_version": "1.5.0",
1391
+ "_model_name": "FloatProgressModel",
1392
+ "_view_count": null,
1393
+ "_view_module": "@jupyter-widgets/controls",
1394
+ "_view_module_version": "1.5.0",
1395
+ "_view_name": "ProgressView",
1396
+ "bar_style": "success",
1397
+ "description": "",
1398
+ "description_tooltip": null,
1399
+ "layout": "IPY_MODEL_77f1a51099b24831ad8b2be3d2dc833a",
1400
+ "max": 1,
1401
+ "min": 0,
1402
+ "orientation": "horizontal",
1403
+ "style": "IPY_MODEL_d518f2c2ab6945b78a6d336dad6262bd",
1404
+ "value": 1
1405
+ }
1406
+ },
1407
+ "c31a747e18df4b4aa4449a30e387448c": {
1408
+ "model_module": "@jupyter-widgets/base",
1409
+ "model_module_version": "1.2.0",
1410
+ "model_name": "LayoutModel",
1411
+ "state": {
1412
+ "_model_module": "@jupyter-widgets/base",
1413
+ "_model_module_version": "1.2.0",
1414
+ "_model_name": "LayoutModel",
1415
+ "_view_count": null,
1416
+ "_view_module": "@jupyter-widgets/base",
1417
+ "_view_module_version": "1.2.0",
1418
+ "_view_name": "LayoutView",
1419
+ "align_content": null,
1420
+ "align_items": null,
1421
+ "align_self": null,
1422
+ "border": null,
1423
+ "bottom": null,
1424
+ "display": null,
1425
+ "flex": null,
1426
+ "flex_flow": null,
1427
+ "grid_area": null,
1428
+ "grid_auto_columns": null,
1429
+ "grid_auto_flow": null,
1430
+ "grid_auto_rows": null,
1431
+ "grid_column": null,
1432
+ "grid_gap": null,
1433
+ "grid_row": null,
1434
+ "grid_template_areas": null,
1435
+ "grid_template_columns": null,
1436
+ "grid_template_rows": null,
1437
+ "height": null,
1438
+ "justify_content": null,
1439
+ "justify_items": null,
1440
+ "left": null,
1441
+ "margin": null,
1442
+ "max_height": null,
1443
+ "max_width": null,
1444
+ "min_height": null,
1445
+ "min_width": null,
1446
+ "object_fit": null,
1447
+ "object_position": null,
1448
+ "order": null,
1449
+ "overflow": null,
1450
+ "overflow_x": null,
1451
+ "overflow_y": null,
1452
+ "padding": null,
1453
+ "right": null,
1454
+ "top": null,
1455
+ "visibility": null,
1456
+ "width": null
1457
+ }
1458
+ },
1459
+ "c5eed102ef134a4e8ca41713b82ff6a4": {
1460
+ "model_module": "@jupyter-widgets/base",
1461
+ "model_module_version": "1.2.0",
1462
+ "model_name": "LayoutModel",
1463
+ "state": {
1464
+ "_model_module": "@jupyter-widgets/base",
1465
+ "_model_module_version": "1.2.0",
1466
+ "_model_name": "LayoutModel",
1467
+ "_view_count": null,
1468
+ "_view_module": "@jupyter-widgets/base",
1469
+ "_view_module_version": "1.2.0",
1470
+ "_view_name": "LayoutView",
1471
+ "align_content": null,
1472
+ "align_items": null,
1473
+ "align_self": null,
1474
+ "border": null,
1475
+ "bottom": null,
1476
+ "display": null,
1477
+ "flex": null,
1478
+ "flex_flow": null,
1479
+ "grid_area": null,
1480
+ "grid_auto_columns": null,
1481
+ "grid_auto_flow": null,
1482
+ "grid_auto_rows": null,
1483
+ "grid_column": null,
1484
+ "grid_gap": null,
1485
+ "grid_row": null,
1486
+ "grid_template_areas": null,
1487
+ "grid_template_columns": null,
1488
+ "grid_template_rows": null,
1489
+ "height": null,
1490
+ "justify_content": null,
1491
+ "justify_items": null,
1492
+ "left": null,
1493
+ "margin": null,
1494
+ "max_height": null,
1495
+ "max_width": null,
1496
+ "min_height": null,
1497
+ "min_width": null,
1498
+ "object_fit": null,
1499
+ "object_position": null,
1500
+ "order": null,
1501
+ "overflow": null,
1502
+ "overflow_x": null,
1503
+ "overflow_y": null,
1504
+ "padding": null,
1505
+ "right": null,
1506
+ "top": null,
1507
+ "visibility": null,
1508
+ "width": null
1509
+ }
1510
+ },
1511
+ "d45747150d0b434593a3a7c98399599a": {
1512
+ "model_module": "@jupyter-widgets/controls",
1513
+ "model_module_version": "1.5.0",
1514
+ "model_name": "HTMLModel",
1515
+ "state": {
1516
+ "_dom_classes": [],
1517
+ "_model_module": "@jupyter-widgets/controls",
1518
+ "_model_module_version": "1.5.0",
1519
+ "_model_name": "HTMLModel",
1520
+ "_view_count": null,
1521
+ "_view_module": "@jupyter-widgets/controls",
1522
+ "_view_module_version": "1.5.0",
1523
+ "_view_name": "HTMLView",
1524
+ "description": "",
1525
+ "description_tooltip": null,
1526
+ "layout": "IPY_MODEL_aa329cb93df44a6da6012c7cc49d7489",
1527
+ "placeholder": "​",
1528
+ "style": "IPY_MODEL_9c875952cdd649a5bab87de9bb3f5200",
1529
+ "value": "100%"
1530
+ }
1531
+ },
1532
+ "d518f2c2ab6945b78a6d336dad6262bd": {
1533
+ "model_module": "@jupyter-widgets/controls",
1534
+ "model_module_version": "1.5.0",
1535
+ "model_name": "ProgressStyleModel",
1536
+ "state": {
1537
+ "_model_module": "@jupyter-widgets/controls",
1538
+ "_model_module_version": "1.5.0",
1539
+ "_model_name": "ProgressStyleModel",
1540
+ "_view_count": null,
1541
+ "_view_module": "@jupyter-widgets/base",
1542
+ "_view_module_version": "1.2.0",
1543
+ "_view_name": "StyleView",
1544
+ "bar_color": null,
1545
+ "description_width": ""
1546
+ }
1547
+ },
1548
+ "d8bf8dc5d6c84140a4e96c9c435b8f17": {
1549
+ "model_module": "@jupyter-widgets/controls",
1550
+ "model_module_version": "1.5.0",
1551
+ "model_name": "HTMLModel",
1552
+ "state": {
1553
+ "_dom_classes": [],
1554
+ "_model_module": "@jupyter-widgets/controls",
1555
+ "_model_module_version": "1.5.0",
1556
+ "_model_name": "HTMLModel",
1557
+ "_view_count": null,
1558
+ "_view_module": "@jupyter-widgets/controls",
1559
+ "_view_module_version": "1.5.0",
1560
+ "_view_name": "HTMLView",
1561
+ "description": "",
1562
+ "description_tooltip": null,
1563
+ "layout": "IPY_MODEL_22ba979142074f1d976e1a905544fd2d",
1564
+ "placeholder": "​",
1565
+ "style": "IPY_MODEL_5815ae1348994bfebba4a8e968489a96",
1566
+ "value": " 1/1 [00:00&lt;00:00, 7.95ba/s]"
1567
+ }
1568
+ },
1569
+ "e6e50da6516847878309fdc5c463edb3": {
1570
+ "model_module": "@jupyter-widgets/controls",
1571
+ "model_module_version": "1.5.0",
1572
+ "model_name": "DescriptionStyleModel",
1573
+ "state": {
1574
+ "_model_module": "@jupyter-widgets/controls",
1575
+ "_model_module_version": "1.5.0",
1576
+ "_model_name": "DescriptionStyleModel",
1577
+ "_view_count": null,
1578
+ "_view_module": "@jupyter-widgets/base",
1579
+ "_view_module_version": "1.2.0",
1580
+ "_view_name": "StyleView",
1581
+ "description_width": ""
1582
+ }
1583
+ },
1584
+ "ea73f7deb1c643f7b81de7fb7acaaf1b": {
1585
+ "model_module": "@jupyter-widgets/controls",
1586
+ "model_module_version": "1.5.0",
1587
+ "model_name": "FloatProgressModel",
1588
+ "state": {
1589
+ "_dom_classes": [],
1590
+ "_model_module": "@jupyter-widgets/controls",
1591
+ "_model_module_version": "1.5.0",
1592
+ "_model_name": "FloatProgressModel",
1593
+ "_view_count": null,
1594
+ "_view_module": "@jupyter-widgets/controls",
1595
+ "_view_module_version": "1.5.0",
1596
+ "_view_name": "ProgressView",
1597
+ "bar_style": "success",
1598
+ "description": "",
1599
+ "description_tooltip": null,
1600
+ "layout": "IPY_MODEL_c5eed102ef134a4e8ca41713b82ff6a4",
1601
+ "max": 6962,
1602
+ "min": 0,
1603
+ "orientation": "horizontal",
1604
+ "style": "IPY_MODEL_b39b6e9131ca4ce3b31e84ceb04e1b83",
1605
+ "value": 6962
1606
+ }
1607
+ },
1608
+ "efc3bc0c48124ebeb79d245216eaf0fe": {
1609
+ "model_module": "@jupyter-widgets/base",
1610
+ "model_module_version": "1.2.0",
1611
+ "model_name": "LayoutModel",
1612
+ "state": {
1613
+ "_model_module": "@jupyter-widgets/base",
1614
+ "_model_module_version": "1.2.0",
1615
+ "_model_name": "LayoutModel",
1616
+ "_view_count": null,
1617
+ "_view_module": "@jupyter-widgets/base",
1618
+ "_view_module_version": "1.2.0",
1619
+ "_view_name": "LayoutView",
1620
+ "align_content": null,
1621
+ "align_items": null,
1622
+ "align_self": null,
1623
+ "border": null,
1624
+ "bottom": null,
1625
+ "display": null,
1626
+ "flex": null,
1627
+ "flex_flow": null,
1628
+ "grid_area": null,
1629
+ "grid_auto_columns": null,
1630
+ "grid_auto_flow": null,
1631
+ "grid_auto_rows": null,
1632
+ "grid_column": null,
1633
+ "grid_gap": null,
1634
+ "grid_row": null,
1635
+ "grid_template_areas": null,
1636
+ "grid_template_columns": null,
1637
+ "grid_template_rows": null,
1638
+ "height": null,
1639
+ "justify_content": null,
1640
+ "justify_items": null,
1641
+ "left": null,
1642
+ "margin": null,
1643
+ "max_height": null,
1644
+ "max_width": null,
1645
+ "min_height": null,
1646
+ "min_width": null,
1647
+ "object_fit": null,
1648
+ "object_position": null,
1649
+ "order": null,
1650
+ "overflow": null,
1651
+ "overflow_x": null,
1652
+ "overflow_y": null,
1653
+ "padding": null,
1654
+ "right": null,
1655
+ "top": null,
1656
+ "visibility": null,
1657
+ "width": null
1658
+ }
1659
+ }
1660
+ }
1661
+ }
1662
+ },
1663
+ "nbformat": 4,
1664
+ "nbformat_minor": 4
1665
+ }