├── README.md
└── DeepLearning.ipynb
/README.md:
--------------------------------------------------------------------------------
1 | # Persian News Classification
2 |
3 | This repository contains Jupyter notebooks for analyzing and modeling a dataset of Persian news articles for classification purposes.
4 |
5 | ## Notebooks
6 |
7 | - **EDA.ipynb**:
8 | - Generates word clouds
9 | - Plots the distribution of labels
10 | - Displays dataframe information
11 |
12 | - **MachineLearning.ipynb**:
13 | - Preprocesses the data
14 | - Applies TF-IDF transformation
15 | - Trains multiple machine learning models using grid search for hyperparameter tuning
16 | - Models include ensemble methods, linear models, naive Bayes, nearest neighbors, decision trees, and gradient boosting
17 |
18 | - **DeepLearning.ipynb**:
19 | - Trains Convolutional Neural Networks (CNN) and Recurrent Neural Networks (RNN)
20 |
21 | For more details on the implementation and results, please refer to the individual notebooks.
--------------------------------------------------------------------------------
/DeepLearning.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "id": "view-in-github",
7 | "colab_type": "text"
8 | },
9 | "source": [
10 | "
"
11 | ]
12 | },
13 | {
14 | "cell_type": "markdown",
15 | "metadata": {
16 | "id": "bu-uvwDp3LYq"
17 | },
18 | "source": [
19 | "# import and install libs"
20 | ]
21 | },
22 | {
23 | "cell_type": "code",
24 | "execution_count": 1,
25 | "metadata": {
26 | "id": "Pp_d6_8RFgJK"
27 | },
28 | "outputs": [],
29 | "source": [
30 | "from google.colab import output\n",
31 | "!pip install hazm\n",
32 | "!pip install mapply\n",
33 | "\n",
34 | "\n",
35 | "import warnings\n",
36 | "import hazm\n",
37 | "from hazm import *\n",
38 | "import re\n",
39 | "import string\n",
40 | "import glob\n",
41 | "from hazm import stopwords_list\n",
42 | "import pandas as pd\n",
43 | "import time\n",
44 | "import os\n",
45 | "import mapply\n",
46 | "\n",
47 | "\n",
48 | "\n",
49 | "import torch\n",
50 | "import numpy as np\n",
51 | "from sklearn.preprocessing import LabelEncoder\n",
52 | "from torch.utils.data import Dataset, DataLoader\n",
53 | "from sklearn.model_selection import train_test_split\n",
54 | "from gensim.models import Word2Vec\n",
55 | "import torch.nn.functional as F\n",
56 | "import torch.nn as nn\n",
57 | "import torch.optim as optim\n",
58 | "from sklearn.metrics import accuracy_score\n",
59 | "\n",
60 | "from google.colab import drive\n",
61 | "drive.mount('/content/drive')\n",
62 | "\n",
63 | "\n",
64 | "output.clear()\n",
65 | "\n"
66 | ]
67 | },
68 | {
69 | "cell_type": "markdown",
70 | "metadata": {
71 | "id": "zZHbdMF33SYT"
72 | },
73 | "source": [
74 | "# Initialization\n",
75 | "\n",
76 | "1. **Parallel Processing Setup:** \n",
77 | " - `mapply.init(...)` initializes a parallel processing framework with multiple workers (`n_workers=-1` uses all available processors), processing data in chunks (`chunk_size=100` and `max_chunks_per_worker=8`), with a visible progress bar.\n",
78 | "\n",
79 | "2. **Text Cleaning Components:** \n",
80 | " - **Punctuations:** \n",
81 | " - Combines English (`string.punctuation`) and Persian punctuation symbols (`persian_punctuations`) into a single list for later removal.\n",
82 | " - **Diacritics:** \n",
83 | " - Compiles a regex (`arabic_diacritics`) to remove common Arabic diacritics (e.g., Tashdid, Fatha, etc.).\n",
84 | " - **Lemmatization and Normalization:** \n",
85 | " - Initializes `hazm.Lemmatizer()` for lemmatizing Persian words. \n",
86 | " - Initializes a `Normalizer()` to standardize text.\n",
87 | "\n",
88 | "\n",
89 | "3. **Stopwords Loading:** \n",
90 | " - Uses `glob` to find all text files with Persian stopwords in a specific folder.\n",
91 | " - Reads each file and compiles a master list of stopwords.\n",
92 | " - Removes newline characters from each stopword.\n",
93 | " - Extends the list with additional stopwords from `stopwords_list()` from hazm.\n",
94 | "\n",
95 | "\n",
96 | "\n",
97 | "This setup prepares your environment to clean, normalize, and process Persian text data efficiently in a parallelized manner."
98 | ]
99 | },
100 | {
101 | "cell_type": "code",
102 | "execution_count": 2,
103 | "metadata": {
104 | "id": "oZcxRsdKGNyu"
105 | },
106 | "outputs": [],
107 | "source": [
108 | "mapply.init(\n",
109 | " n_workers=-1,\n",
110 | " chunk_size=100,\n",
111 | " max_chunks_per_worker=8,\n",
112 | " progressbar=True,\n",
113 | ")\n",
114 | "\n",
115 | "persian_punctuations = '''`÷×؛#<>_()*&^%][ـ،/:\"؟.,'{}~¦+|!”…“–ـ'''\n",
116 | "punctuations_list = string.punctuation + persian_punctuations\n",
117 | "arabic_diacritics = re.compile(\"\"\"\n",
118 | " ّ | # Tashdid\n",
119 | " َ | # Fatha\n",
120 | " ً | # Tanwin Fath\n",
121 | " ُ | # Damma\n",
122 | " ٌ | # Tanwin Damm\n",
123 | " ِ | # Kasra\n",
124 | " ٍ | # Tanwin Kasr\n",
125 | " ْ | # Sukun\n",
126 | " ـ # Tatwil/Kashida\n",
127 | " \"\"\", re.VERBOSE)\n",
128 | "lemmatizer = hazm.Lemmatizer()\n",
129 | "normalizer = Normalizer()\n",
130 | "\n",
131 | "\n",
132 | "file_list = glob.glob('/content/drive/MyDrive/NLP/persian_stopwords' + '/*.txt')\n",
133 | "\n",
134 | "stop_words = []\n",
135 | "\n",
136 | "for file_path in file_list:\n",
137 | " with open(file_path) as f:\n",
138 | " stop_words.extend(f.readlines())\n",
139 | "\n",
140 | "for i in range(len(stop_words)):\n",
141 | " stop_words[i]=stop_words[i].replace('\\n','')\n",
142 | "\n",
143 | "stop_words.extend(stopwords_list())\n",
144 | "output.clear()"
145 | ]
146 | },
147 | {
148 | "cell_type": "markdown",
149 | "metadata": {
150 | "id": "NVhuH0nwYgfa"
151 | },
152 | "source": [
153 | "# read dataset"
154 | ]
155 | },
156 | {
157 | "cell_type": "code",
158 | "execution_count": 3,
159 | "metadata": {
160 | "colab": {
161 | "base_uri": "https://localhost:8080/",
162 | "height": 206
163 | },
164 | "id": "tyuNT5RSGOFA",
165 | "outputId": "4316685a-dd35-4902-f7cc-6c335cc3af2d"
166 | },
167 | "outputs": [
168 | {
169 | "output_type": "execute_result",
170 | "data": {
171 | "text/plain": [
172 | " title \\\n",
173 | "0 قارایی: در تلاشم تا سیاه نمایی درباره ایران با... \n",
174 | "1 توجه ویژه به اقوام و چهره های مردمی در فصل جدی... \n",
175 | "2 جان فدا| ویژه برنامه هاى تلویزیون در سومین سال... \n",
176 | "3 محمد علی صائب رئیس خبرگزاری صدا وسیما شد \n",
177 | "4 «همراه با خاطره ها» تمدید شد \n",
178 | "\n",
179 | " text label \n",
180 | "0 خبرگزاری فارس - گروه هنر و رسانه - علی عبدالهی... culture-media \n",
181 | "1 به گزارش خبرگزاری فارس، پویان هدایتی، تهیه کن... culture-media \n",
182 | "2 به گزارش خبرنگار رادیو و تلویزیون خبرگزاری فار... culture-media \n",
183 | "3 به گزارش خبرگزاری فارس، علیرضا خدابخشی، معاون ... culture-media \n",
184 | "4 به گزارش خبرگزاری فارس به نقل از روابط عمومی و... culture-media "
185 | ],
186 | "text/html": [
187 | "\n",
188 | "
\n",
189 | "
\n",
190 | "\n",
203 | "
\n",
204 | " \n",
205 | " \n",
206 | " | \n",
207 | " title | \n",
208 | " text | \n",
209 | " label | \n",
210 | "
\n",
211 | " \n",
212 | " \n",
213 | " \n",
214 | " | 0 | \n",
215 | " قارایی: در تلاشم تا سیاه نمایی درباره ایران با... | \n",
216 | " خبرگزاری فارس - گروه هنر و رسانه - علی عبدالهی... | \n",
217 | " culture-media | \n",
218 | "
\n",
219 | " \n",
220 | " | 1 | \n",
221 | " توجه ویژه به اقوام و چهره های مردمی در فصل جدی... | \n",
222 | " به گزارش خبرگزاری فارس، پویان هدایتی، تهیه کن... | \n",
223 | " culture-media | \n",
224 | "
\n",
225 | " \n",
226 | " | 2 | \n",
227 | " جان فدا| ویژه برنامه هاى تلویزیون در سومین سال... | \n",
228 | " به گزارش خبرنگار رادیو و تلویزیون خبرگزاری فار... | \n",
229 | " culture-media | \n",
230 | "
\n",
231 | " \n",
232 | " | 3 | \n",
233 | " محمد علی صائب رئیس خبرگزاری صدا وسیما شد | \n",
234 | " به گزارش خبرگزاری فارس، علیرضا خدابخشی، معاون ... | \n",
235 | " culture-media | \n",
236 | "
\n",
237 | " \n",
238 | " | 4 | \n",
239 | " «همراه با خاطره ها» تمدید شد | \n",
240 | " به گزارش خبرگزاری فارس به نقل از روابط عمومی و... | \n",
241 | " culture-media | \n",
242 | "
\n",
243 | " \n",
244 | "
\n",
245 | "
\n",
246 | "
\n",
454 | "
\n"
455 | ],
456 | "application/vnd.google.colaboratory.intrinsic+json": {
457 | "type": "dataframe",
458 | "variable_name": "df",
459 | "summary": "{\n \"name\": \"df\",\n \"rows\": 64942,\n \"fields\": [\n {\n \"column\": \"title\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 64391,\n \"samples\": [\n \"\\u062f\\u06cc\\u062f\\u0627\\u0631 \\u062f\\u0628\\u06cc\\u0631 \\u0634\\u0648\\u0631\\u0627\\u06cc \\u0639\\u0627\\u0644\\u06cc \\u0627\\u0646\\u0642\\u0644\\u0627\\u0628 \\u0641\\u0631\\u0647\\u0646\\u06af\\u06cc \\u0628\\u0627 \\u062c\\u0645\\u0639\\u06cc \\u0627\\u0632 \\u0647\\u0646\\u0631\\u0645\\u0646\\u062f\\u0627\\u0646\",\n \"\\u0627\\u0642\\u062f\\u0627\\u0645 \\u062c\\u0627\\u0644\\u0628 \\u0644\\u06cc\\u06af \\u0628\\u0631\\u062a\\u0631 \\u0627\\u0646\\u06af\\u0644\\u06cc\\u0633 \\u062f\\u0631 \\u062d\\u0645\\u0627\\u06cc\\u062a \\u0627\\u0632 \\u0631\\u0648\\u0632\\u0647 \\u062f\\u0627\\u0631\\u0627\\u0646\",\n \"\\u0622\\u062e\\u0631\\u06cc\\u0646 \\u0648\\u0636\\u0639\\u06cc\\u062a \\u062d\\u0636\\u0648\\u0631 \\u0645\\u0644\\u06cc \\u067e\\u0648\\u0634\\u0627\\u0646 \\u062f\\u0631 \\u0627\\u0631\\u062f\\u0648/ \\u0641\\u062f\\u0631\\u0627\\u0633\\u06cc\\u0648\\u0646 \\u0627\\u0645\\u0631\\u0648\\u0632 \\u0648\\u06cc\\u0632\\u0627\\u06cc \\u0633\\u067e\\u0627\\u0647\\u0627\\u0646\\u06cc \\u0647\\u0627 \\u0631\\u0627 \\u0645\\u06cc \\u06af\\u06cc\\u0631\\u062f\\u061f\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 64631,\n \"samples\": [\n \"\\u06af\\u0631\\u0648\\u0647 \\u062a\\u0627\\u0631\\u06cc\\u062e \\u062e\\u0628\\u0631\\u06af\\u0632\\u0627\\u0631\\u06cc \\u0641\\u0627\\u0631\\u0633: \\u0648\\u0642\\u062a\\u06cc \\u0645\\u0646\\u0627\\u0641\\u0642\\u06cc\\u0646 \\u062f\\u0631 \\u062f\\u0647\\u0647 \\u06f6\\u06f0 \\u0628\\u0627 \\u062a\\u0631\\u0648\\u0631 \\u0645\\u0642\\u0627\\u0645\\u0627\\u062a \\u0646\\u0638\\u0627\\u0645 \\u0646\\u062a\\u0648\\u0627\\u0646\\u0633\\u062a\\u0646\\u062f \\u062c\\u0645\\u0647\\u0648\\u0631\\u06cc \\u0627\\u0633\\u0644\\u0627\\u0645\\u06cc \\u0631\\u0627 \\u0634\\u06a9\\u0633\\u062a \\u062f\\u0647\\u0646\\u062f \\u0628\\u0647 \\u06af\\u0645\\u0627\\u0646 \\u062e\\u0648\\u062f\\u0634\\u0627\\u0646 \\u0648\\u0627\\u0631\\u062f \\u0645\\u0631\\u062d\\u0644\\u0647 \\u062c\\u062f\\u06cc\\u062f\\u06cc \\u0634\\u062f\\u0646\\u062f \\u062a\\u0627 \\u0627\\u0632 \\u0637\\u0631\\u06cc\\u0642 \\u00ab\\u062e\\u0637 [\\u0631\\u0648\\u06cc\\u06a9\\u0631\\u062f] \\u067e\\u0627\\u0633\\u062f\\u0627\\u0631\\u06a9\\u0634\\u06cc \\u0648 \\u062d\\u0632\\u0628 \\u0627\\u0644\\u0644\\u0647 \\u06a9\\u064f\\u0634\\u06cc\\u00bb \\u0628\\u0647 \\u0628\\u062f\\u0646\\u0647 \\u0646\\u0638\\u0627\\u0645 \\u0636\\u0631\\u0628\\u0647 \\u0628\\u0632\\u0646\\u0646\\u062f \\u0648 \\u06cc\\u06a9\\u06cc \\u0627\\u0632 \\u0631\\u0648\\u0634 \\u0647\\u0627\\u06cc\\u0634\\u0627\\u0646 \\u06a9\\u0647 \\u062f\\u0631 \\u0646\\u0634\\u0631\\u06cc\\u0647 \\u0645\\u062c\\u0627\\u0647\\u062f [\\u0645\\u062a\\u0639\\u0644\\u0642 \\u0628\\u0647 \\u0645\\u0646\\u0627\\u0641\\u0642\\u06cc\\u0646] \\u0628\\u0627 \\u062a\\u06cc\\u062a\\u0631 \\u00ab\\u0639\\u0645\\u0644\\u06cc\\u0627\\u062a \\u0648\\u0627\\u062d\\u062f\\u0647\\u0627\\u06cc \\u0645\\u0648\\u062a\\u0648\\u0631\\u06cc\\u00bb \\u0627\\u0641\\u0634\\u0627\\u0621 \\u0634\\u062f\\u060c \\u0627\\u06cc\\u0646 \\u0637\\u0648\\u0631\\u06cc \\u0628\\u0648\\u062f: \\u00ab\\u067e\\u0631\\u062a\\u0627\\u0628 \\u0646\\u0627\\u0631\\u0646\\u062c\\u06a9 \\u0648 \\u0628\\u0645\\u0628 \\u0647\\u0627\\u06cc \\u0622\\u062a\\u0634 \\u0632\\u0627 \\u0628\\u0647 \\u0645\\u0631\\u0627\\u06a9\\u0632 \\u062f\\u0634\\u0645\\u0646\\u060c \\u0627\\u0639\\u062f\\u0627\\u0645 \\u0627\\u0646\\u0642\\u0644\\u0627\\u0628\\u06cc \\u0645\\u0632\\u062f\\u0648\\u0631\\u0627\\u0646 \\u062f\\u0634\\u0645\\u0646 \\u062f\\u0631 \\u0645\\u0631\\u0627\\u06a9\\u0632 \\u062d\\u0641\\u0627\\u0638\\u062a \\u0634\\u062f\\u0647 \\u062c\\u0627\\u0633\\u0648\\u0633\\u06cc \\u0648 \\u06a9\\u0633\\u0628 \\u0627\\u0637\\u0644\\u0627\\u0639\\u0627\\u062a \\u0648 \\u0647\\u0645\\u0686\\u0646\\u06cc\\u0646 \\u0627\\u0639\\u062f\\u0627\\u0645 \\u0627\\u0646\\u0642\\u0644\\u0627\\u0628\\u06cc \\u0645\\u0632\\u062f\\u0648\\u0631\\u0627\\u0646 \\u0645\\u0646\\u0641\\u0631\\u062f \\u062f\\u0634\\u0645\\u0646 \\u062f\\u0631 \\u0645\\u0633\\u06cc\\u0631 \\u062a\\u0631\\u062f\\u062f\\u060c \\u0622\\u0645\\u0648\\u0632\\u0634 \\u062f\\u0627\\u062f\\u0647 \\u0634\\u062f\\u0647 \\u0627\\u0633\\u062a... \\u06cc\\u06a9\\u06cc \\u0627\\u0632 \\u0637\\u0631\\u062d \\u0647\\u0627\\u06cc\\u06cc \\u06a9\\u0647 \\u0648\\u0627\\u062d\\u062f \\u0645\\u0648\\u062a\\u0648\\u0631\\u06cc \\u0628\\u0639\\u062f \\u0627\\u0632 \\u0641\\u0631\\u0627\\u06af\\u06cc\\u0631\\u06cc \\u0648 \\u06a9\\u0633\\u0628 \\u0622\\u0645\\u0648\\u0632\\u0634 \\u0647\\u0627\\u06cc \\u0646\\u0638\\u0627\\u0645\\u06cc \\u0645\\u06a9\\u0641\\u06cc \\u0645\\u06cc \\u062a\\u0648\\u0627\\u0646\\u062f \\u0627\\u0646\\u062c\\u0627\\u0645 \\u062f\\u0647\\u062f\\u060c \\u0628\\u0647 \\u0647\\u0644\\u0627\\u06a9\\u062a \\u0631\\u0633\\u0627\\u0646\\u062f\\u0646 \\u062a\\u06a9 \\u0645\\u0632\\u062f\\u0648\\u0631 \\u062f\\u0634\\u0645\\u0646 \\u062f\\u0631 \\u06a9\\u0648\\u0686\\u0647 \\u0648 \\u062e\\u06cc\\u0627\\u0628\\u0627\\u0646 \\u0627\\u0633\\u062a\\u00bb. \\u0646\\u062a\\u06cc\\u062c\\u0647 \\u0686\\u0647 \\u0628\\u0648\\u062f\\u061f \\u067e\\u0627\\u0633\\u062f\\u0627\\u0631\\u06a9\\u064f\\u0634\\u06cc \\u0622\\u0645\\u0627\\u0631\\u0647\\u0627\\u06cc \\u0639\\u062c\\u06cc\\u0628\\u06cc \\u062f\\u0627\\u0634\\u062a \\u0648 \\u0628\\u06cc\\u0634\\u062a\\u0631 \\u0645\\u0631\\u062f\\u0645 \\u0639\\u0627\\u062f\\u06cc \\u0628\\u0648\\u062f\\u0646\\u062f \\u06a9\\u0647 \\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u0645\\u06cc\\u0627\\u0646 \\u06a9\\u0634\\u062a\\u0647 \\u0645\\u06cc \\u0634\\u062f\\u0646\\u062f \\u0648 \\u0628\\u0631\\u0627\\u06cc \\u0645\\u062b\\u0627\\u0644 \\u0628\\u0646\\u0627 \\u0628\\u0647 \\u06af\\u0632\\u0627\\u0631\\u0634\\u06cc \\u0627\\u0632 \\u0645\\u0642\\u0627\\u0645\\u0627\\u062a \\u0645\\u0646\\u0627\\u0641\\u0642\\u06cc\\u0646 \\u0648\\u0636\\u0639\\u06cc\\u062a \\u0627\\u06cc\\u0646 \\u0637\\u0648\\u0631\\u06cc \\u0628\\u0648\\u062f: \\u00ab\\u0627\\u0632 \\u0622\\u063a\\u0627\\u0632 \\u0645\\u0631\\u062d\\u0644\\u0647 \\u062f\\u0648\\u0645 \\u0645\\u0642\\u0627\\u0648\\u0645\\u062a... \\u0628\\u06cc\\u0634 \\u0627\\u0632 \\u0647\\u0632\\u0627\\u0631 \\u062a\\u0646 \\u0627\\u0632 \\u0627\\u06cc\\u0627\\u062f\\u06cc \\u0631\\u0698\\u06cc\\u0645 \\u0628\\u0647 \\u062f\\u0633\\u062a \\u0648\\u0627\\u062d\\u062f\\u0647\\u0627\\u06cc \\u0639\\u0645\\u0644\\u06cc\\u0627\\u062a\\u06cc \\u0633\\u0627\\u0632\\u0645\\u0627\\u0646 \\u062f\\u0631 \\u062a\\u0647\\u0631\\u0627\\u0646\\u060c \\u06af\\u06cc\\u0644\\u0627\\u0646\\u060c \\u0645\\u0627\\u0632\\u0646\\u062f\\u0631\\u0627\\u0646\\u060c \\u0641\\u0627\\u0631\\u0633\\u060c \\u0647\\u0645\\u062f\\u0627\\u0646\\u060c \\u0627\\u0631\\u0627\\u06a9\\u060c \\u062e\\u0631\\u0627\\u0633\\u0627\\u0646\\u060c \\u0627\\u0635\\u0641\\u0647\\u0627\\u0646\\u060c \\u06a9\\u0631\\u062f\\u0633\\u062a\\u0627\\u0646 \\u0648... \\u0646\\u0627\\u0628\\u0648\\u062f \\u0634\\u062f\\u0647 \\u0627\\u0646\\u062f \\u06a9\\u0647 \\u06f2\\u06f8 \\u0646\\u0641\\u0631 \\u0627\\u0632 \\u0622\\u0646\\u0627\\u0646 \\u0627\\u0632 \\u0646\\u06cc\\u0631\\u0648\\u0647\\u0627\\u06cc \\u0633\\u067e\\u0627\\u0647 \\u067e\\u0627\\u0633\\u062f\\u0627\\u0631\\u0627\\u0646 \\u0628\\u0648\\u062f\\u0647 \\u0627\\u0646\\u062f\\u00bb. \\u0648\\u0636\\u0639\\u06cc\\u062a \\u0645\\u0639\\u0644\\u0648\\u0645 \\u0634\\u062f \\u0648 \\u0627\\u06cc\\u0646 \\u0647\\u0645 \\u06cc\\u06a9 \\u0633\\u0646\\u062f \\u062f\\u06cc\\u06af\\u0631 \\u0627\\u0632 \\u0646\\u0634\\u0631\\u06cc\\u0647 \\u0645\\u062c\\u0627\\u0647\\u062f: \\u00ab\\u0627\\u0632 \\u06f3\\u06f0 \\u062e\\u0631\\u062f\\u0627\\u062f \\u06f1\\u06f3\\u06f6\\u06f1 \\u062a\\u0627 \\u06f3\\u06f0 \\u062e\\u0631\\u062f\\u0627\\u062f \\u06f1\\u06f3\\u06f6\\u06f2\\u060c \\u062d\\u062f\\u0627\\u0642\\u0644 \\u06f2\\u06f8\\u06f0\\u06f0 \\u062a\\u0646 \\u0627\\u0632 \\u0645\\u0632\\u062f\\u0648\\u0631\\u0627\\u0646 \\u0631\\u0698\\u06cc\\u0645 \\u0628\\u0631 \\u0627\\u062b\\u0631 \\u0622\\u062a\\u0634 \\u0631\\u0632\\u0645\\u0646\\u062f\\u06af\\u0627\\u0646 \\u0645\\u062c\\u0627\\u0647\\u062f \\u0633\\u0627\\u0632\\u0645\\u0627\\u0646 \\u0628\\u0647 \\u0647\\u0644\\u0627\\u06a9\\u062a \\u0631\\u0633\\u06cc\\u062f\\u0647 \\u0627\\u0646\\u062f \\u06a9\\u0647 \\u06f4\\u06f0 \\u062a\\u0646 \\u0627\\u0632 \\u0622\\u0646\\u0627\\u0646 \\u0627\\u0632 \\u0646\\u06cc\\u0631\\u0648\\u0647\\u0627\\u06cc \\u067e\\u0627\\u0633\\u062f\\u0627\\u0631 \\u0628\\u0648\\u062f\\u0647 \\u0627\\u0646\\u062f\\u00bb. \\u067e\\u0627\\u06cc\\u0627\\u0646 \\u067e\\u06cc\\u0627\\u0645/\",\n \"\\u0628\\u0647 \\u06af\\u0632\\u0627\\u0631\\u0634 \\u062e\\u0628\\u0631\\u0646\\u06af\\u0627\\u0631 \\u0648\\u0631\\u0632\\u0634\\u06cc \\u062e\\u0628\\u0631\\u06af\\u0632\\u0627\\u0631\\u06cc \\u0641\\u0627\\u0631\\u0633\\u060c \\u0645\\u0631\\u0627\\u0633\\u0645 \\u062a\\u0642\\u062f\\u06cc\\u0631 \\u0627\\u0632 \\u0634\\u0647\\u0631\\u062f\\u0627\\u0631\\u0627\\u0646 \\u0637\\u0631\\u062d \\u0645\\u0644\\u06cc \\u00ab\\u0634\\u0647\\u0631 \\u0641\\u0639\\u0627\\u0644\\u00bb \\u0628\\u0639\\u062f\\u0627\\u0632\\u0638\\u0647\\u0631 \\u0627\\u0645\\u0631\\u0648\\u0632 \\u0633\\u0647 \\u0634\\u0646\\u0628\\u0647 \\u0628\\u0627 \\u062d\\u0636\\u0648\\u0631 \\u0633\\u06cc\\u062f\\u0631\\u0636\\u0627 \\u0635\\u0627\\u0644\\u062d\\u06cc \\u0627\\u0645\\u06cc\\u0631\\u06cc \\u0631\\u0626\\u06cc\\u0633 \\u06a9\\u0645\\u06cc\\u062a\\u0647 \\u0645\\u0644\\u06cc \\u0627\\u0644\\u0645\\u067e\\u06cc\\u06a9\\u060c \\u0627\\u0641\\u0634\\u06cc\\u0646 \\u0645\\u0644\\u0627\\u06cc\\u06cc \\u0631\\u0626\\u06cc\\u0633 \\u0641\\u062f\\u0631\\u0627\\u0633\\u06cc\\u0648\\u0646 \\u0648\\u0631\\u0632\\u0634\\u0647\\u0627\\u06cc \\u0647\\u0645\\u06af\\u0627\\u0646\\u06cc\\u060c \\u0639\\u0628\\u062f\\u0627\\u0644\\u062d\\u0645\\u06cc\\u062f \\u0627\\u062d\\u0645\\u062f\\u06cc \\u0645\\u0634\\u0627\\u0648\\u0631 \\u0631\\u0626\\u06cc\\u0633 \\u06a9\\u0645\\u06cc\\u062a\\u0647 \\u0645\\u0644\\u06cc \\u0627\\u0644\\u0645\\u067e\\u06cc\\u06a9 \\u0648 \\u0645\\u0639\\u0627\\u0648\\u0646 \\u0633\\u0627\\u0628\\u0642 \\u062a\\u0648\\u0633\\u0639\\u0647 \\u0648\\u0631\\u0632\\u0634 \\u0647\\u0645\\u06af\\u0627\\u0646\\u06cc \\u0648\\u0632\\u0627\\u0631\\u062a \\u0648\\u0631\\u0632\\u0634 \\u0648 \\u0634\\u0647\\u0631\\u062f\\u0627\\u0631\\u0627\\u0646 \\u0634\\u0647\\u0631\\u0647\\u0627\\u06cc \\u0645\\u0634\\u0627\\u0631\\u06a9\\u062a \\u06a9\\u0646\\u0646\\u062f\\u0647 \\u0627\\u06cc\\u0646 \\u0637\\u0631\\u062d \\u0645\\u0644\\u06cc \\u062f\\u0631 \\u0633\\u0627\\u0644\\u0646 \\u0641\\u0627\\u0631\\u0633\\u06cc \\u0622\\u06a9\\u0627\\u062f\\u0645\\u06cc \\u0645\\u0644\\u06cc \\u0627\\u0644\\u0645\\u067e\\u06cc\\u06a9 \\u0628\\u0631\\u06af\\u0632\\u0627\\u0631 \\u0634\\u062f.\\u00a0 * \\u0627\\u0641\\u0634\\u06cc\\u0646 \\u0645\\u0644\\u0627\\u06cc\\u06cc \\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u062c\\u0644\\u0633\\u0647 \\u0627\\u0638\\u0647\\u0627\\u0631\\u062f\\u0627\\u0634\\u062a: \\u06a9\\u0645 \\u062a\\u062d\\u0631\\u06a9\\u06cc \\u0686\\u0627\\u0644\\u0634 \\u0627\\u0645\\u0631\\u0648\\u0632 \\u0645\\u0627 \\u0648 \\u0628\\u062d\\u0631\\u0627\\u0646 \\u0641\\u0631\\u062f\\u0627\\u06cc \\u0627\\u06cc\\u0631\\u0627\\u0646 \\u0627\\u0633\\u062a\\u060c \\u0628\\u062d\\u0631\\u0627\\u0646\\u06cc \\u06a9\\u0647 \\u062e\\u0627\\u0646\\u0648\\u0627\\u062f\\u0647 \\u0647\\u0627\\u06cc \\u0627\\u06cc\\u0631\\u0627\\u0646\\u06cc \\u0631\\u0627 \\u062a\\u0647\\u062f\\u06cc\\u062f \\u0645\\u06cc \\u06a9\\u0646\\u062f . \\u067e\\u0631\\u0648\\u0698\\u0647 \\u0634\\u0647\\u0631 \\u0641\\u0639\\u0627\\u0644 \\u0647\\u0645 \\u067e\\u0627\\u0633\\u062e\\u06cc \\u0628\\u0647 \\u0627\\u06cc\\u0646 \\u0628\\u062d\\u0631\\u0627\\u0646 \\u0627\\u0633\\u062a. \\u0646\\u0642\\u0634 \\u0634\\u0647\\u0631\\u062f\\u0627\\u0631\\u0627\\u0646 \\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u0645\\u0648\\u0636\\u0648\\u0639 \\u06a9\\u0627\\u0646\\u0648\\u0646\\u06cc \\u0627\\u0633\\u062a \\u06cc\\u0639\\u0646\\u06cc \\u062a\\u0645\\u0627\\u0645 \\u0631\\u0648\\u06cc\\u062f\\u0627\\u062f\\u0647\\u0627\\u06cc\\u06cc \\u06a9\\u0647 \\u062f\\u0631 \\u0639\\u0631\\u0635\\u0647 \\u0648\\u0631\\u0632\\u0634 \\u0647\\u0645\\u06af\\u0627\\u0646\\u06cc \\u062f\\u0631 \\u062d\\u0627\\u0644 \\u0627\\u062c\\u0631\\u0627\\u0633\\u062a \\u062a\\u0627 \\u0648\\u0642\\u062a\\u06cc \\u0627\\u0632 \\u0646\\u06af\\u0627\\u0647 \\u0634\\u0647\\u0631\\u06cc \\u0639\\u0628\\u0648\\u0631 \\u0646\\u06a9\\u0646\\u062f\\u060c \\u0628\\u0647 \\u0646\\u062a\\u06cc\\u062c\\u0647 \\u0646\\u062e\\u0648\\u0627\\u0647\\u062f \\u0631\\u0633\\u06cc\\u062f.\\u00a0 * \\u0627\\u062c\\u0631\\u0627\\u06cc \\u0627\\u06cc\\u0646 \\u0628\\u0631\\u0646\\u0627\\u0645\\u0647 \\u0628\\u0631\\u0639\\u0647\\u062f\\u0647 \\u0645\\u062d\\u0645\\u062f\\u0631\\u0636\\u0627 \\u0627\\u062d\\u0645\\u062f\\u06cc \\u0628\\u0648\\u062f. \\u0648\\u06cc \\u062f\\u0631 \\u062e\\u0635\\u0648\\u0635 \\u062a\\u0634\\u06a9\\u06cc\\u0644 \\u0641\\u062f\\u0631\\u0627\\u0633\\u06cc\\u0648\\u0646 \\u062c\\u062f\\u06cc\\u062f \\u0622\\u0645\\u0627\\u062f\\u06af\\u06cc \\u062c\\u0633\\u0645\\u0627\\u0646\\u06cc \\u06a9\\u0646\\u0627\\u06cc\\u0647 \\u0632\\u062f \\u0648 \\u0628\\u0647 \\u0635\\u0627\\u0644\\u062d\\u06cc \\u0627\\u0645\\u06cc\\u0631\\u06cc \\u06af\\u0641\\u062a \\u06a9\\u0647 \\u0627\\u0632 \\u0627\\u06cc\\u0646 \\u0628\\u0647 \\u0628\\u0639\\u062f \\u0648\\u06cc \\u0628\\u0627\\u0628\\u062f \\u0628\\u0648\\u062f\\u062c\\u0647 \\u0627\\u06cc \\u0631\\u0627 \\u0647\\u0645 \\u0628\\u0647 \\u0627\\u06cc\\u0646 \\u0641\\u062f\\u0631\\u0627\\u0633\\u06cc\\u0648\\u0646 \\u062c\\u062f\\u06cc\\u062f \\u0627\\u062e\\u062a\\u0635\\u0627\\u0635 \\u062f\\u0647\\u062f.\\u00a0 * \\u0633\\u06cc\\u062f\\u0631\\u0636\\u0627 \\u0635\\u0627\\u0644\\u062d\\u06cc \\u0627\\u0645\\u06cc\\u0631\\u06cc \\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u0645\\u0631\\u0627\\u0633\\u0645 \\u06af\\u0641\\u062a: \\u062c\\u0627\\u0645\\u0639\\u0647 \\u0627\\u06cc\\u0631\\u0627\\u0646 \\u0627\\u0632 \\u0627\\u0646\\u0628\\u0648\\u0647\\u06cc \\u0622\\u0633\\u06cc\\u0628 \\u0647\\u0627\\u06cc \\u0627\\u062c\\u062a\\u0645\\u0627\\u0639\\u06cc \\u0631\\u0646\\u062c \\u0645\\u06cc \\u0628\\u0631\\u062f. \\u0645\\u0627 \\u062f\\u0686\\u0627\\u0631 \\u06cc\\u06a9 \\u0646\\u0648\\u0639 \\u0627\\u063a\\u062a\\u0634\\u0627\\u0634 \\u062f\\u0631 \\u0646\\u0638\\u0627\\u0645 \\u0628\\u0631\\u0646\\u0627\\u0645\\u0647 \\u0631\\u06cc\\u0632\\u06cc\\u060c \\u0646\\u0638\\u0627\\u0631\\u062a \\u0648 \\u0627\\u062c\\u0631\\u0627 \\u0647\\u0633\\u062a\\u06cc\\u0645 \\u0648 \\u0648\\u0636\\u0639\\u06cc\\u062a \\u0645\\u0634\\u0627\\u0631\\u06a9\\u062a \\u062f\\u0631 \\u0627\\u06cc\\u0631\\u0627\\u0646 \\u0628\\u0633\\u06cc\\u0627\\u0631 \\u067e\\u0627\\u06cc\\u06cc\\u0646 \\u0627\\u0633\\u062a. \\u0645\\u062f\\u06cc\\u0631\\u06cc\\u062a \\u0648 \\u0627\\u0644\\u06af\\u0648\\u06cc \\u0633\\u0628\\u06a9 \\u0632\\u0646\\u062f\\u06af\\u06cc \\u062f\\u0631 \\u0627\\u06cc\\u0631\\u0627\\u0646 \\u0646\\u0627\\u06a9\\u0627\\u0645 \\u0628\\u0648\\u062f\\u0647 \\u0686\\u0648\\u0646 \\u0632\\u06cc\\u0627\\u062f \\u0633\\u062e\\u0646 \\u0645\\u06cc \\u06af\\u0648\\u06cc\\u06cc\\u0645 \\u0648 \\u06a9\\u0645\\u062a\\u0631 \\u0639\\u0645\\u0644 \\u0645\\u06cc \\u06a9\\u0646\\u06cc\\u0645. \\u0647\\u0645\\u06af\\u0627\\u0646 \\u0645\\u062f\\u0639\\u06cc \\u0647\\u0633\\u062a\\u0646\\u062f \\u0627\\u0645\\u0627 \\u0627\\u062a\\u0641\\u0627\\u0642\\u06cc \\u0646\\u06cc\\u0641\\u062a\\u0627\\u062f\\u0647 \\u0627\\u0633\\u062a. \\u0645\\u0627 \\u0628\\u0627 \\u067e\\u062f\\u06cc\\u062f\\u0647 \\u0627\\u0632\\u062f\\u0648\\u0627\\u062c \\u0633\\u0641\\u06cc\\u062f\\u060c \\u0641\\u0631\\u0632\\u0646\\u062f\\u0627\\u0646 \\u0637\\u0644\\u0627\\u0642 \\u0648 . .. \\u0631\\u0648\\u0628\\u0647 \\u0631\\u0648 \\u0634\\u062f\\u0647 \\u0627\\u06cc\\u0645 \\u06a9\\u0647 \\u0645\\u0646 \\u062f\\u0631 \\u062a\\u062d\\u0644\\u06cc\\u0644\\u06cc \\u062f\\u0631 \\u06a9\\u062a\\u0627\\u0628\\u06cc \\u06a9\\u0647 \\u0646\\u0648\\u0634\\u062a\\u0647 \\u0627\\u0645 \\u0627\\u0634\\u0627\\u0631\\u0647 \\u06a9\\u0631\\u062f\\u0647 \\u0627\\u0645 \\u0641\\u0631\\u0648\\u067e\\u0627\\u0634\\u06cc \\u062e\\u0627\\u0646\\u0648\\u0627\\u062f\\u0647 \\u0628\\u0647 \\u0641\\u0631\\u0648\\u067e\\u0627\\u0634\\u06cc \\u0646\\u0638\\u0627\\u0645 \\u0645\\u06cc \\u0627\\u0646\\u062c\\u0627\\u0645\\u062f.\\u00a0 \\u0627\\u0646\\u062a\\u0647\\u0627\\u06cc \\u067e\\u06cc\\u0627\\u0645/\",\n \"\\u0633\\u06cc\\u062f \\u0639\\u0644\\u06cc \\u0627\\u0639\\u062a\\u062f\\u0627\\u0644\\u06cc \\u0645\\u062c\\u0631\\u06cc \\u0628\\u0631\\u06af\\u0632\\u0627\\u0631\\u06cc \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u062e\\u062f\\u0645\\u0627\\u062a \\u0634\\u0647\\u0631\\u06cc \\u062f\\u0631 \\u06af\\u0641\\u062a \\u0648\\u06af\\u0648 \\u0628\\u0627 \\u062e\\u0628\\u0631\\u0646\\u06af\\u0627\\u0631 \\u0641\\u0627\\u0631\\u0633 \\u0628\\u0627 \\u0627\\u0634\\u0627\\u0631\\u0647 \\u0628\\u0647 \\u0627\\u06cc\\u0646\\u06a9\\u0647 \\u0647\\u062c\\u062f\\u0647\\u0645\\u06cc\\u0646 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u062d\\u0645\\u0644 \\u0648 \\u0646\\u0642\\u0644 \\u062a\\u0631\\u0627\\u0641\\u06cc\\u06a9\\u060c \\u062e\\u062f\\u0645\\u0627\\u062a \\u0634\\u0647\\u0631\\u06cc\\u060c \\u0634\\u0647\\u0631 \\u0647\\u0648\\u0634\\u0645\\u0646\\u062f\\u060c \\u0645\\u062f\\u06cc\\u0631\\u06cc\\u062a \\u062c\\u0627\\u0645\\u0639 \\u0634\\u0647\\u0631\\u06cc\\u060c \\u0645\\u0627\\u0634\\u06cc\\u0646 \\u0622\\u0644\\u0627\\u062a \\u0633\\u0646\\u06af\\u06cc\\u0646 \\u0648\\u0627\\u0628\\u0633\\u062a\\u0647 \\u0627\\u0645\\u0633\\u0627\\u0644 \\u062f\\u0631 \\u0641\\u0636\\u0627\\u06cc 16 \\u0647\\u0632\\u0627\\u0631 \\u0645\\u062a\\u0631\\u06cc \\u062f\\u0631 \\u0645\\u062d\\u0644 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u0647\\u0627\\u06cc \\u0628\\u06cc\\u0646 \\u0627\\u0644\\u0645\\u0644\\u0644\\u06cc \\u0634\\u0647\\u0631 \\u0622\\u0641\\u062a\\u0627\\u0628 \\u0627\\u0632 27\\u00a0 \\u062a\\u0627 30\\u0645\\u0647\\u0631\\u0645\\u0627\\u0647 \\u0628\\u0631\\u06af\\u0632\\u0627\\u0631 \\u0645\\u06cc \\u0634\\u0648\\u062f\\u060c \\u06af\\u0641\\u062a: \\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 130 \\u0634\\u0631\\u06a9\\u062a \\u062d\\u0636\\u0648\\u0631 \\u062e\\u0648\\u0627\\u0647\\u0646\\u062f \\u062f\\u0627\\u0634\\u062a. \\u0648\\u06cc \\u0627\\u0641\\u0632\\u0648\\u062f: \\u0633\\u0627\\u0639\\u062a \\u0628\\u0627\\u0632\\u062f\\u06cc\\u062f \\u0627\\u06cc\\u0646 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u06a9\\u0647 9 \\u0635\\u0628\\u062d \\u062a\\u0627 5 \\u0639\\u0635\\u0631 \\u062f\\u0631 \\u0646\\u0638\\u0631 \\u06af\\u0631\\u0641\\u062a\\u0647 \\u0634\\u062f\\u0647 \\u0627\\u0633\\u062a. \\u0627\\u0639\\u062a\\u062f\\u0627\\u0644\\u06cc \\u0634\\u0639\\u0627\\u0631 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u0627\\u0645\\u0633\\u0627\\u0644 \\u0631\\u0627 \\u00ab\\u0634\\u0647\\u0631\\u062f\\u0627\\u0646\\u0634 \\u0628\\u0646\\u06cc\\u0627\\u0646\\u060c \\u0634\\u0647\\u0631\\u06a9\\u0627\\u0631\\u0622\\u0641\\u0631\\u06cc\\u0646\\u00bb \\u0639\\u0646\\u0648\\u0627\\u0646 \\u06a9\\u0631\\u062f \\u0648 \\u06af\\u0641\\u062a: \\u0627\\u06cc\\u0646 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u0628\\u0627 \\u0631\\u0648\\u06cc\\u06a9\\u0631\\u062f \\u062a\\u0648\\u0644\\u06cc\\u062f \\u0627\\u06cc\\u0631\\u0627\\u0646\\u06cc \\u0648 \\u062f\\u0627\\u0646\\u0634 \\u0628\\u0646\\u06cc\\u0627\\u0646 \\u062f\\u0631 \\u062a\\u0648\\u0633\\u0639\\u0647 \\u0634\\u0647\\u0631\\u0647\\u0627\\u06cc \\u06a9\\u0634\\u0648\\u0631 \\u0627\\u062c\\u0631\\u0627 \\u0645\\u06cc \\u0634\\u0648\\u062f \\u0648 \\u0639\\u0631\\u0635\\u0647 \\u0627\\u06cc \\u0628\\u0631\\u0627\\u06cc \\u0646\\u0645\\u0627\\u06cc\\u0634 \\u062a\\u0648\\u0627\\u0646\\u0645\\u0646\\u062f\\u06cc \\u0647\\u0627\\u06cc \\u0627\\u062c\\u0631\\u0627\\u06cc\\u06cc \\u0648 \\u062f\\u0633\\u062a\\u0627\\u0648\\u0631\\u062f \\u06a9\\u0644\\u06cc\\u0647 \\u0645\\u0631\\u0627\\u06a9\\u0632\\u060c \\u0627\\u0631\\u06af\\u0627\\u0646 \\u0647\\u0627 \\u0648 \\u0634\\u0631\\u06a9\\u062a \\u0647\\u0627\\u06cc \\u0641\\u0639\\u0627\\u0644 \\u0627\\u06cc\\u0631\\u0627\\u0646\\u06cc \\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u062d\\u0648\\u0632\\u0647 \\u0627\\u0633\\u062a. \\u0645\\u062c\\u0631\\u06cc \\u0628\\u0631\\u06af\\u0632\\u0627\\u0631\\u06cc \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u062e\\u062f\\u0645\\u0627\\u062a \\u0634\\u0647\\u0631\\u06cc \\u062d\\u0645\\u0627\\u06cc\\u062a \\u0627\\u0632 \\u0627\\u0642\\u062a\\u0635\\u0627\\u062f \\u062f\\u0627\\u0646\\u0634 \\u0628\\u0646\\u06cc\\u0627\\u0646 \\u0648 \\u06a9\\u0633\\u0628 \\u0648 \\u06a9\\u0627\\u0631\\u0647\\u0627\\u06cc \\u0645\\u0648\\u0641\\u0642\\u060c \\u062d\\u0645\\u0627\\u06cc\\u062a \\u0627\\u0632 \\u0634\\u0631\\u06a9\\u062a \\u0647\\u0627\\u06cc \\u062e\\u0635\\u0648\\u0635\\u06cc \\u0648 \\u06a9\\u0645\\u06a9 \\u0628\\u0647 \\u062a\\u0648\\u0633\\u0639\\u0647 \\u062f\\u0627\\u0646\\u0634 \\u0628\\u0646\\u06cc\\u0627\\u0646 \\u0647\\u0627\\u060c \\u0647\\u0645\\u0686\\u0646\\u06cc\\u0646 \\u062a\\u0639\\u0627\\u0645\\u0644 \\u0648 \\u0639\\u0631\\u0636\\u0647 \\u0648 \\u062a\\u0642\\u0627\\u0636\\u0627 \\u0628\\u06cc\\u0646 \\u0634\\u0631\\u06a9\\u062a \\u0647\\u0627\\u06cc \\u062a\\u0648\\u0644\\u06cc\\u062f\\u06a9\\u0646\\u0646\\u062f\\u0647 \\u0648 \\u0628\\u0647\\u0631\\u0647 \\u0628\\u0631\\u062f\\u0627\\u0631 \\u0631\\u0627 \\u0627\\u0632 \\u062f\\u06cc\\u06af\\u0631 \\u0627\\u0647\\u062f\\u0627\\u0641 \\u0627\\u06cc\\u0646 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u0628\\u0631\\u0634\\u0645\\u0631\\u062f. \\u0648\\u06cc \\u0627\\u0632 \\u0631\\u0648\\u0646\\u0645\\u0627\\u06cc\\u06cc \\u0686\\u0646\\u062f \\u0645\\u062d\\u0635\\u0648\\u0644 \\u062c\\u062f\\u06cc\\u062f \\u0648 \\u0628\\u0631\\u06af\\u0632\\u0627\\u0631\\u06cc \\u06a9\\u0627\\u0631\\u06af\\u0627\\u0647 \\u0622\\u0645\\u0648\\u0632\\u0634\\u06cc \\u062f\\u0631 \\u062d\\u0627\\u0634\\u06cc\\u0647 \\u0627\\u06cc\\u0646 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u062e\\u0628\\u0631\\u062f\\u0627\\u062f \\u0648 \\u06af\\u0641\\u062a: \\u0627\\u06cc\\u0646 \\u0631\\u0648\\u0646\\u0645\\u0627\\u06cc\\u06cc \\u0647\\u0627 \\u0645\\u0631\\u0628\\u0648\\u0637 \\u0628\\u0647 \\u0645\\u062d\\u0635\\u0648\\u0644\\u0627\\u062a \\u062c\\u062f\\u06cc\\u062f \\u0634\\u0631\\u06a9\\u062a \\u0647\\u0627\\u06cc \\u062f\\u0627\\u0646\\u0634 \\u0628\\u0646\\u06cc\\u0627\\u0646 \\u062e\\u0648\\u0627\\u0647\\u062f \\u0628\\u0648\\u062f. \\u0627\\u0639\\u062a\\u062f\\u0627\\u0644\\u06cc \\u0628\\u0627 \\u0627\\u0634\\u0627\\u0631\\u0647 \\u0628\\u0647 \\u0627\\u06cc\\u0646\\u06a9\\u0647 \\u0645\\u062e\\u0627\\u0637\\u0628 \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u062e\\u062f\\u0645\\u0627\\u062a \\u0634\\u0647\\u0631\\u06cc \\u0639\\u0645\\u0648\\u0645\\u0627 \\u0645\\u062f\\u06cc\\u0631\\u0627\\u0646 \\u0634\\u0647\\u0631\\u06cc \\u0648 \\u0634\\u0647\\u0631\\u062f\\u0627\\u0631\\u06cc \\u0647\\u0627 \\u0647\\u0633\\u062a\\u0646\\u062f\\u060c \\u06af\\u0641\\u062a: \\u0628\\u0647 \\u0647\\u0645\\u06cc\\u0646 \\u062f\\u0644\\u06cc\\u0644 \\u0628\\u0631\\u06af\\u0632\\u0627\\u0631\\u06cc \\u0646\\u0645\\u0627\\u06cc\\u0634\\u06af\\u0627\\u0647 \\u062f\\u0631 \\u0645\\u062c\\u0645\\u0648\\u0639\\u0647 \\u0634\\u0647\\u0631 \\u0622\\u0641\\u062a\\u0627\\u0628 \\u0628\\u0647 \\u062a\\u0645\\u0631\\u06a9\\u0632 \\u0628\\u06cc\\u0634\\u062a\\u0631 \\u0648 \\u062f\\u06cc\\u062f\\u0647 \\u0634\\u062f\\u0646 \\u0634\\u0631\\u06a9\\u062a \\u0647\\u0627\\u06cc \\u0641\\u0639\\u0627\\u0644 \\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u062d\\u0648\\u0632\\u0647 \\u06a9\\u0645\\u06a9 \\u0645\\u06cc \\u06a9\\u0646\\u062f. \\u067e\\u0627\\u06cc\\u0627\\u0646 \\u067e\\u06cc\\u0627\\u0645/\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"label\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"economy\",\n \"sports\",\n \"politics\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
460 | }
461 | },
462 | "metadata": {},
463 | "execution_count": 3
464 | }
465 | ],
466 | "source": [
467 | "df = pd.read_csv(\"/content/drive/MyDrive/get news/farsnews/farsnews_fainal.csv\")\n",
468 | "\n",
469 | "df = df.drop(['Unnamed: 0', 'date'], axis=1)\n",
470 | "df = df.dropna()\n",
471 | "df.head(5)"
472 | ]
473 | },
474 | {
475 | "cell_type": "code",
476 | "execution_count": 4,
477 | "metadata": {
478 | "id": "DDvlsvAWGWgV"
479 | },
480 | "outputs": [],
481 | "source": [
482 | "class preprocessing:\n",
483 | " def __init__(self):\n",
484 | " pass\n",
485 | "\n",
486 | " def _remove_diacritics(self, text):\n",
487 | " text = re.sub(arabic_diacritics, '', text)\n",
488 | " return text\n",
489 | "\n",
490 | "\n",
491 | " def _remove_crash_data(self, text):\n",
492 | " if isinstance(text, str):\n",
493 | " return text\n",
494 | " else:\n",
495 | " return None\n",
496 | "\n",
497 | " def _remove_punctuations(self, text):\n",
498 | " translator = str.maketrans('', '', punctuations_list)\n",
499 | " return text.translate(translator)\n",
500 | "\n",
501 | " def _remove_repeating_char(self, text):\n",
502 | " return re.sub(r'(.)\\1+', r'\\1', text)\n",
503 | "\n",
504 | "\n",
505 | " def _normalize_persian(self, text):\n",
506 | " text = re.sub(\"[إأآا]\", \"ا\", text)\n",
507 | " text = re.sub(\"ي\", \"ی\", text)\n",
508 | " text = re.sub(\"ؤ\", \"و\", text)\n",
509 | " text = re.sub(\"ئ\", \"ی\", text)\n",
510 | " text = re.sub(\"ة\", \"ه\", text)\n",
511 | " text = re.sub(\"ك\" ,\"ک\" , text)\n",
512 | " text = re.sub(\"[^ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]\", \" \", text)\n",
513 | " text = re.sub(\"[^\\S\\n\\t]+\", ' ', text)\n",
514 | " text = normalizer.normalize(text)\n",
515 | " return text\n",
516 | "\n",
517 | "\n",
518 | " def _tokenize(self, text):\n",
519 | " return word_tokenize(text)\n",
520 | "\n",
521 | " def _remove_stopwords(self, words):\n",
522 | " return [word for word in words if word not in stop_words and len(word) > 2]\n",
523 | "\n",
524 | " def _lemmatizer(self, words):\n",
525 | " result = list()\n",
526 | " for token in words:\n",
527 | " result.append(lemmatizer.lemmatize(token))\n",
528 | " return self._remove_stopwords(result)"
529 | ]
530 | },
531 | {
532 | "cell_type": "code",
533 | "execution_count": 5,
534 | "metadata": {
535 | "colab": {
536 | "base_uri": "https://localhost:8080/",
537 | "height": 241,
538 | "referenced_widgets": [
539 | "6baf6a0ea60a423dbf7ffac0f5761e5c",
540 | "de6a7c5ce5284507aa82b1d4c0170393",
541 | "da8a4395ea2440f5875788f328419627",
542 | "225e86d7282b4b509f6b62f7899a243a",
543 | "0d7a51735dab4d549937b5e7e53591ba",
544 | "f31a2928f25b4fe78eeb69530f6a63d5",
545 | "1cf5fc27417a47c98e49ec203f33a2f2",
546 | "ac0186ce68c448e6b6259e3a2ebd46dd",
547 | "ef21bc1c2dd540ab98ea755c235eb156",
548 | "39ad9fa51dd040e6a920d27de9cc6f14",
549 | "6fd3144a82c14c7c95341193cb23b919",
550 | "fd9d2b5c879b4bf3bd4a98ad1652e046",
551 | "a114e175966c4c53b4ca8fcb4495a215",
552 | "5637b79669534291b55d68de556a7e52",
553 | "115837e3aed4403798cd17b5b1ead02d",
554 | "c71687f02e3b4066920152385763efb7",
555 | "ddeb7dc1af44465e83e662f3278a4ff1",
556 | "ea21f28286484130a45c3c537cac8b80",
557 | "3255e852649a4ee889330c1f209f1fcf",
558 | "0b8a896d3321495388be9ef990537d66",
559 | "5ff9d1e9c0b943aa9fbd46e73d5d26c8",
560 | "581443f16d324e3d9604f786d495d27d",
561 | "ae2e51d3d5014fa4a1cb602d0adcfca3",
562 | "306577b615234f1fab6dd7e5c01ac654",
563 | "ac745dae99444b91befa52b2328f42d6",
564 | "fab1d434c00a4bc7a202b94265cefd10",
565 | "9c35b59e342440d7a2168f8af58474ae",
566 | "d04f3ceea2e14c0ca79957017a6d106d",
567 | "fa2cd250648b42448d2b87bf69786806",
568 | "7c03309dca71444fb21a257e647830b4",
569 | "031edc1cc43e40abb8b53aeb75d02fe4",
570 | "54778f911d1942b7870f2e15204c4086",
571 | "6d98087402f5451d801cdefc9166fef4",
572 | "c8a65b8bbd8246c5a6779d605a15acda",
573 | "3e90afc7b1bd44f79180145ca551dfc5",
574 | "ecfd7754da16443e83c6dac4f0bf02c3",
575 | "168127473db44622972c91bcb69180eb",
576 | "ebd6950b63644a1ea4625b662fb78ae0",
577 | "841b320404c14f28af512b7809793e0a",
578 | "8891e9873adf43aba1285634f9ee3e60",
579 | "19744e7597894884814efeac0508d6e8",
580 | "4d30c02dc2ed4d728e44b540d57dd1a2",
581 | "c47744d043594db1ba02e170e22d1965",
582 | "3de3f487470a4c8abe8016e5f256cdce",
583 | "ad7d2b4774cd4181b4bbd0a3588f7cb4",
584 | "6f4f74e433c34b32b4874e717151cdc5",
585 | "11d6a99882fe440bb2e437d990656bbd",
586 | "71c90889df844b66af254e7af3087cc0",
587 | "d098d2b9a5d54d7fbed72fb602c3c9bd",
588 | "353c5973a79b402e92f2140b436e6c1d",
589 | "32dc283e573543c78866f706a5f93821",
590 | "fa75dee6148d400eb308a1a074d347f8",
591 | "35c78d8f8a874b1f84c8ee9af7fd983a",
592 | "d139ecb729a8412186359f745633608d",
593 | "cba0438ee33240c487effa861e7ef120",
594 | "44c526d02a4e4ccc8a8ceba0f3048b62",
595 | "406deff2072444be8ff157c18a0a3db4",
596 | "79e5bab57f704e729df0e6fb154ca65e",
597 | "dbdc4d1ccbf347038c546871ce61c162",
598 | "1245d881567d4a76ac1bd009d75e485b",
599 | "bc4a9355999047aa8f74658eefc57ac5",
600 | "12cda2b1613a4acc808542ee5bbe61d2",
601 | "1a21df1ffde5404a9c4d6f26b5b48f80",
602 | "69dbb3ac985f4ec58d309475bb7f6197",
603 | "0babb170cc3346b1bed2598728795253",
604 | "8b2b275049f34f8f858229ac032badc7",
605 | "e7ca008ce8ca4d659d918adb6d801c3a",
606 | "0d9e005f6d9a43d9b6e0817a7da29fe1",
607 | "a8e26ade5f19471b8f7bada0d0fa0992",
608 | "954cdf24e128439e85cb713a714308e0",
609 | "26160ed6b8bc45fc8f3c24077c4b47e7",
610 | "2bee186efbbc489aae07101939c02953",
611 | "13d35f069c69446ba91e53df0858cdd3",
612 | "cb2a3803b4814a6ea7ce4e0b0f1e8bff",
613 | "aa82c8e2500740a5906e80304eedcca9",
614 | "0d7cb55684f146128c57da44db95ae5c",
615 | "085a2bb9d5024835a4f834a4f251c9d7"
616 | ]
617 | },
618 | "id": "YTw9q4LhGYHM",
619 | "outputId": "9eae4e03-22fb-4004-fc6b-a6e6d2167e77"
620 | },
621 | "outputs": [
622 | {
623 | "output_type": "display_data",
624 | "data": {
625 | "text/plain": [
626 | " 0%| | 0/16 [00:00, ?it/s]"
627 | ],
628 | "application/vnd.jupyter.widget-view+json": {
629 | "version_major": 2,
630 | "version_minor": 0,
631 | "model_id": "6baf6a0ea60a423dbf7ffac0f5761e5c"
632 | }
633 | },
634 | "metadata": {}
635 | },
636 | {
637 | "output_type": "display_data",
638 | "data": {
639 | "text/plain": [
640 | " 0%| | 0/16 [00:00, ?it/s]"
641 | ],
642 | "application/vnd.jupyter.widget-view+json": {
643 | "version_major": 2,
644 | "version_minor": 0,
645 | "model_id": "fd9d2b5c879b4bf3bd4a98ad1652e046"
646 | }
647 | },
648 | "metadata": {}
649 | },
650 | {
651 | "output_type": "display_data",
652 | "data": {
653 | "text/plain": [
654 | " 0%| | 0/16 [00:00, ?it/s]"
655 | ],
656 | "application/vnd.jupyter.widget-view+json": {
657 | "version_major": 2,
658 | "version_minor": 0,
659 | "model_id": "ae2e51d3d5014fa4a1cb602d0adcfca3"
660 | }
661 | },
662 | "metadata": {}
663 | },
664 | {
665 | "output_type": "display_data",
666 | "data": {
667 | "text/plain": [
668 | " 0%| | 0/16 [00:00, ?it/s]"
669 | ],
670 | "application/vnd.jupyter.widget-view+json": {
671 | "version_major": 2,
672 | "version_minor": 0,
673 | "model_id": "c8a65b8bbd8246c5a6779d605a15acda"
674 | }
675 | },
676 | "metadata": {}
677 | },
678 | {
679 | "output_type": "display_data",
680 | "data": {
681 | "text/plain": [
682 | " 0%| | 0/16 [00:00, ?it/s]"
683 | ],
684 | "application/vnd.jupyter.widget-view+json": {
685 | "version_major": 2,
686 | "version_minor": 0,
687 | "model_id": "ad7d2b4774cd4181b4bbd0a3588f7cb4"
688 | }
689 | },
690 | "metadata": {}
691 | },
692 | {
693 | "output_type": "display_data",
694 | "data": {
695 | "text/plain": [
696 | " 0%| | 0/16 [00:00, ?it/s]"
697 | ],
698 | "application/vnd.jupyter.widget-view+json": {
699 | "version_major": 2,
700 | "version_minor": 0,
701 | "model_id": "44c526d02a4e4ccc8a8ceba0f3048b62"
702 | }
703 | },
704 | "metadata": {}
705 | },
706 | {
707 | "output_type": "display_data",
708 | "data": {
709 | "text/plain": [
710 | " 0%| | 0/16 [00:00, ?it/s]"
711 | ],
712 | "application/vnd.jupyter.widget-view+json": {
713 | "version_major": 2,
714 | "version_minor": 0,
715 | "model_id": "e7ca008ce8ca4d659d918adb6d801c3a"
716 | }
717 | },
718 | "metadata": {}
719 | }
720 | ],
721 | "source": [
722 | "\n",
723 | "pp = preprocessing()\n",
724 | "df['title - preproces'] = df['title'].mapply(pp._remove_diacritics)\n",
725 | "df['title - preproces'] = df['title - preproces'].mapply(pp._remove_punctuations)\n",
726 | "df['title - preproces'] = df['title - preproces'].mapply(pp._remove_repeating_char)\n",
727 | "df['title - preproces'] = df['title - preproces'].mapply(pp._normalize_persian)\n",
728 | "df['title - preproces'] = df['title - preproces'].mapply(pp._tokenize)\n",
729 | "df['title - preproces'] = df['title - preproces'].mapply(pp._remove_stopwords)\n",
730 | "df['title - preproces'] = df['title - preproces'].mapply(pp._lemmatizer)"
731 | ]
732 | },
733 | {
734 | "cell_type": "markdown",
735 | "metadata": {
736 | "id": "ShsCTW3HXF6M"
737 | },
738 | "source": [
739 | "# Data\n",
740 | "\n"
741 | ]
742 | },
743 | {
744 | "cell_type": "markdown",
745 | "metadata": {
746 | "id": "duBm_XSbXODb"
747 | },
748 | "source": [
749 | "## apply word2vec"
750 | ]
751 | },
752 | {
753 | "cell_type": "code",
754 | "execution_count": 6,
755 | "metadata": {
756 | "colab": {
757 | "base_uri": "https://localhost:8080/"
758 | },
759 | "id": "sRgwSd1SG8c_",
760 | "outputId": "d761dcd3-5832-4df0-c02d-f94dd57a0076"
761 | },
762 | "outputs": [
763 | {
764 | "output_type": "stream",
765 | "name": "stderr",
766 | "text": [
767 | ":10: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at /pytorch/torch/csrc/utils/tensor_new.cpp:254.)\n",
768 | " return torch.tensor(vectors, dtype=torch.float)\n"
769 | ]
770 | },
771 | {
772 | "output_type": "stream",
773 | "name": "stdout",
774 | "text": [
775 | "torch.Size([64942, 24, 100])\n"
776 | ]
777 | }
778 | ],
779 | "source": [
780 | "sentences = df['title - preproces'].tolist()\n",
781 | "w2v_model = Word2Vec(sentences=sentences, vector_size=100, window=5, min_count=1, workers=4)\n",
782 | "\n",
783 | "max_length = max(len(tokens) for tokens in sentences)\n",
784 | "\n",
785 | "def transform_text_to_tensor(tokens, model, max_length):\n",
786 | " vectors = [model.wv[token] for token in tokens if token in model.wv]\n",
787 | " while len(vectors) < max_length:\n",
788 | " vectors.append(np.zeros(model.vector_size))\n",
789 | " return torch.tensor(vectors, dtype=torch.float)\n",
790 | "\n",
791 | "tensor_list = [transform_text_to_tensor(tokens, w2v_model, max_length) for tokens in sentences]\n",
792 | "final_tensor = torch.stack(tensor_list)\n",
793 | "print(final_tensor.shape)"
794 | ]
795 | },
796 | {
797 | "cell_type": "markdown",
798 | "metadata": {
799 | "id": "zsoXznbJXIeL"
800 | },
801 | "source": [
802 | "## Split the data into Train and Test\n"
803 | ]
804 | },
805 | {
806 | "cell_type": "code",
807 | "execution_count": 7,
808 | "metadata": {
809 | "id": "B60el6r0XdeJ"
810 | },
811 | "outputs": [],
812 | "source": [
813 | "X_train, X_test, y_train, y_test = train_test_split(final_tensor, df[\"label\"].values, test_size=0.2, random_state=42)"
814 | ]
815 | },
816 | {
817 | "cell_type": "markdown",
818 | "metadata": {
819 | "id": "wJZQOdlfXUfy"
820 | },
821 | "source": [
822 | "## Convert to torch.Tensor\n"
823 | ]
824 | },
825 | {
826 | "cell_type": "code",
827 | "execution_count": 8,
828 | "metadata": {
829 | "id": "MmNYBMF_XbPd"
830 | },
831 | "outputs": [],
832 | "source": [
833 | "label_encoder = LabelEncoder()\n",
834 | "y_train = label_encoder.fit_transform(y_train)\n",
835 | "y_test = label_encoder.transform(y_test)\n",
836 | "y_train = torch.tensor(y_train, dtype=torch.long)\n",
837 | "y_test = torch.tensor(y_test, dtype=torch.long)"
838 | ]
839 | },
840 | {
841 | "cell_type": "markdown",
842 | "metadata": {
843 | "id": "POqNLxPpXj8Q"
844 | },
845 | "source": [
846 | "## Dataset and DataLoader\n"
847 | ]
848 | },
849 | {
850 | "cell_type": "code",
851 | "execution_count": 9,
852 | "metadata": {
853 | "id": "_C2eMTd7O97y"
854 | },
855 | "outputs": [],
856 | "source": [
857 | "class TextDataset(Dataset):\n",
858 | " def __init__(self, X, y):\n",
859 | " self.X = X.unsqueeze(1) # Adding the channel dimension: (batch_size, 1, seq_len, embedding_dim)\n",
860 | " self.y = y\n",
861 | "\n",
862 | " def __len__(self):\n",
863 | " return len(self.X)\n",
864 | "\n",
865 | " def __getitem__(self, idx):\n",
866 | " return self.X[idx], self.y[idx]\n",
867 | "\n",
868 | "train_dataset = TextDataset(X_train, y_train)\n",
869 | "test_dataset = TextDataset(X_test, y_test)\n",
870 | "train_loader = DataLoader(train_dataset, batch_size=100, shuffle=True)\n",
871 | "test_loader = DataLoader(test_dataset, batch_size=100, shuffle=False)"
872 | ]
873 | },
874 | {
875 | "cell_type": "markdown",
876 | "metadata": {
877 | "id": "JiR0Z1iKXps6"
878 | },
879 | "source": [
880 | "# Define the CNN model\n",
881 | "\n",
882 | "\n",
883 | "\n",
884 | "## Model Architecture\n",
885 | "The `TextCNN` model consists of:\n",
886 | "- Convolutional layers with varying kernel sizes (3, 4, 5) to capture different n-gram features.\n",
887 | "- ReLU activation function.\n",
888 | "- Max pooling layers to retain the most important features from each filter.\n",
889 | "- A fully connected layer for classification.\n",
890 | "- Dropout for regularization.\n",
891 | "\n"
892 | ]
893 | },
894 | {
895 | "cell_type": "code",
896 | "execution_count": 10,
897 | "metadata": {
898 | "id": "fuLigzNHH75E"
899 | },
900 | "outputs": [],
901 | "source": [
902 | "class TextCNN(nn.Module):\n",
903 | " def __init__(self, embedding_dim, num_filters, num_classes, dropout=0.5):\n",
904 | " super(TextCNN, self).__init__()\n",
905 | "\n",
906 | " self.conv1 = nn.Conv2d(in_channels=1, out_channels=num_filters, kernel_size=(3, embedding_dim))\n",
907 | " self.conv2 = nn.Conv2d(in_channels=1, out_channels=num_filters, kernel_size=(4, embedding_dim))\n",
908 | " self.conv3 = nn.Conv2d(in_channels=1, out_channels=num_filters, kernel_size=(5, embedding_dim))\n",
909 | "\n",
910 | " self.dropout = nn.Dropout(dropout)\n",
911 | " self.fc = nn.Linear(num_filters * 3, num_classes)\n",
912 | "\n",
913 | " def forward(self, x):\n",
914 | " x1 = F.relu(self.conv1(x)).squeeze(3)\n",
915 | " x2 = F.relu(self.conv2(x)).squeeze(3)\n",
916 | " x3 = F.relu(self.conv3(x)).squeeze(3)\n",
917 | "\n",
918 | " x1 = F.max_pool1d(x1, kernel_size=x1.size(2)).squeeze(2)\n",
919 | " x2 = F.max_pool1d(x2, kernel_size=x2.size(2)).squeeze(2)\n",
920 | " x3 = F.max_pool1d(x3, kernel_size=x3.size(2)).squeeze(2)\n",
921 | "\n",
922 | " x = torch.cat([x1, x2, x3], dim=1)\n",
923 | " x = self.dropout(x)\n",
924 | " logits = self.fc(x)\n",
925 | " return logits\n"
926 | ]
927 | },
928 | {
929 | "cell_type": "markdown",
930 | "metadata": {
931 | "id": "lB6XMveeYDSC"
932 | },
933 | "source": [
934 | "## Train the model\n",
935 | "\n",
936 | "\n",
937 | "\n",
938 | "### Hyperparameters\n",
939 | "Several hyperparameters are used in training the TextCNN model:\n",
940 | "- `embedding_dim`: The size of the word embeddings (e.g., 100, 300). This determines the dimensionality of word representations.\n",
941 | "- `num_filters`: The number of filters in each convolutional layer. A higher number allows the model to capture more features.\n",
942 | "- `num_classes`: The number of output classes for classification.\n",
943 | "- `dropout`: The dropout rate used for regularization to prevent overfitting.\n",
944 | "- `learning_rate`: The step size for the Adam optimizer. Typically set to 0.001.\n",
945 | "- `num_epochs`: The number of training iterations over the dataset.\n",
946 | "- `batch_size`: The number of samples processed before updating the model weights.\n"
947 | ]
948 | },
949 | {
950 | "cell_type": "code",
951 | "execution_count": 11,
952 | "metadata": {
953 | "colab": {
954 | "base_uri": "https://localhost:8080/"
955 | },
956 | "id": "F6Ic5Gx7OP9C",
957 | "outputId": "d74f64db-7200-477c-d432-957d9b37796e"
958 | },
959 | "outputs": [
960 | {
961 | "output_type": "stream",
962 | "name": "stdout",
963 | "text": [
964 | "Epoch 1/25, Loss: 0.8109\n",
965 | "Epoch 2/25, Loss: 0.7159\n",
966 | "Epoch 3/25, Loss: 0.6884\n",
967 | "Epoch 4/25, Loss: 0.6679\n",
968 | "Epoch 5/25, Loss: 0.6549\n",
969 | "Epoch 6/25, Loss: 0.6437\n",
970 | "Epoch 7/25, Loss: 0.6369\n",
971 | "Epoch 8/25, Loss: 0.6282\n",
972 | "Epoch 9/25, Loss: 0.6220\n",
973 | "Epoch 10/25, Loss: 0.6153\n",
974 | "Epoch 11/25, Loss: 0.6121\n",
975 | "Epoch 12/25, Loss: 0.6029\n",
976 | "Epoch 13/25, Loss: 0.5987\n",
977 | "Epoch 14/25, Loss: 0.5952\n",
978 | "Epoch 15/25, Loss: 0.5936\n",
979 | "Epoch 16/25, Loss: 0.5910\n",
980 | "Epoch 17/25, Loss: 0.5841\n",
981 | "Epoch 18/25, Loss: 0.5823\n",
982 | "Epoch 19/25, Loss: 0.5806\n",
983 | "Epoch 20/25, Loss: 0.5758\n",
984 | "Epoch 21/25, Loss: 0.5720\n",
985 | "Epoch 22/25, Loss: 0.5702\n",
986 | "Epoch 23/25, Loss: 0.5696\n",
987 | "Epoch 24/25, Loss: 0.5606\n",
988 | "Epoch 25/25, Loss: 0.5618\n"
989 | ]
990 | }
991 | ],
992 | "source": [
993 | "# Model, loss function, and optimizer\n",
994 | "embedding_dim = 100\n",
995 | "num_filters = 100\n",
996 | "num_classes = len(set(df[\"label\"]))\n",
997 | "model = TextCNN(embedding_dim, num_filters, num_classes)\n",
998 | "\n",
999 | "criterion = nn.CrossEntropyLoss()\n",
1000 | "optimizer = optim.Adam(model.parameters(), lr=0.001)\n",
1001 | "\n",
1002 | "num_epochs = 25\n",
1003 | "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
1004 | "model.to(device)\n",
1005 | "\n",
1006 | "for epoch in range(num_epochs):\n",
1007 | " model.train()\n",
1008 | " total_loss = 0\n",
1009 | " for X_batch, y_batch in train_loader:\n",
1010 | " X_batch, y_batch = X_batch.to(device), y_batch.to(device)\n",
1011 | " optimizer.zero_grad()\n",
1012 | " outputs = model(X_batch)\n",
1013 | " loss = criterion(outputs, y_batch)\n",
1014 | " loss.backward()\n",
1015 | " optimizer.step()\n",
1016 | " total_loss += loss.item()\n",
1017 | " print(f\"Epoch {epoch+1}/{num_epochs}, Loss: {total_loss/len(train_loader):.4f}\")"
1018 | ]
1019 | },
1020 | {
1021 | "cell_type": "markdown",
1022 | "metadata": {
1023 | "id": "kfNlu2rCYXVI"
1024 | },
1025 | "source": [
1026 | "## Evaluate the model"
1027 | ]
1028 | },
1029 | {
1030 | "cell_type": "code",
1031 | "execution_count": 12,
1032 | "metadata": {
1033 | "colab": {
1034 | "base_uri": "https://localhost:8080/"
1035 | },
1036 | "id": "viNUEpTcQAg5",
1037 | "outputId": "49a01d49-d2e0-4c28-b23c-3a46fdae3545"
1038 | },
1039 | "outputs": [
1040 | {
1041 | "output_type": "stream",
1042 | "name": "stdout",
1043 | "text": [
1044 | "Test Accuracy: 0.7991\n"
1045 | ]
1046 | }
1047 | ],
1048 | "source": [
1049 | "model.eval()\n",
1050 | "all_preds = []\n",
1051 | "all_labels = []\n",
1052 | "with torch.no_grad():\n",
1053 | " for X_batch, y_batch in test_loader:\n",
1054 | " X_batch, y_batch = X_batch.to(device), y_batch.to(device)\n",
1055 | " outputs = model(X_batch)\n",
1056 | " preds = torch.argmax(outputs, dim=1)\n",
1057 | " all_preds.extend(preds.cpu().numpy())\n",
1058 | " all_labels.extend(y_batch.cpu().numpy())\n",
1059 | "\n",
1060 | "accuracy = accuracy_score(all_labels, all_preds)\n",
1061 | "print(f\"Test Accuracy: {accuracy:.4f}\")"
1062 | ]
1063 | },
1064 | {
1065 | "cell_type": "markdown",
1066 | "metadata": {
1067 | "id": "B340vc08ZCS7"
1068 | },
1069 | "source": [
1070 | "# RNNModel\n",
1071 | "\n",
1072 | "\n",
1073 | "### **Architecture of `RNNModel`**\n",
1074 | "This model is designed to process **sequential input data** (such as time-series data, natural language, or any ordered input) and output a classification prediction.\n",
1075 | "\n",
1076 | "#### **1. Input Layer**\n",
1077 | "- The model takes input sequences of shape **(batch_size, sequence_length, input_size)**.\n",
1078 | "- `input_size`: The number of features in each time step.\n",
1079 | "- `batch_first=True` ensures that batch size is the first dimension.\n",
1080 | "\n",
1081 | "#### **2. LSTM Layer**\n",
1082 | "- `self.lstm = nn.LSTM(input_size, hidden_size, num_layers, batch_first=True)`\n",
1083 | "- This layer consists of **LSTM units** that process sequential data step-by-step, maintaining long-term dependencies.\n",
1084 | "- `hidden_size`: Defines the number of neurons in the LSTM hidden layers.\n",
1085 | "- `num_layers`: Specifies how many stacked LSTM layers are used.\n",
1086 | "- Outputs:\n",
1087 | " - `output`: Contains the output of all time steps in the sequence.\n",
1088 | " - `(h_n, c_n)`: The final hidden and cell states of the LSTM.\n",
1089 | "\n",
1090 | "#### **3. Fully Connected (FC) Layer**\n",
1091 | "- `self.fc = nn.Linear(hidden_size, num_classes)`\n",
1092 | "- The last hidden state of the LSTM (corresponding to the final time step) is passed through a fully connected (linear) layer.\n",
1093 | "- `num_classes`: Determines the output size, typically the number of categories in classification problems.\n",
1094 | "\n"
1095 | ]
1096 | },
1097 | {
1098 | "cell_type": "code",
1099 | "execution_count": 13,
1100 | "metadata": {
1101 | "id": "2EPT0Lfo1Ug7"
1102 | },
1103 | "outputs": [],
1104 | "source": [
1105 | "class RNNModel(nn.Module):\n",
1106 | " def __init__(self, input_size, hidden_size, num_layers, num_classes):\n",
1107 | " super(RNNModel, self).__init__()\n",
1108 | " self.lstm = nn.LSTM(input_size, hidden_size, num_layers, batch_first=True)\n",
1109 | " self.fc = nn.Linear(hidden_size, num_classes)\n",
1110 | "\n",
1111 | " def forward(self, x):\n",
1112 | "\n",
1113 | " output, (h_n, c_n) = self.lstm(x)\n",
1114 | " last_output = output[:, -1, :]\n",
1115 | " out = self.fc(last_output)\n",
1116 | " return out"
1117 | ]
1118 | },
1119 | {
1120 | "cell_type": "markdown",
1121 | "metadata": {
1122 | "id": "t4DvjdZ5ZV_A"
1123 | },
1124 | "source": [
1125 | "## Train the model\n",
1126 | "\n",
1127 | "\n",
1128 | "### **Hyperparameters in the RNN Model** \n",
1129 | "\n",
1130 | "Hyperparameters are key settings that define how the model learns. In the given `RNNModel`, several hyperparameters affect the performance, efficiency, and accuracy of the model. Let's break them down:\n",
1131 | "\n",
1132 | "---\n",
1133 | "\n",
1134 | "### **1. Model Architecture Hyperparameters**\n",
1135 | "These define the structure of the neural network.\n",
1136 | "\n",
1137 | "- **`input_size = 100`** \n",
1138 | " - Determines the number of features in each input time step. \n",
1139 | " - In this case, each input vector has 100 features. \n",
1140 | "\n",
1141 | "- **`hidden_size = 128`** \n",
1142 | " - Represents the number of neurons in the hidden layer of the LSTM. \n",
1143 | " - A larger hidden size allows the model to learn more complex patterns but increases computational cost. \n",
1144 | "\n",
1145 | "- **`num_layers = 1`** \n",
1146 | " - Defines the number of stacked LSTM layers. \n",
1147 | " - More layers allow the network to capture deeper sequential dependencies, but too many layers may lead to vanishing gradients or overfitting. \n",
1148 | "\n",
1149 | "- **`num_classes = len(label_encoder.classes_)`** \n",
1150 | " - Defines the output size, corresponding to the number of classes in a classification problem. \n",
1151 | " - The model outputs probabilities for each class using **CrossEntropyLoss**.\n",
1152 | "\n",
1153 | "---\n",
1154 | "\n",
1155 | "### **2. Training Hyperparameters**\n",
1156 | "These define how the model learns from data.\n",
1157 | "\n",
1158 | "- **`criterion = nn.CrossEntropyLoss()`** \n",
1159 | " - The loss function used to measure the difference between predicted outputs and true labels. \n",
1160 | " - Suitable for multi-class classification tasks. \n",
1161 | "\n",
1162 | "- **`optimizer = torch.optim.Adam(model.parameters(), lr=0.001)`** \n",
1163 | " - **Adam (Adaptive Moment Estimation)** is chosen as the optimizer, balancing speed and efficiency in training. \n",
1164 | " - The **learning rate (`lr=0.001`)** controls how much the model updates weights in response to loss gradients. \n",
1165 | " - A **higher learning rate** can make training faster but may cause the model to converge to a suboptimal solution. A **lower learning rate** improves stability but slows training.\n",
1166 | "\n",
1167 | "- **`num_epochs = 20`** \n",
1168 | " - Defines the number of times the entire dataset is passed through the model. \n",
1169 | " - More epochs allow better learning but can lead to overfitting if too high. \n",
1170 | "\n",
1171 | "- **Batch Processing (`train_loader`)** \n",
1172 | " - The training loop iterates over batches of data rather than the entire dataset. \n",
1173 | " - Helps in faster computation and better generalization. \n",
1174 | " - `batch_X.squeeze(1).to(device)` ensures correct input dimensions for LSTM processing. \n"
1175 | ]
1176 | },
1177 | {
1178 | "cell_type": "code",
1179 | "execution_count": 14,
1180 | "metadata": {
1181 | "colab": {
1182 | "base_uri": "https://localhost:8080/"
1183 | },
1184 | "id": "fAavF22W2i41",
1185 | "outputId": "2aed65ad-45c9-4e2c-881b-a183050b170c"
1186 | },
1187 | "outputs": [
1188 | {
1189 | "output_type": "stream",
1190 | "name": "stdout",
1191 | "text": [
1192 | "Epoch [1/25], Avg Loss: 0.9610\n",
1193 | "Epoch [2/25], Avg Loss: 0.6857\n",
1194 | "Epoch [3/25], Avg Loss: 0.6236\n",
1195 | "Epoch [4/25], Avg Loss: 0.5804\n",
1196 | "Epoch [5/25], Avg Loss: 0.5535\n",
1197 | "Epoch [6/25], Avg Loss: 0.5326\n",
1198 | "Epoch [7/25], Avg Loss: 0.5120\n",
1199 | "Epoch [8/25], Avg Loss: 0.4948\n",
1200 | "Epoch [9/25], Avg Loss: 0.4770\n",
1201 | "Epoch [10/25], Avg Loss: 0.4670\n",
1202 | "Epoch [11/25], Avg Loss: 0.4544\n",
1203 | "Epoch [12/25], Avg Loss: 0.4398\n",
1204 | "Epoch [13/25], Avg Loss: 0.4297\n",
1205 | "Epoch [14/25], Avg Loss: 0.4167\n",
1206 | "Epoch [15/25], Avg Loss: 0.4042\n",
1207 | "Epoch [16/25], Avg Loss: 0.3953\n",
1208 | "Epoch [17/25], Avg Loss: 0.3866\n",
1209 | "Epoch [18/25], Avg Loss: 0.3731\n",
1210 | "Epoch [19/25], Avg Loss: 0.3620\n",
1211 | "Epoch [20/25], Avg Loss: 0.3543\n",
1212 | "Epoch [21/25], Avg Loss: 0.3471\n",
1213 | "Epoch [22/25], Avg Loss: 0.3354\n",
1214 | "Epoch [23/25], Avg Loss: 0.3247\n",
1215 | "Epoch [24/25], Avg Loss: 0.3126\n",
1216 | "Epoch [25/25], Avg Loss: 0.3041\n"
1217 | ]
1218 | }
1219 | ],
1220 | "source": [
1221 | "input_size = 100\n",
1222 | "hidden_size = 128\n",
1223 | "num_layers = 1\n",
1224 | "num_classes = len(label_encoder.classes_)\n",
1225 | "model = RNNModel(input_size, hidden_size, num_layers, num_classes).to(device)\n",
1226 | "\n",
1227 | "criterion = nn.CrossEntropyLoss()\n",
1228 | "optimizer = torch.optim.Adam(model.parameters(), lr=0.001)\n",
1229 | "\n",
1230 | "num_epochs = 25\n",
1231 | "for epoch in range(num_epochs):\n",
1232 | " model.train()\n",
1233 | " total_loss = 0\n",
1234 | " for batch_X, batch_y in train_loader:\n",
1235 | " batch_X = batch_X.squeeze(1).to(device)\n",
1236 | " batch_y = batch_y.to(device)\n",
1237 | "\n",
1238 | " optimizer.zero_grad()\n",
1239 | " outputs = model(batch_X)\n",
1240 | " loss = criterion(outputs, batch_y)\n",
1241 | "\n",
1242 | " loss.backward()\n",
1243 | " optimizer.step()\n",
1244 | "\n",
1245 | " total_loss += loss.item()\n",
1246 | "\n",
1247 | " avg_loss = total_loss / len(train_loader)\n",
1248 | " print(f'Epoch [{epoch+1}/{num_epochs}], Avg Loss: {avg_loss:.4f}')"
1249 | ]
1250 | },
1251 | {
1252 | "cell_type": "markdown",
1253 | "metadata": {
1254 | "id": "VUqsg8CcZj4m"
1255 | },
1256 | "source": [
1257 | "## Evaluate the model"
1258 | ]
1259 | },
1260 | {
1261 | "cell_type": "code",
1262 | "execution_count": 15,
1263 | "metadata": {
1264 | "colab": {
1265 | "base_uri": "https://localhost:8080/"
1266 | },
1267 | "id": "Lsud7tg32llQ",
1268 | "outputId": "68c223dc-848d-4849-a1f6-33d914629e9a"
1269 | },
1270 | "outputs": [
1271 | {
1272 | "output_type": "stream",
1273 | "name": "stdout",
1274 | "text": [
1275 | "Test Accuracy: 83.36%\n"
1276 | ]
1277 | }
1278 | ],
1279 | "source": [
1280 | "def evaluate(model, test_loader, device):\n",
1281 | " model.eval()\n",
1282 | " with torch.no_grad():\n",
1283 | " correct = 0\n",
1284 | " total = 0\n",
1285 | " for batch_X, batch_y in test_loader:\n",
1286 | " batch_X = batch_X.squeeze(1).to(device)\n",
1287 | " batch_y = batch_y.to(device)\n",
1288 | "\n",
1289 | " outputs = model(batch_X)\n",
1290 | " _, predicted = torch.max(outputs.data, 1)\n",
1291 | "\n",
1292 | " total += batch_y.size(0)\n",
1293 | " correct += (predicted == batch_y).sum().item()\n",
1294 | "\n",
1295 | " accuracy = 100 * correct / total\n",
1296 | " return accuracy\n",
1297 | "\n",
1298 | "accuracy = evaluate(model, test_loader, device)\n",
1299 | "print(f'Test Accuracy: {accuracy:.2f}%')"
1300 | ]
1301 | },
1302 | {
1303 | "cell_type": "code",
1304 | "source": [],
1305 | "metadata": {
1306 | "id": "aOs4dBuPg_60"
1307 | },
1308 | "execution_count": null,
1309 | "outputs": []
1310 | }
1311 | ],
1312 | "metadata": {
1313 | "colab": {
1314 | "provenance": [],
1315 | "authorship_tag": "ABX9TyMALziu5FoPf3hlb+uNA7qS",
1316 | "include_colab_link": true
1317 | },
1318 | "kernelspec": {
1319 | "display_name": "Python 3",
1320 | "name": "python3"
1321 | },
1322 | "language_info": {
1323 | "name": "python"
1324 | },
1325 | "widgets": {
1326 | "application/vnd.jupyter.widget-state+json": {
1327 | "6baf6a0ea60a423dbf7ffac0f5761e5c": {
1328 | "model_module": "@jupyter-widgets/controls",
1329 | "model_name": "HBoxModel",
1330 | "model_module_version": "1.5.0",
1331 | "state": {
1332 | "_dom_classes": [],
1333 | "_model_module": "@jupyter-widgets/controls",
1334 | "_model_module_version": "1.5.0",
1335 | "_model_name": "HBoxModel",
1336 | "_view_count": null,
1337 | "_view_module": "@jupyter-widgets/controls",
1338 | "_view_module_version": "1.5.0",
1339 | "_view_name": "HBoxView",
1340 | "box_style": "",
1341 | "children": [
1342 | "IPY_MODEL_de6a7c5ce5284507aa82b1d4c0170393",
1343 | "IPY_MODEL_da8a4395ea2440f5875788f328419627",
1344 | "IPY_MODEL_225e86d7282b4b509f6b62f7899a243a"
1345 | ],
1346 | "layout": "IPY_MODEL_0d7a51735dab4d549937b5e7e53591ba"
1347 | }
1348 | },
1349 | "de6a7c5ce5284507aa82b1d4c0170393": {
1350 | "model_module": "@jupyter-widgets/controls",
1351 | "model_name": "HTMLModel",
1352 | "model_module_version": "1.5.0",
1353 | "state": {
1354 | "_dom_classes": [],
1355 | "_model_module": "@jupyter-widgets/controls",
1356 | "_model_module_version": "1.5.0",
1357 | "_model_name": "HTMLModel",
1358 | "_view_count": null,
1359 | "_view_module": "@jupyter-widgets/controls",
1360 | "_view_module_version": "1.5.0",
1361 | "_view_name": "HTMLView",
1362 | "description": "",
1363 | "description_tooltip": null,
1364 | "layout": "IPY_MODEL_f31a2928f25b4fe78eeb69530f6a63d5",
1365 | "placeholder": "",
1366 | "style": "IPY_MODEL_1cf5fc27417a47c98e49ec203f33a2f2",
1367 | "value": "100%"
1368 | }
1369 | },
1370 | "da8a4395ea2440f5875788f328419627": {
1371 | "model_module": "@jupyter-widgets/controls",
1372 | "model_name": "FloatProgressModel",
1373 | "model_module_version": "1.5.0",
1374 | "state": {
1375 | "_dom_classes": [],
1376 | "_model_module": "@jupyter-widgets/controls",
1377 | "_model_module_version": "1.5.0",
1378 | "_model_name": "FloatProgressModel",
1379 | "_view_count": null,
1380 | "_view_module": "@jupyter-widgets/controls",
1381 | "_view_module_version": "1.5.0",
1382 | "_view_name": "ProgressView",
1383 | "bar_style": "success",
1384 | "description": "",
1385 | "description_tooltip": null,
1386 | "layout": "IPY_MODEL_ac0186ce68c448e6b6259e3a2ebd46dd",
1387 | "max": 16,
1388 | "min": 0,
1389 | "orientation": "horizontal",
1390 | "style": "IPY_MODEL_ef21bc1c2dd540ab98ea755c235eb156",
1391 | "value": 16
1392 | }
1393 | },
1394 | "225e86d7282b4b509f6b62f7899a243a": {
1395 | "model_module": "@jupyter-widgets/controls",
1396 | "model_name": "HTMLModel",
1397 | "model_module_version": "1.5.0",
1398 | "state": {
1399 | "_dom_classes": [],
1400 | "_model_module": "@jupyter-widgets/controls",
1401 | "_model_module_version": "1.5.0",
1402 | "_model_name": "HTMLModel",
1403 | "_view_count": null,
1404 | "_view_module": "@jupyter-widgets/controls",
1405 | "_view_module_version": "1.5.0",
1406 | "_view_name": "HTMLView",
1407 | "description": "",
1408 | "description_tooltip": null,
1409 | "layout": "IPY_MODEL_39ad9fa51dd040e6a920d27de9cc6f14",
1410 | "placeholder": "",
1411 | "style": "IPY_MODEL_6fd3144a82c14c7c95341193cb23b919",
1412 | "value": " 16/16 [00:01<00:00, 9.01it/s]"
1413 | }
1414 | },
1415 | "0d7a51735dab4d549937b5e7e53591ba": {
1416 | "model_module": "@jupyter-widgets/base",
1417 | "model_name": "LayoutModel",
1418 | "model_module_version": "1.2.0",
1419 | "state": {
1420 | "_model_module": "@jupyter-widgets/base",
1421 | "_model_module_version": "1.2.0",
1422 | "_model_name": "LayoutModel",
1423 | "_view_count": null,
1424 | "_view_module": "@jupyter-widgets/base",
1425 | "_view_module_version": "1.2.0",
1426 | "_view_name": "LayoutView",
1427 | "align_content": null,
1428 | "align_items": null,
1429 | "align_self": null,
1430 | "border": null,
1431 | "bottom": null,
1432 | "display": "inline-flex",
1433 | "flex": null,
1434 | "flex_flow": "row wrap",
1435 | "grid_area": null,
1436 | "grid_auto_columns": null,
1437 | "grid_auto_flow": null,
1438 | "grid_auto_rows": null,
1439 | "grid_column": null,
1440 | "grid_gap": null,
1441 | "grid_row": null,
1442 | "grid_template_areas": null,
1443 | "grid_template_columns": null,
1444 | "grid_template_rows": null,
1445 | "height": null,
1446 | "justify_content": null,
1447 | "justify_items": null,
1448 | "left": null,
1449 | "margin": null,
1450 | "max_height": null,
1451 | "max_width": null,
1452 | "min_height": null,
1453 | "min_width": null,
1454 | "object_fit": null,
1455 | "object_position": null,
1456 | "order": null,
1457 | "overflow": null,
1458 | "overflow_x": null,
1459 | "overflow_y": null,
1460 | "padding": null,
1461 | "right": null,
1462 | "top": null,
1463 | "visibility": null,
1464 | "width": "100%"
1465 | }
1466 | },
1467 | "f31a2928f25b4fe78eeb69530f6a63d5": {
1468 | "model_module": "@jupyter-widgets/base",
1469 | "model_name": "LayoutModel",
1470 | "model_module_version": "1.2.0",
1471 | "state": {
1472 | "_model_module": "@jupyter-widgets/base",
1473 | "_model_module_version": "1.2.0",
1474 | "_model_name": "LayoutModel",
1475 | "_view_count": null,
1476 | "_view_module": "@jupyter-widgets/base",
1477 | "_view_module_version": "1.2.0",
1478 | "_view_name": "LayoutView",
1479 | "align_content": null,
1480 | "align_items": null,
1481 | "align_self": null,
1482 | "border": null,
1483 | "bottom": null,
1484 | "display": null,
1485 | "flex": null,
1486 | "flex_flow": null,
1487 | "grid_area": null,
1488 | "grid_auto_columns": null,
1489 | "grid_auto_flow": null,
1490 | "grid_auto_rows": null,
1491 | "grid_column": null,
1492 | "grid_gap": null,
1493 | "grid_row": null,
1494 | "grid_template_areas": null,
1495 | "grid_template_columns": null,
1496 | "grid_template_rows": null,
1497 | "height": null,
1498 | "justify_content": null,
1499 | "justify_items": null,
1500 | "left": null,
1501 | "margin": null,
1502 | "max_height": null,
1503 | "max_width": null,
1504 | "min_height": null,
1505 | "min_width": null,
1506 | "object_fit": null,
1507 | "object_position": null,
1508 | "order": null,
1509 | "overflow": null,
1510 | "overflow_x": null,
1511 | "overflow_y": null,
1512 | "padding": null,
1513 | "right": null,
1514 | "top": null,
1515 | "visibility": null,
1516 | "width": null
1517 | }
1518 | },
1519 | "1cf5fc27417a47c98e49ec203f33a2f2": {
1520 | "model_module": "@jupyter-widgets/controls",
1521 | "model_name": "DescriptionStyleModel",
1522 | "model_module_version": "1.5.0",
1523 | "state": {
1524 | "_model_module": "@jupyter-widgets/controls",
1525 | "_model_module_version": "1.5.0",
1526 | "_model_name": "DescriptionStyleModel",
1527 | "_view_count": null,
1528 | "_view_module": "@jupyter-widgets/base",
1529 | "_view_module_version": "1.2.0",
1530 | "_view_name": "StyleView",
1531 | "description_width": ""
1532 | }
1533 | },
1534 | "ac0186ce68c448e6b6259e3a2ebd46dd": {
1535 | "model_module": "@jupyter-widgets/base",
1536 | "model_name": "LayoutModel",
1537 | "model_module_version": "1.2.0",
1538 | "state": {
1539 | "_model_module": "@jupyter-widgets/base",
1540 | "_model_module_version": "1.2.0",
1541 | "_model_name": "LayoutModel",
1542 | "_view_count": null,
1543 | "_view_module": "@jupyter-widgets/base",
1544 | "_view_module_version": "1.2.0",
1545 | "_view_name": "LayoutView",
1546 | "align_content": null,
1547 | "align_items": null,
1548 | "align_self": null,
1549 | "border": null,
1550 | "bottom": null,
1551 | "display": null,
1552 | "flex": "2",
1553 | "flex_flow": null,
1554 | "grid_area": null,
1555 | "grid_auto_columns": null,
1556 | "grid_auto_flow": null,
1557 | "grid_auto_rows": null,
1558 | "grid_column": null,
1559 | "grid_gap": null,
1560 | "grid_row": null,
1561 | "grid_template_areas": null,
1562 | "grid_template_columns": null,
1563 | "grid_template_rows": null,
1564 | "height": null,
1565 | "justify_content": null,
1566 | "justify_items": null,
1567 | "left": null,
1568 | "margin": null,
1569 | "max_height": null,
1570 | "max_width": null,
1571 | "min_height": null,
1572 | "min_width": null,
1573 | "object_fit": null,
1574 | "object_position": null,
1575 | "order": null,
1576 | "overflow": null,
1577 | "overflow_x": null,
1578 | "overflow_y": null,
1579 | "padding": null,
1580 | "right": null,
1581 | "top": null,
1582 | "visibility": null,
1583 | "width": null
1584 | }
1585 | },
1586 | "ef21bc1c2dd540ab98ea755c235eb156": {
1587 | "model_module": "@jupyter-widgets/controls",
1588 | "model_name": "ProgressStyleModel",
1589 | "model_module_version": "1.5.0",
1590 | "state": {
1591 | "_model_module": "@jupyter-widgets/controls",
1592 | "_model_module_version": "1.5.0",
1593 | "_model_name": "ProgressStyleModel",
1594 | "_view_count": null,
1595 | "_view_module": "@jupyter-widgets/base",
1596 | "_view_module_version": "1.2.0",
1597 | "_view_name": "StyleView",
1598 | "bar_color": null,
1599 | "description_width": ""
1600 | }
1601 | },
1602 | "39ad9fa51dd040e6a920d27de9cc6f14": {
1603 | "model_module": "@jupyter-widgets/base",
1604 | "model_name": "LayoutModel",
1605 | "model_module_version": "1.2.0",
1606 | "state": {
1607 | "_model_module": "@jupyter-widgets/base",
1608 | "_model_module_version": "1.2.0",
1609 | "_model_name": "LayoutModel",
1610 | "_view_count": null,
1611 | "_view_module": "@jupyter-widgets/base",
1612 | "_view_module_version": "1.2.0",
1613 | "_view_name": "LayoutView",
1614 | "align_content": null,
1615 | "align_items": null,
1616 | "align_self": null,
1617 | "border": null,
1618 | "bottom": null,
1619 | "display": null,
1620 | "flex": null,
1621 | "flex_flow": null,
1622 | "grid_area": null,
1623 | "grid_auto_columns": null,
1624 | "grid_auto_flow": null,
1625 | "grid_auto_rows": null,
1626 | "grid_column": null,
1627 | "grid_gap": null,
1628 | "grid_row": null,
1629 | "grid_template_areas": null,
1630 | "grid_template_columns": null,
1631 | "grid_template_rows": null,
1632 | "height": null,
1633 | "justify_content": null,
1634 | "justify_items": null,
1635 | "left": null,
1636 | "margin": null,
1637 | "max_height": null,
1638 | "max_width": null,
1639 | "min_height": null,
1640 | "min_width": null,
1641 | "object_fit": null,
1642 | "object_position": null,
1643 | "order": null,
1644 | "overflow": null,
1645 | "overflow_x": null,
1646 | "overflow_y": null,
1647 | "padding": null,
1648 | "right": null,
1649 | "top": null,
1650 | "visibility": null,
1651 | "width": null
1652 | }
1653 | },
1654 | "6fd3144a82c14c7c95341193cb23b919": {
1655 | "model_module": "@jupyter-widgets/controls",
1656 | "model_name": "DescriptionStyleModel",
1657 | "model_module_version": "1.5.0",
1658 | "state": {
1659 | "_model_module": "@jupyter-widgets/controls",
1660 | "_model_module_version": "1.5.0",
1661 | "_model_name": "DescriptionStyleModel",
1662 | "_view_count": null,
1663 | "_view_module": "@jupyter-widgets/base",
1664 | "_view_module_version": "1.2.0",
1665 | "_view_name": "StyleView",
1666 | "description_width": ""
1667 | }
1668 | },
1669 | "fd9d2b5c879b4bf3bd4a98ad1652e046": {
1670 | "model_module": "@jupyter-widgets/controls",
1671 | "model_name": "HBoxModel",
1672 | "model_module_version": "1.5.0",
1673 | "state": {
1674 | "_dom_classes": [],
1675 | "_model_module": "@jupyter-widgets/controls",
1676 | "_model_module_version": "1.5.0",
1677 | "_model_name": "HBoxModel",
1678 | "_view_count": null,
1679 | "_view_module": "@jupyter-widgets/controls",
1680 | "_view_module_version": "1.5.0",
1681 | "_view_name": "HBoxView",
1682 | "box_style": "",
1683 | "children": [
1684 | "IPY_MODEL_a114e175966c4c53b4ca8fcb4495a215",
1685 | "IPY_MODEL_5637b79669534291b55d68de556a7e52",
1686 | "IPY_MODEL_115837e3aed4403798cd17b5b1ead02d"
1687 | ],
1688 | "layout": "IPY_MODEL_c71687f02e3b4066920152385763efb7"
1689 | }
1690 | },
1691 | "a114e175966c4c53b4ca8fcb4495a215": {
1692 | "model_module": "@jupyter-widgets/controls",
1693 | "model_name": "HTMLModel",
1694 | "model_module_version": "1.5.0",
1695 | "state": {
1696 | "_dom_classes": [],
1697 | "_model_module": "@jupyter-widgets/controls",
1698 | "_model_module_version": "1.5.0",
1699 | "_model_name": "HTMLModel",
1700 | "_view_count": null,
1701 | "_view_module": "@jupyter-widgets/controls",
1702 | "_view_module_version": "1.5.0",
1703 | "_view_name": "HTMLView",
1704 | "description": "",
1705 | "description_tooltip": null,
1706 | "layout": "IPY_MODEL_ddeb7dc1af44465e83e662f3278a4ff1",
1707 | "placeholder": "",
1708 | "style": "IPY_MODEL_ea21f28286484130a45c3c537cac8b80",
1709 | "value": "100%"
1710 | }
1711 | },
1712 | "5637b79669534291b55d68de556a7e52": {
1713 | "model_module": "@jupyter-widgets/controls",
1714 | "model_name": "FloatProgressModel",
1715 | "model_module_version": "1.5.0",
1716 | "state": {
1717 | "_dom_classes": [],
1718 | "_model_module": "@jupyter-widgets/controls",
1719 | "_model_module_version": "1.5.0",
1720 | "_model_name": "FloatProgressModel",
1721 | "_view_count": null,
1722 | "_view_module": "@jupyter-widgets/controls",
1723 | "_view_module_version": "1.5.0",
1724 | "_view_name": "ProgressView",
1725 | "bar_style": "success",
1726 | "description": "",
1727 | "description_tooltip": null,
1728 | "layout": "IPY_MODEL_3255e852649a4ee889330c1f209f1fcf",
1729 | "max": 16,
1730 | "min": 0,
1731 | "orientation": "horizontal",
1732 | "style": "IPY_MODEL_0b8a896d3321495388be9ef990537d66",
1733 | "value": 16
1734 | }
1735 | },
1736 | "115837e3aed4403798cd17b5b1ead02d": {
1737 | "model_module": "@jupyter-widgets/controls",
1738 | "model_name": "HTMLModel",
1739 | "model_module_version": "1.5.0",
1740 | "state": {
1741 | "_dom_classes": [],
1742 | "_model_module": "@jupyter-widgets/controls",
1743 | "_model_module_version": "1.5.0",
1744 | "_model_name": "HTMLModel",
1745 | "_view_count": null,
1746 | "_view_module": "@jupyter-widgets/controls",
1747 | "_view_module_version": "1.5.0",
1748 | "_view_name": "HTMLView",
1749 | "description": "",
1750 | "description_tooltip": null,
1751 | "layout": "IPY_MODEL_5ff9d1e9c0b943aa9fbd46e73d5d26c8",
1752 | "placeholder": "",
1753 | "style": "IPY_MODEL_581443f16d324e3d9604f786d495d27d",
1754 | "value": " 16/16 [00:02<00:00, 5.30it/s]"
1755 | }
1756 | },
1757 | "c71687f02e3b4066920152385763efb7": {
1758 | "model_module": "@jupyter-widgets/base",
1759 | "model_name": "LayoutModel",
1760 | "model_module_version": "1.2.0",
1761 | "state": {
1762 | "_model_module": "@jupyter-widgets/base",
1763 | "_model_module_version": "1.2.0",
1764 | "_model_name": "LayoutModel",
1765 | "_view_count": null,
1766 | "_view_module": "@jupyter-widgets/base",
1767 | "_view_module_version": "1.2.0",
1768 | "_view_name": "LayoutView",
1769 | "align_content": null,
1770 | "align_items": null,
1771 | "align_self": null,
1772 | "border": null,
1773 | "bottom": null,
1774 | "display": "inline-flex",
1775 | "flex": null,
1776 | "flex_flow": "row wrap",
1777 | "grid_area": null,
1778 | "grid_auto_columns": null,
1779 | "grid_auto_flow": null,
1780 | "grid_auto_rows": null,
1781 | "grid_column": null,
1782 | "grid_gap": null,
1783 | "grid_row": null,
1784 | "grid_template_areas": null,
1785 | "grid_template_columns": null,
1786 | "grid_template_rows": null,
1787 | "height": null,
1788 | "justify_content": null,
1789 | "justify_items": null,
1790 | "left": null,
1791 | "margin": null,
1792 | "max_height": null,
1793 | "max_width": null,
1794 | "min_height": null,
1795 | "min_width": null,
1796 | "object_fit": null,
1797 | "object_position": null,
1798 | "order": null,
1799 | "overflow": null,
1800 | "overflow_x": null,
1801 | "overflow_y": null,
1802 | "padding": null,
1803 | "right": null,
1804 | "top": null,
1805 | "visibility": null,
1806 | "width": "100%"
1807 | }
1808 | },
1809 | "ddeb7dc1af44465e83e662f3278a4ff1": {
1810 | "model_module": "@jupyter-widgets/base",
1811 | "model_name": "LayoutModel",
1812 | "model_module_version": "1.2.0",
1813 | "state": {
1814 | "_model_module": "@jupyter-widgets/base",
1815 | "_model_module_version": "1.2.0",
1816 | "_model_name": "LayoutModel",
1817 | "_view_count": null,
1818 | "_view_module": "@jupyter-widgets/base",
1819 | "_view_module_version": "1.2.0",
1820 | "_view_name": "LayoutView",
1821 | "align_content": null,
1822 | "align_items": null,
1823 | "align_self": null,
1824 | "border": null,
1825 | "bottom": null,
1826 | "display": null,
1827 | "flex": null,
1828 | "flex_flow": null,
1829 | "grid_area": null,
1830 | "grid_auto_columns": null,
1831 | "grid_auto_flow": null,
1832 | "grid_auto_rows": null,
1833 | "grid_column": null,
1834 | "grid_gap": null,
1835 | "grid_row": null,
1836 | "grid_template_areas": null,
1837 | "grid_template_columns": null,
1838 | "grid_template_rows": null,
1839 | "height": null,
1840 | "justify_content": null,
1841 | "justify_items": null,
1842 | "left": null,
1843 | "margin": null,
1844 | "max_height": null,
1845 | "max_width": null,
1846 | "min_height": null,
1847 | "min_width": null,
1848 | "object_fit": null,
1849 | "object_position": null,
1850 | "order": null,
1851 | "overflow": null,
1852 | "overflow_x": null,
1853 | "overflow_y": null,
1854 | "padding": null,
1855 | "right": null,
1856 | "top": null,
1857 | "visibility": null,
1858 | "width": null
1859 | }
1860 | },
1861 | "ea21f28286484130a45c3c537cac8b80": {
1862 | "model_module": "@jupyter-widgets/controls",
1863 | "model_name": "DescriptionStyleModel",
1864 | "model_module_version": "1.5.0",
1865 | "state": {
1866 | "_model_module": "@jupyter-widgets/controls",
1867 | "_model_module_version": "1.5.0",
1868 | "_model_name": "DescriptionStyleModel",
1869 | "_view_count": null,
1870 | "_view_module": "@jupyter-widgets/base",
1871 | "_view_module_version": "1.2.0",
1872 | "_view_name": "StyleView",
1873 | "description_width": ""
1874 | }
1875 | },
1876 | "3255e852649a4ee889330c1f209f1fcf": {
1877 | "model_module": "@jupyter-widgets/base",
1878 | "model_name": "LayoutModel",
1879 | "model_module_version": "1.2.0",
1880 | "state": {
1881 | "_model_module": "@jupyter-widgets/base",
1882 | "_model_module_version": "1.2.0",
1883 | "_model_name": "LayoutModel",
1884 | "_view_count": null,
1885 | "_view_module": "@jupyter-widgets/base",
1886 | "_view_module_version": "1.2.0",
1887 | "_view_name": "LayoutView",
1888 | "align_content": null,
1889 | "align_items": null,
1890 | "align_self": null,
1891 | "border": null,
1892 | "bottom": null,
1893 | "display": null,
1894 | "flex": "2",
1895 | "flex_flow": null,
1896 | "grid_area": null,
1897 | "grid_auto_columns": null,
1898 | "grid_auto_flow": null,
1899 | "grid_auto_rows": null,
1900 | "grid_column": null,
1901 | "grid_gap": null,
1902 | "grid_row": null,
1903 | "grid_template_areas": null,
1904 | "grid_template_columns": null,
1905 | "grid_template_rows": null,
1906 | "height": null,
1907 | "justify_content": null,
1908 | "justify_items": null,
1909 | "left": null,
1910 | "margin": null,
1911 | "max_height": null,
1912 | "max_width": null,
1913 | "min_height": null,
1914 | "min_width": null,
1915 | "object_fit": null,
1916 | "object_position": null,
1917 | "order": null,
1918 | "overflow": null,
1919 | "overflow_x": null,
1920 | "overflow_y": null,
1921 | "padding": null,
1922 | "right": null,
1923 | "top": null,
1924 | "visibility": null,
1925 | "width": null
1926 | }
1927 | },
1928 | "0b8a896d3321495388be9ef990537d66": {
1929 | "model_module": "@jupyter-widgets/controls",
1930 | "model_name": "ProgressStyleModel",
1931 | "model_module_version": "1.5.0",
1932 | "state": {
1933 | "_model_module": "@jupyter-widgets/controls",
1934 | "_model_module_version": "1.5.0",
1935 | "_model_name": "ProgressStyleModel",
1936 | "_view_count": null,
1937 | "_view_module": "@jupyter-widgets/base",
1938 | "_view_module_version": "1.2.0",
1939 | "_view_name": "StyleView",
1940 | "bar_color": null,
1941 | "description_width": ""
1942 | }
1943 | },
1944 | "5ff9d1e9c0b943aa9fbd46e73d5d26c8": {
1945 | "model_module": "@jupyter-widgets/base",
1946 | "model_name": "LayoutModel",
1947 | "model_module_version": "1.2.0",
1948 | "state": {
1949 | "_model_module": "@jupyter-widgets/base",
1950 | "_model_module_version": "1.2.0",
1951 | "_model_name": "LayoutModel",
1952 | "_view_count": null,
1953 | "_view_module": "@jupyter-widgets/base",
1954 | "_view_module_version": "1.2.0",
1955 | "_view_name": "LayoutView",
1956 | "align_content": null,
1957 | "align_items": null,
1958 | "align_self": null,
1959 | "border": null,
1960 | "bottom": null,
1961 | "display": null,
1962 | "flex": null,
1963 | "flex_flow": null,
1964 | "grid_area": null,
1965 | "grid_auto_columns": null,
1966 | "grid_auto_flow": null,
1967 | "grid_auto_rows": null,
1968 | "grid_column": null,
1969 | "grid_gap": null,
1970 | "grid_row": null,
1971 | "grid_template_areas": null,
1972 | "grid_template_columns": null,
1973 | "grid_template_rows": null,
1974 | "height": null,
1975 | "justify_content": null,
1976 | "justify_items": null,
1977 | "left": null,
1978 | "margin": null,
1979 | "max_height": null,
1980 | "max_width": null,
1981 | "min_height": null,
1982 | "min_width": null,
1983 | "object_fit": null,
1984 | "object_position": null,
1985 | "order": null,
1986 | "overflow": null,
1987 | "overflow_x": null,
1988 | "overflow_y": null,
1989 | "padding": null,
1990 | "right": null,
1991 | "top": null,
1992 | "visibility": null,
1993 | "width": null
1994 | }
1995 | },
1996 | "581443f16d324e3d9604f786d495d27d": {
1997 | "model_module": "@jupyter-widgets/controls",
1998 | "model_name": "DescriptionStyleModel",
1999 | "model_module_version": "1.5.0",
2000 | "state": {
2001 | "_model_module": "@jupyter-widgets/controls",
2002 | "_model_module_version": "1.5.0",
2003 | "_model_name": "DescriptionStyleModel",
2004 | "_view_count": null,
2005 | "_view_module": "@jupyter-widgets/base",
2006 | "_view_module_version": "1.2.0",
2007 | "_view_name": "StyleView",
2008 | "description_width": ""
2009 | }
2010 | },
2011 | "ae2e51d3d5014fa4a1cb602d0adcfca3": {
2012 | "model_module": "@jupyter-widgets/controls",
2013 | "model_name": "HBoxModel",
2014 | "model_module_version": "1.5.0",
2015 | "state": {
2016 | "_dom_classes": [],
2017 | "_model_module": "@jupyter-widgets/controls",
2018 | "_model_module_version": "1.5.0",
2019 | "_model_name": "HBoxModel",
2020 | "_view_count": null,
2021 | "_view_module": "@jupyter-widgets/controls",
2022 | "_view_module_version": "1.5.0",
2023 | "_view_name": "HBoxView",
2024 | "box_style": "",
2025 | "children": [
2026 | "IPY_MODEL_306577b615234f1fab6dd7e5c01ac654",
2027 | "IPY_MODEL_ac745dae99444b91befa52b2328f42d6",
2028 | "IPY_MODEL_fab1d434c00a4bc7a202b94265cefd10"
2029 | ],
2030 | "layout": "IPY_MODEL_9c35b59e342440d7a2168f8af58474ae"
2031 | }
2032 | },
2033 | "306577b615234f1fab6dd7e5c01ac654": {
2034 | "model_module": "@jupyter-widgets/controls",
2035 | "model_name": "HTMLModel",
2036 | "model_module_version": "1.5.0",
2037 | "state": {
2038 | "_dom_classes": [],
2039 | "_model_module": "@jupyter-widgets/controls",
2040 | "_model_module_version": "1.5.0",
2041 | "_model_name": "HTMLModel",
2042 | "_view_count": null,
2043 | "_view_module": "@jupyter-widgets/controls",
2044 | "_view_module_version": "1.5.0",
2045 | "_view_name": "HTMLView",
2046 | "description": "",
2047 | "description_tooltip": null,
2048 | "layout": "IPY_MODEL_d04f3ceea2e14c0ca79957017a6d106d",
2049 | "placeholder": "",
2050 | "style": "IPY_MODEL_fa2cd250648b42448d2b87bf69786806",
2051 | "value": "100%"
2052 | }
2053 | },
2054 | "ac745dae99444b91befa52b2328f42d6": {
2055 | "model_module": "@jupyter-widgets/controls",
2056 | "model_name": "FloatProgressModel",
2057 | "model_module_version": "1.5.0",
2058 | "state": {
2059 | "_dom_classes": [],
2060 | "_model_module": "@jupyter-widgets/controls",
2061 | "_model_module_version": "1.5.0",
2062 | "_model_name": "FloatProgressModel",
2063 | "_view_count": null,
2064 | "_view_module": "@jupyter-widgets/controls",
2065 | "_view_module_version": "1.5.0",
2066 | "_view_name": "ProgressView",
2067 | "bar_style": "success",
2068 | "description": "",
2069 | "description_tooltip": null,
2070 | "layout": "IPY_MODEL_7c03309dca71444fb21a257e647830b4",
2071 | "max": 16,
2072 | "min": 0,
2073 | "orientation": "horizontal",
2074 | "style": "IPY_MODEL_031edc1cc43e40abb8b53aeb75d02fe4",
2075 | "value": 16
2076 | }
2077 | },
2078 | "fab1d434c00a4bc7a202b94265cefd10": {
2079 | "model_module": "@jupyter-widgets/controls",
2080 | "model_name": "HTMLModel",
2081 | "model_module_version": "1.5.0",
2082 | "state": {
2083 | "_dom_classes": [],
2084 | "_model_module": "@jupyter-widgets/controls",
2085 | "_model_module_version": "1.5.0",
2086 | "_model_name": "HTMLModel",
2087 | "_view_count": null,
2088 | "_view_module": "@jupyter-widgets/controls",
2089 | "_view_module_version": "1.5.0",
2090 | "_view_name": "HTMLView",
2091 | "description": "",
2092 | "description_tooltip": null,
2093 | "layout": "IPY_MODEL_54778f911d1942b7870f2e15204c4086",
2094 | "placeholder": "",
2095 | "style": "IPY_MODEL_6d98087402f5451d801cdefc9166fef4",
2096 | "value": " 16/16 [00:03<00:00, 4.82it/s]"
2097 | }
2098 | },
2099 | "9c35b59e342440d7a2168f8af58474ae": {
2100 | "model_module": "@jupyter-widgets/base",
2101 | "model_name": "LayoutModel",
2102 | "model_module_version": "1.2.0",
2103 | "state": {
2104 | "_model_module": "@jupyter-widgets/base",
2105 | "_model_module_version": "1.2.0",
2106 | "_model_name": "LayoutModel",
2107 | "_view_count": null,
2108 | "_view_module": "@jupyter-widgets/base",
2109 | "_view_module_version": "1.2.0",
2110 | "_view_name": "LayoutView",
2111 | "align_content": null,
2112 | "align_items": null,
2113 | "align_self": null,
2114 | "border": null,
2115 | "bottom": null,
2116 | "display": "inline-flex",
2117 | "flex": null,
2118 | "flex_flow": "row wrap",
2119 | "grid_area": null,
2120 | "grid_auto_columns": null,
2121 | "grid_auto_flow": null,
2122 | "grid_auto_rows": null,
2123 | "grid_column": null,
2124 | "grid_gap": null,
2125 | "grid_row": null,
2126 | "grid_template_areas": null,
2127 | "grid_template_columns": null,
2128 | "grid_template_rows": null,
2129 | "height": null,
2130 | "justify_content": null,
2131 | "justify_items": null,
2132 | "left": null,
2133 | "margin": null,
2134 | "max_height": null,
2135 | "max_width": null,
2136 | "min_height": null,
2137 | "min_width": null,
2138 | "object_fit": null,
2139 | "object_position": null,
2140 | "order": null,
2141 | "overflow": null,
2142 | "overflow_x": null,
2143 | "overflow_y": null,
2144 | "padding": null,
2145 | "right": null,
2146 | "top": null,
2147 | "visibility": null,
2148 | "width": "100%"
2149 | }
2150 | },
2151 | "d04f3ceea2e14c0ca79957017a6d106d": {
2152 | "model_module": "@jupyter-widgets/base",
2153 | "model_name": "LayoutModel",
2154 | "model_module_version": "1.2.0",
2155 | "state": {
2156 | "_model_module": "@jupyter-widgets/base",
2157 | "_model_module_version": "1.2.0",
2158 | "_model_name": "LayoutModel",
2159 | "_view_count": null,
2160 | "_view_module": "@jupyter-widgets/base",
2161 | "_view_module_version": "1.2.0",
2162 | "_view_name": "LayoutView",
2163 | "align_content": null,
2164 | "align_items": null,
2165 | "align_self": null,
2166 | "border": null,
2167 | "bottom": null,
2168 | "display": null,
2169 | "flex": null,
2170 | "flex_flow": null,
2171 | "grid_area": null,
2172 | "grid_auto_columns": null,
2173 | "grid_auto_flow": null,
2174 | "grid_auto_rows": null,
2175 | "grid_column": null,
2176 | "grid_gap": null,
2177 | "grid_row": null,
2178 | "grid_template_areas": null,
2179 | "grid_template_columns": null,
2180 | "grid_template_rows": null,
2181 | "height": null,
2182 | "justify_content": null,
2183 | "justify_items": null,
2184 | "left": null,
2185 | "margin": null,
2186 | "max_height": null,
2187 | "max_width": null,
2188 | "min_height": null,
2189 | "min_width": null,
2190 | "object_fit": null,
2191 | "object_position": null,
2192 | "order": null,
2193 | "overflow": null,
2194 | "overflow_x": null,
2195 | "overflow_y": null,
2196 | "padding": null,
2197 | "right": null,
2198 | "top": null,
2199 | "visibility": null,
2200 | "width": null
2201 | }
2202 | },
2203 | "fa2cd250648b42448d2b87bf69786806": {
2204 | "model_module": "@jupyter-widgets/controls",
2205 | "model_name": "DescriptionStyleModel",
2206 | "model_module_version": "1.5.0",
2207 | "state": {
2208 | "_model_module": "@jupyter-widgets/controls",
2209 | "_model_module_version": "1.5.0",
2210 | "_model_name": "DescriptionStyleModel",
2211 | "_view_count": null,
2212 | "_view_module": "@jupyter-widgets/base",
2213 | "_view_module_version": "1.2.0",
2214 | "_view_name": "StyleView",
2215 | "description_width": ""
2216 | }
2217 | },
2218 | "7c03309dca71444fb21a257e647830b4": {
2219 | "model_module": "@jupyter-widgets/base",
2220 | "model_name": "LayoutModel",
2221 | "model_module_version": "1.2.0",
2222 | "state": {
2223 | "_model_module": "@jupyter-widgets/base",
2224 | "_model_module_version": "1.2.0",
2225 | "_model_name": "LayoutModel",
2226 | "_view_count": null,
2227 | "_view_module": "@jupyter-widgets/base",
2228 | "_view_module_version": "1.2.0",
2229 | "_view_name": "LayoutView",
2230 | "align_content": null,
2231 | "align_items": null,
2232 | "align_self": null,
2233 | "border": null,
2234 | "bottom": null,
2235 | "display": null,
2236 | "flex": "2",
2237 | "flex_flow": null,
2238 | "grid_area": null,
2239 | "grid_auto_columns": null,
2240 | "grid_auto_flow": null,
2241 | "grid_auto_rows": null,
2242 | "grid_column": null,
2243 | "grid_gap": null,
2244 | "grid_row": null,
2245 | "grid_template_areas": null,
2246 | "grid_template_columns": null,
2247 | "grid_template_rows": null,
2248 | "height": null,
2249 | "justify_content": null,
2250 | "justify_items": null,
2251 | "left": null,
2252 | "margin": null,
2253 | "max_height": null,
2254 | "max_width": null,
2255 | "min_height": null,
2256 | "min_width": null,
2257 | "object_fit": null,
2258 | "object_position": null,
2259 | "order": null,
2260 | "overflow": null,
2261 | "overflow_x": null,
2262 | "overflow_y": null,
2263 | "padding": null,
2264 | "right": null,
2265 | "top": null,
2266 | "visibility": null,
2267 | "width": null
2268 | }
2269 | },
2270 | "031edc1cc43e40abb8b53aeb75d02fe4": {
2271 | "model_module": "@jupyter-widgets/controls",
2272 | "model_name": "ProgressStyleModel",
2273 | "model_module_version": "1.5.0",
2274 | "state": {
2275 | "_model_module": "@jupyter-widgets/controls",
2276 | "_model_module_version": "1.5.0",
2277 | "_model_name": "ProgressStyleModel",
2278 | "_view_count": null,
2279 | "_view_module": "@jupyter-widgets/base",
2280 | "_view_module_version": "1.2.0",
2281 | "_view_name": "StyleView",
2282 | "bar_color": null,
2283 | "description_width": ""
2284 | }
2285 | },
2286 | "54778f911d1942b7870f2e15204c4086": {
2287 | "model_module": "@jupyter-widgets/base",
2288 | "model_name": "LayoutModel",
2289 | "model_module_version": "1.2.0",
2290 | "state": {
2291 | "_model_module": "@jupyter-widgets/base",
2292 | "_model_module_version": "1.2.0",
2293 | "_model_name": "LayoutModel",
2294 | "_view_count": null,
2295 | "_view_module": "@jupyter-widgets/base",
2296 | "_view_module_version": "1.2.0",
2297 | "_view_name": "LayoutView",
2298 | "align_content": null,
2299 | "align_items": null,
2300 | "align_self": null,
2301 | "border": null,
2302 | "bottom": null,
2303 | "display": null,
2304 | "flex": null,
2305 | "flex_flow": null,
2306 | "grid_area": null,
2307 | "grid_auto_columns": null,
2308 | "grid_auto_flow": null,
2309 | "grid_auto_rows": null,
2310 | "grid_column": null,
2311 | "grid_gap": null,
2312 | "grid_row": null,
2313 | "grid_template_areas": null,
2314 | "grid_template_columns": null,
2315 | "grid_template_rows": null,
2316 | "height": null,
2317 | "justify_content": null,
2318 | "justify_items": null,
2319 | "left": null,
2320 | "margin": null,
2321 | "max_height": null,
2322 | "max_width": null,
2323 | "min_height": null,
2324 | "min_width": null,
2325 | "object_fit": null,
2326 | "object_position": null,
2327 | "order": null,
2328 | "overflow": null,
2329 | "overflow_x": null,
2330 | "overflow_y": null,
2331 | "padding": null,
2332 | "right": null,
2333 | "top": null,
2334 | "visibility": null,
2335 | "width": null
2336 | }
2337 | },
2338 | "6d98087402f5451d801cdefc9166fef4": {
2339 | "model_module": "@jupyter-widgets/controls",
2340 | "model_name": "DescriptionStyleModel",
2341 | "model_module_version": "1.5.0",
2342 | "state": {
2343 | "_model_module": "@jupyter-widgets/controls",
2344 | "_model_module_version": "1.5.0",
2345 | "_model_name": "DescriptionStyleModel",
2346 | "_view_count": null,
2347 | "_view_module": "@jupyter-widgets/base",
2348 | "_view_module_version": "1.2.0",
2349 | "_view_name": "StyleView",
2350 | "description_width": ""
2351 | }
2352 | },
2353 | "c8a65b8bbd8246c5a6779d605a15acda": {
2354 | "model_module": "@jupyter-widgets/controls",
2355 | "model_name": "HBoxModel",
2356 | "model_module_version": "1.5.0",
2357 | "state": {
2358 | "_dom_classes": [],
2359 | "_model_module": "@jupyter-widgets/controls",
2360 | "_model_module_version": "1.5.0",
2361 | "_model_name": "HBoxModel",
2362 | "_view_count": null,
2363 | "_view_module": "@jupyter-widgets/controls",
2364 | "_view_module_version": "1.5.0",
2365 | "_view_name": "HBoxView",
2366 | "box_style": "",
2367 | "children": [
2368 | "IPY_MODEL_3e90afc7b1bd44f79180145ca551dfc5",
2369 | "IPY_MODEL_ecfd7754da16443e83c6dac4f0bf02c3",
2370 | "IPY_MODEL_168127473db44622972c91bcb69180eb"
2371 | ],
2372 | "layout": "IPY_MODEL_ebd6950b63644a1ea4625b662fb78ae0"
2373 | }
2374 | },
2375 | "3e90afc7b1bd44f79180145ca551dfc5": {
2376 | "model_module": "@jupyter-widgets/controls",
2377 | "model_name": "HTMLModel",
2378 | "model_module_version": "1.5.0",
2379 | "state": {
2380 | "_dom_classes": [],
2381 | "_model_module": "@jupyter-widgets/controls",
2382 | "_model_module_version": "1.5.0",
2383 | "_model_name": "HTMLModel",
2384 | "_view_count": null,
2385 | "_view_module": "@jupyter-widgets/controls",
2386 | "_view_module_version": "1.5.0",
2387 | "_view_name": "HTMLView",
2388 | "description": "",
2389 | "description_tooltip": null,
2390 | "layout": "IPY_MODEL_841b320404c14f28af512b7809793e0a",
2391 | "placeholder": "",
2392 | "style": "IPY_MODEL_8891e9873adf43aba1285634f9ee3e60",
2393 | "value": "100%"
2394 | }
2395 | },
2396 | "ecfd7754da16443e83c6dac4f0bf02c3": {
2397 | "model_module": "@jupyter-widgets/controls",
2398 | "model_name": "FloatProgressModel",
2399 | "model_module_version": "1.5.0",
2400 | "state": {
2401 | "_dom_classes": [],
2402 | "_model_module": "@jupyter-widgets/controls",
2403 | "_model_module_version": "1.5.0",
2404 | "_model_name": "FloatProgressModel",
2405 | "_view_count": null,
2406 | "_view_module": "@jupyter-widgets/controls",
2407 | "_view_module_version": "1.5.0",
2408 | "_view_name": "ProgressView",
2409 | "bar_style": "success",
2410 | "description": "",
2411 | "description_tooltip": null,
2412 | "layout": "IPY_MODEL_19744e7597894884814efeac0508d6e8",
2413 | "max": 16,
2414 | "min": 0,
2415 | "orientation": "horizontal",
2416 | "style": "IPY_MODEL_4d30c02dc2ed4d728e44b540d57dd1a2",
2417 | "value": 16
2418 | }
2419 | },
2420 | "168127473db44622972c91bcb69180eb": {
2421 | "model_module": "@jupyter-widgets/controls",
2422 | "model_name": "HTMLModel",
2423 | "model_module_version": "1.5.0",
2424 | "state": {
2425 | "_dom_classes": [],
2426 | "_model_module": "@jupyter-widgets/controls",
2427 | "_model_module_version": "1.5.0",
2428 | "_model_name": "HTMLModel",
2429 | "_view_count": null,
2430 | "_view_module": "@jupyter-widgets/controls",
2431 | "_view_module_version": "1.5.0",
2432 | "_view_name": "HTMLView",
2433 | "description": "",
2434 | "description_tooltip": null,
2435 | "layout": "IPY_MODEL_c47744d043594db1ba02e170e22d1965",
2436 | "placeholder": "",
2437 | "style": "IPY_MODEL_3de3f487470a4c8abe8016e5f256cdce",
2438 | "value": " 16/16 [00:20<00:00, 1.35s/it]"
2439 | }
2440 | },
2441 | "ebd6950b63644a1ea4625b662fb78ae0": {
2442 | "model_module": "@jupyter-widgets/base",
2443 | "model_name": "LayoutModel",
2444 | "model_module_version": "1.2.0",
2445 | "state": {
2446 | "_model_module": "@jupyter-widgets/base",
2447 | "_model_module_version": "1.2.0",
2448 | "_model_name": "LayoutModel",
2449 | "_view_count": null,
2450 | "_view_module": "@jupyter-widgets/base",
2451 | "_view_module_version": "1.2.0",
2452 | "_view_name": "LayoutView",
2453 | "align_content": null,
2454 | "align_items": null,
2455 | "align_self": null,
2456 | "border": null,
2457 | "bottom": null,
2458 | "display": "inline-flex",
2459 | "flex": null,
2460 | "flex_flow": "row wrap",
2461 | "grid_area": null,
2462 | "grid_auto_columns": null,
2463 | "grid_auto_flow": null,
2464 | "grid_auto_rows": null,
2465 | "grid_column": null,
2466 | "grid_gap": null,
2467 | "grid_row": null,
2468 | "grid_template_areas": null,
2469 | "grid_template_columns": null,
2470 | "grid_template_rows": null,
2471 | "height": null,
2472 | "justify_content": null,
2473 | "justify_items": null,
2474 | "left": null,
2475 | "margin": null,
2476 | "max_height": null,
2477 | "max_width": null,
2478 | "min_height": null,
2479 | "min_width": null,
2480 | "object_fit": null,
2481 | "object_position": null,
2482 | "order": null,
2483 | "overflow": null,
2484 | "overflow_x": null,
2485 | "overflow_y": null,
2486 | "padding": null,
2487 | "right": null,
2488 | "top": null,
2489 | "visibility": null,
2490 | "width": "100%"
2491 | }
2492 | },
2493 | "841b320404c14f28af512b7809793e0a": {
2494 | "model_module": "@jupyter-widgets/base",
2495 | "model_name": "LayoutModel",
2496 | "model_module_version": "1.2.0",
2497 | "state": {
2498 | "_model_module": "@jupyter-widgets/base",
2499 | "_model_module_version": "1.2.0",
2500 | "_model_name": "LayoutModel",
2501 | "_view_count": null,
2502 | "_view_module": "@jupyter-widgets/base",
2503 | "_view_module_version": "1.2.0",
2504 | "_view_name": "LayoutView",
2505 | "align_content": null,
2506 | "align_items": null,
2507 | "align_self": null,
2508 | "border": null,
2509 | "bottom": null,
2510 | "display": null,
2511 | "flex": null,
2512 | "flex_flow": null,
2513 | "grid_area": null,
2514 | "grid_auto_columns": null,
2515 | "grid_auto_flow": null,
2516 | "grid_auto_rows": null,
2517 | "grid_column": null,
2518 | "grid_gap": null,
2519 | "grid_row": null,
2520 | "grid_template_areas": null,
2521 | "grid_template_columns": null,
2522 | "grid_template_rows": null,
2523 | "height": null,
2524 | "justify_content": null,
2525 | "justify_items": null,
2526 | "left": null,
2527 | "margin": null,
2528 | "max_height": null,
2529 | "max_width": null,
2530 | "min_height": null,
2531 | "min_width": null,
2532 | "object_fit": null,
2533 | "object_position": null,
2534 | "order": null,
2535 | "overflow": null,
2536 | "overflow_x": null,
2537 | "overflow_y": null,
2538 | "padding": null,
2539 | "right": null,
2540 | "top": null,
2541 | "visibility": null,
2542 | "width": null
2543 | }
2544 | },
2545 | "8891e9873adf43aba1285634f9ee3e60": {
2546 | "model_module": "@jupyter-widgets/controls",
2547 | "model_name": "DescriptionStyleModel",
2548 | "model_module_version": "1.5.0",
2549 | "state": {
2550 | "_model_module": "@jupyter-widgets/controls",
2551 | "_model_module_version": "1.5.0",
2552 | "_model_name": "DescriptionStyleModel",
2553 | "_view_count": null,
2554 | "_view_module": "@jupyter-widgets/base",
2555 | "_view_module_version": "1.2.0",
2556 | "_view_name": "StyleView",
2557 | "description_width": ""
2558 | }
2559 | },
2560 | "19744e7597894884814efeac0508d6e8": {
2561 | "model_module": "@jupyter-widgets/base",
2562 | "model_name": "LayoutModel",
2563 | "model_module_version": "1.2.0",
2564 | "state": {
2565 | "_model_module": "@jupyter-widgets/base",
2566 | "_model_module_version": "1.2.0",
2567 | "_model_name": "LayoutModel",
2568 | "_view_count": null,
2569 | "_view_module": "@jupyter-widgets/base",
2570 | "_view_module_version": "1.2.0",
2571 | "_view_name": "LayoutView",
2572 | "align_content": null,
2573 | "align_items": null,
2574 | "align_self": null,
2575 | "border": null,
2576 | "bottom": null,
2577 | "display": null,
2578 | "flex": "2",
2579 | "flex_flow": null,
2580 | "grid_area": null,
2581 | "grid_auto_columns": null,
2582 | "grid_auto_flow": null,
2583 | "grid_auto_rows": null,
2584 | "grid_column": null,
2585 | "grid_gap": null,
2586 | "grid_row": null,
2587 | "grid_template_areas": null,
2588 | "grid_template_columns": null,
2589 | "grid_template_rows": null,
2590 | "height": null,
2591 | "justify_content": null,
2592 | "justify_items": null,
2593 | "left": null,
2594 | "margin": null,
2595 | "max_height": null,
2596 | "max_width": null,
2597 | "min_height": null,
2598 | "min_width": null,
2599 | "object_fit": null,
2600 | "object_position": null,
2601 | "order": null,
2602 | "overflow": null,
2603 | "overflow_x": null,
2604 | "overflow_y": null,
2605 | "padding": null,
2606 | "right": null,
2607 | "top": null,
2608 | "visibility": null,
2609 | "width": null
2610 | }
2611 | },
2612 | "4d30c02dc2ed4d728e44b540d57dd1a2": {
2613 | "model_module": "@jupyter-widgets/controls",
2614 | "model_name": "ProgressStyleModel",
2615 | "model_module_version": "1.5.0",
2616 | "state": {
2617 | "_model_module": "@jupyter-widgets/controls",
2618 | "_model_module_version": "1.5.0",
2619 | "_model_name": "ProgressStyleModel",
2620 | "_view_count": null,
2621 | "_view_module": "@jupyter-widgets/base",
2622 | "_view_module_version": "1.2.0",
2623 | "_view_name": "StyleView",
2624 | "bar_color": null,
2625 | "description_width": ""
2626 | }
2627 | },
2628 | "c47744d043594db1ba02e170e22d1965": {
2629 | "model_module": "@jupyter-widgets/base",
2630 | "model_name": "LayoutModel",
2631 | "model_module_version": "1.2.0",
2632 | "state": {
2633 | "_model_module": "@jupyter-widgets/base",
2634 | "_model_module_version": "1.2.0",
2635 | "_model_name": "LayoutModel",
2636 | "_view_count": null,
2637 | "_view_module": "@jupyter-widgets/base",
2638 | "_view_module_version": "1.2.0",
2639 | "_view_name": "LayoutView",
2640 | "align_content": null,
2641 | "align_items": null,
2642 | "align_self": null,
2643 | "border": null,
2644 | "bottom": null,
2645 | "display": null,
2646 | "flex": null,
2647 | "flex_flow": null,
2648 | "grid_area": null,
2649 | "grid_auto_columns": null,
2650 | "grid_auto_flow": null,
2651 | "grid_auto_rows": null,
2652 | "grid_column": null,
2653 | "grid_gap": null,
2654 | "grid_row": null,
2655 | "grid_template_areas": null,
2656 | "grid_template_columns": null,
2657 | "grid_template_rows": null,
2658 | "height": null,
2659 | "justify_content": null,
2660 | "justify_items": null,
2661 | "left": null,
2662 | "margin": null,
2663 | "max_height": null,
2664 | "max_width": null,
2665 | "min_height": null,
2666 | "min_width": null,
2667 | "object_fit": null,
2668 | "object_position": null,
2669 | "order": null,
2670 | "overflow": null,
2671 | "overflow_x": null,
2672 | "overflow_y": null,
2673 | "padding": null,
2674 | "right": null,
2675 | "top": null,
2676 | "visibility": null,
2677 | "width": null
2678 | }
2679 | },
2680 | "3de3f487470a4c8abe8016e5f256cdce": {
2681 | "model_module": "@jupyter-widgets/controls",
2682 | "model_name": "DescriptionStyleModel",
2683 | "model_module_version": "1.5.0",
2684 | "state": {
2685 | "_model_module": "@jupyter-widgets/controls",
2686 | "_model_module_version": "1.5.0",
2687 | "_model_name": "DescriptionStyleModel",
2688 | "_view_count": null,
2689 | "_view_module": "@jupyter-widgets/base",
2690 | "_view_module_version": "1.2.0",
2691 | "_view_name": "StyleView",
2692 | "description_width": ""
2693 | }
2694 | },
2695 | "ad7d2b4774cd4181b4bbd0a3588f7cb4": {
2696 | "model_module": "@jupyter-widgets/controls",
2697 | "model_name": "HBoxModel",
2698 | "model_module_version": "1.5.0",
2699 | "state": {
2700 | "_dom_classes": [],
2701 | "_model_module": "@jupyter-widgets/controls",
2702 | "_model_module_version": "1.5.0",
2703 | "_model_name": "HBoxModel",
2704 | "_view_count": null,
2705 | "_view_module": "@jupyter-widgets/controls",
2706 | "_view_module_version": "1.5.0",
2707 | "_view_name": "HBoxView",
2708 | "box_style": "",
2709 | "children": [
2710 | "IPY_MODEL_6f4f74e433c34b32b4874e717151cdc5",
2711 | "IPY_MODEL_11d6a99882fe440bb2e437d990656bbd",
2712 | "IPY_MODEL_71c90889df844b66af254e7af3087cc0"
2713 | ],
2714 | "layout": "IPY_MODEL_d098d2b9a5d54d7fbed72fb602c3c9bd"
2715 | }
2716 | },
2717 | "6f4f74e433c34b32b4874e717151cdc5": {
2718 | "model_module": "@jupyter-widgets/controls",
2719 | "model_name": "HTMLModel",
2720 | "model_module_version": "1.5.0",
2721 | "state": {
2722 | "_dom_classes": [],
2723 | "_model_module": "@jupyter-widgets/controls",
2724 | "_model_module_version": "1.5.0",
2725 | "_model_name": "HTMLModel",
2726 | "_view_count": null,
2727 | "_view_module": "@jupyter-widgets/controls",
2728 | "_view_module_version": "1.5.0",
2729 | "_view_name": "HTMLView",
2730 | "description": "",
2731 | "description_tooltip": null,
2732 | "layout": "IPY_MODEL_353c5973a79b402e92f2140b436e6c1d",
2733 | "placeholder": "",
2734 | "style": "IPY_MODEL_32dc283e573543c78866f706a5f93821",
2735 | "value": "100%"
2736 | }
2737 | },
2738 | "11d6a99882fe440bb2e437d990656bbd": {
2739 | "model_module": "@jupyter-widgets/controls",
2740 | "model_name": "FloatProgressModel",
2741 | "model_module_version": "1.5.0",
2742 | "state": {
2743 | "_dom_classes": [],
2744 | "_model_module": "@jupyter-widgets/controls",
2745 | "_model_module_version": "1.5.0",
2746 | "_model_name": "FloatProgressModel",
2747 | "_view_count": null,
2748 | "_view_module": "@jupyter-widgets/controls",
2749 | "_view_module_version": "1.5.0",
2750 | "_view_name": "ProgressView",
2751 | "bar_style": "success",
2752 | "description": "",
2753 | "description_tooltip": null,
2754 | "layout": "IPY_MODEL_fa75dee6148d400eb308a1a074d347f8",
2755 | "max": 16,
2756 | "min": 0,
2757 | "orientation": "horizontal",
2758 | "style": "IPY_MODEL_35c78d8f8a874b1f84c8ee9af7fd983a",
2759 | "value": 16
2760 | }
2761 | },
2762 | "71c90889df844b66af254e7af3087cc0": {
2763 | "model_module": "@jupyter-widgets/controls",
2764 | "model_name": "HTMLModel",
2765 | "model_module_version": "1.5.0",
2766 | "state": {
2767 | "_dom_classes": [],
2768 | "_model_module": "@jupyter-widgets/controls",
2769 | "_model_module_version": "1.5.0",
2770 | "_model_name": "HTMLModel",
2771 | "_view_count": null,
2772 | "_view_module": "@jupyter-widgets/controls",
2773 | "_view_module_version": "1.5.0",
2774 | "_view_name": "HTMLView",
2775 | "description": "",
2776 | "description_tooltip": null,
2777 | "layout": "IPY_MODEL_d139ecb729a8412186359f745633608d",
2778 | "placeholder": "",
2779 | "style": "IPY_MODEL_cba0438ee33240c487effa861e7ef120",
2780 | "value": " 16/16 [00:07<00:00, 2.04it/s]"
2781 | }
2782 | },
2783 | "d098d2b9a5d54d7fbed72fb602c3c9bd": {
2784 | "model_module": "@jupyter-widgets/base",
2785 | "model_name": "LayoutModel",
2786 | "model_module_version": "1.2.0",
2787 | "state": {
2788 | "_model_module": "@jupyter-widgets/base",
2789 | "_model_module_version": "1.2.0",
2790 | "_model_name": "LayoutModel",
2791 | "_view_count": null,
2792 | "_view_module": "@jupyter-widgets/base",
2793 | "_view_module_version": "1.2.0",
2794 | "_view_name": "LayoutView",
2795 | "align_content": null,
2796 | "align_items": null,
2797 | "align_self": null,
2798 | "border": null,
2799 | "bottom": null,
2800 | "display": "inline-flex",
2801 | "flex": null,
2802 | "flex_flow": "row wrap",
2803 | "grid_area": null,
2804 | "grid_auto_columns": null,
2805 | "grid_auto_flow": null,
2806 | "grid_auto_rows": null,
2807 | "grid_column": null,
2808 | "grid_gap": null,
2809 | "grid_row": null,
2810 | "grid_template_areas": null,
2811 | "grid_template_columns": null,
2812 | "grid_template_rows": null,
2813 | "height": null,
2814 | "justify_content": null,
2815 | "justify_items": null,
2816 | "left": null,
2817 | "margin": null,
2818 | "max_height": null,
2819 | "max_width": null,
2820 | "min_height": null,
2821 | "min_width": null,
2822 | "object_fit": null,
2823 | "object_position": null,
2824 | "order": null,
2825 | "overflow": null,
2826 | "overflow_x": null,
2827 | "overflow_y": null,
2828 | "padding": null,
2829 | "right": null,
2830 | "top": null,
2831 | "visibility": null,
2832 | "width": "100%"
2833 | }
2834 | },
2835 | "353c5973a79b402e92f2140b436e6c1d": {
2836 | "model_module": "@jupyter-widgets/base",
2837 | "model_name": "LayoutModel",
2838 | "model_module_version": "1.2.0",
2839 | "state": {
2840 | "_model_module": "@jupyter-widgets/base",
2841 | "_model_module_version": "1.2.0",
2842 | "_model_name": "LayoutModel",
2843 | "_view_count": null,
2844 | "_view_module": "@jupyter-widgets/base",
2845 | "_view_module_version": "1.2.0",
2846 | "_view_name": "LayoutView",
2847 | "align_content": null,
2848 | "align_items": null,
2849 | "align_self": null,
2850 | "border": null,
2851 | "bottom": null,
2852 | "display": null,
2853 | "flex": null,
2854 | "flex_flow": null,
2855 | "grid_area": null,
2856 | "grid_auto_columns": null,
2857 | "grid_auto_flow": null,
2858 | "grid_auto_rows": null,
2859 | "grid_column": null,
2860 | "grid_gap": null,
2861 | "grid_row": null,
2862 | "grid_template_areas": null,
2863 | "grid_template_columns": null,
2864 | "grid_template_rows": null,
2865 | "height": null,
2866 | "justify_content": null,
2867 | "justify_items": null,
2868 | "left": null,
2869 | "margin": null,
2870 | "max_height": null,
2871 | "max_width": null,
2872 | "min_height": null,
2873 | "min_width": null,
2874 | "object_fit": null,
2875 | "object_position": null,
2876 | "order": null,
2877 | "overflow": null,
2878 | "overflow_x": null,
2879 | "overflow_y": null,
2880 | "padding": null,
2881 | "right": null,
2882 | "top": null,
2883 | "visibility": null,
2884 | "width": null
2885 | }
2886 | },
2887 | "32dc283e573543c78866f706a5f93821": {
2888 | "model_module": "@jupyter-widgets/controls",
2889 | "model_name": "DescriptionStyleModel",
2890 | "model_module_version": "1.5.0",
2891 | "state": {
2892 | "_model_module": "@jupyter-widgets/controls",
2893 | "_model_module_version": "1.5.0",
2894 | "_model_name": "DescriptionStyleModel",
2895 | "_view_count": null,
2896 | "_view_module": "@jupyter-widgets/base",
2897 | "_view_module_version": "1.2.0",
2898 | "_view_name": "StyleView",
2899 | "description_width": ""
2900 | }
2901 | },
2902 | "fa75dee6148d400eb308a1a074d347f8": {
2903 | "model_module": "@jupyter-widgets/base",
2904 | "model_name": "LayoutModel",
2905 | "model_module_version": "1.2.0",
2906 | "state": {
2907 | "_model_module": "@jupyter-widgets/base",
2908 | "_model_module_version": "1.2.0",
2909 | "_model_name": "LayoutModel",
2910 | "_view_count": null,
2911 | "_view_module": "@jupyter-widgets/base",
2912 | "_view_module_version": "1.2.0",
2913 | "_view_name": "LayoutView",
2914 | "align_content": null,
2915 | "align_items": null,
2916 | "align_self": null,
2917 | "border": null,
2918 | "bottom": null,
2919 | "display": null,
2920 | "flex": "2",
2921 | "flex_flow": null,
2922 | "grid_area": null,
2923 | "grid_auto_columns": null,
2924 | "grid_auto_flow": null,
2925 | "grid_auto_rows": null,
2926 | "grid_column": null,
2927 | "grid_gap": null,
2928 | "grid_row": null,
2929 | "grid_template_areas": null,
2930 | "grid_template_columns": null,
2931 | "grid_template_rows": null,
2932 | "height": null,
2933 | "justify_content": null,
2934 | "justify_items": null,
2935 | "left": null,
2936 | "margin": null,
2937 | "max_height": null,
2938 | "max_width": null,
2939 | "min_height": null,
2940 | "min_width": null,
2941 | "object_fit": null,
2942 | "object_position": null,
2943 | "order": null,
2944 | "overflow": null,
2945 | "overflow_x": null,
2946 | "overflow_y": null,
2947 | "padding": null,
2948 | "right": null,
2949 | "top": null,
2950 | "visibility": null,
2951 | "width": null
2952 | }
2953 | },
2954 | "35c78d8f8a874b1f84c8ee9af7fd983a": {
2955 | "model_module": "@jupyter-widgets/controls",
2956 | "model_name": "ProgressStyleModel",
2957 | "model_module_version": "1.5.0",
2958 | "state": {
2959 | "_model_module": "@jupyter-widgets/controls",
2960 | "_model_module_version": "1.5.0",
2961 | "_model_name": "ProgressStyleModel",
2962 | "_view_count": null,
2963 | "_view_module": "@jupyter-widgets/base",
2964 | "_view_module_version": "1.2.0",
2965 | "_view_name": "StyleView",
2966 | "bar_color": null,
2967 | "description_width": ""
2968 | }
2969 | },
2970 | "d139ecb729a8412186359f745633608d": {
2971 | "model_module": "@jupyter-widgets/base",
2972 | "model_name": "LayoutModel",
2973 | "model_module_version": "1.2.0",
2974 | "state": {
2975 | "_model_module": "@jupyter-widgets/base",
2976 | "_model_module_version": "1.2.0",
2977 | "_model_name": "LayoutModel",
2978 | "_view_count": null,
2979 | "_view_module": "@jupyter-widgets/base",
2980 | "_view_module_version": "1.2.0",
2981 | "_view_name": "LayoutView",
2982 | "align_content": null,
2983 | "align_items": null,
2984 | "align_self": null,
2985 | "border": null,
2986 | "bottom": null,
2987 | "display": null,
2988 | "flex": null,
2989 | "flex_flow": null,
2990 | "grid_area": null,
2991 | "grid_auto_columns": null,
2992 | "grid_auto_flow": null,
2993 | "grid_auto_rows": null,
2994 | "grid_column": null,
2995 | "grid_gap": null,
2996 | "grid_row": null,
2997 | "grid_template_areas": null,
2998 | "grid_template_columns": null,
2999 | "grid_template_rows": null,
3000 | "height": null,
3001 | "justify_content": null,
3002 | "justify_items": null,
3003 | "left": null,
3004 | "margin": null,
3005 | "max_height": null,
3006 | "max_width": null,
3007 | "min_height": null,
3008 | "min_width": null,
3009 | "object_fit": null,
3010 | "object_position": null,
3011 | "order": null,
3012 | "overflow": null,
3013 | "overflow_x": null,
3014 | "overflow_y": null,
3015 | "padding": null,
3016 | "right": null,
3017 | "top": null,
3018 | "visibility": null,
3019 | "width": null
3020 | }
3021 | },
3022 | "cba0438ee33240c487effa861e7ef120": {
3023 | "model_module": "@jupyter-widgets/controls",
3024 | "model_name": "DescriptionStyleModel",
3025 | "model_module_version": "1.5.0",
3026 | "state": {
3027 | "_model_module": "@jupyter-widgets/controls",
3028 | "_model_module_version": "1.5.0",
3029 | "_model_name": "DescriptionStyleModel",
3030 | "_view_count": null,
3031 | "_view_module": "@jupyter-widgets/base",
3032 | "_view_module_version": "1.2.0",
3033 | "_view_name": "StyleView",
3034 | "description_width": ""
3035 | }
3036 | },
3037 | "44c526d02a4e4ccc8a8ceba0f3048b62": {
3038 | "model_module": "@jupyter-widgets/controls",
3039 | "model_name": "HBoxModel",
3040 | "model_module_version": "1.5.0",
3041 | "state": {
3042 | "_dom_classes": [],
3043 | "_model_module": "@jupyter-widgets/controls",
3044 | "_model_module_version": "1.5.0",
3045 | "_model_name": "HBoxModel",
3046 | "_view_count": null,
3047 | "_view_module": "@jupyter-widgets/controls",
3048 | "_view_module_version": "1.5.0",
3049 | "_view_name": "HBoxView",
3050 | "box_style": "",
3051 | "children": [
3052 | "IPY_MODEL_406deff2072444be8ff157c18a0a3db4",
3053 | "IPY_MODEL_79e5bab57f704e729df0e6fb154ca65e",
3054 | "IPY_MODEL_dbdc4d1ccbf347038c546871ce61c162"
3055 | ],
3056 | "layout": "IPY_MODEL_1245d881567d4a76ac1bd009d75e485b"
3057 | }
3058 | },
3059 | "406deff2072444be8ff157c18a0a3db4": {
3060 | "model_module": "@jupyter-widgets/controls",
3061 | "model_name": "HTMLModel",
3062 | "model_module_version": "1.5.0",
3063 | "state": {
3064 | "_dom_classes": [],
3065 | "_model_module": "@jupyter-widgets/controls",
3066 | "_model_module_version": "1.5.0",
3067 | "_model_name": "HTMLModel",
3068 | "_view_count": null,
3069 | "_view_module": "@jupyter-widgets/controls",
3070 | "_view_module_version": "1.5.0",
3071 | "_view_name": "HTMLView",
3072 | "description": "",
3073 | "description_tooltip": null,
3074 | "layout": "IPY_MODEL_bc4a9355999047aa8f74658eefc57ac5",
3075 | "placeholder": "",
3076 | "style": "IPY_MODEL_12cda2b1613a4acc808542ee5bbe61d2",
3077 | "value": "100%"
3078 | }
3079 | },
3080 | "79e5bab57f704e729df0e6fb154ca65e": {
3081 | "model_module": "@jupyter-widgets/controls",
3082 | "model_name": "FloatProgressModel",
3083 | "model_module_version": "1.5.0",
3084 | "state": {
3085 | "_dom_classes": [],
3086 | "_model_module": "@jupyter-widgets/controls",
3087 | "_model_module_version": "1.5.0",
3088 | "_model_name": "FloatProgressModel",
3089 | "_view_count": null,
3090 | "_view_module": "@jupyter-widgets/controls",
3091 | "_view_module_version": "1.5.0",
3092 | "_view_name": "ProgressView",
3093 | "bar_style": "success",
3094 | "description": "",
3095 | "description_tooltip": null,
3096 | "layout": "IPY_MODEL_1a21df1ffde5404a9c4d6f26b5b48f80",
3097 | "max": 16,
3098 | "min": 0,
3099 | "orientation": "horizontal",
3100 | "style": "IPY_MODEL_69dbb3ac985f4ec58d309475bb7f6197",
3101 | "value": 16
3102 | }
3103 | },
3104 | "dbdc4d1ccbf347038c546871ce61c162": {
3105 | "model_module": "@jupyter-widgets/controls",
3106 | "model_name": "HTMLModel",
3107 | "model_module_version": "1.5.0",
3108 | "state": {
3109 | "_dom_classes": [],
3110 | "_model_module": "@jupyter-widgets/controls",
3111 | "_model_module_version": "1.5.0",
3112 | "_model_name": "HTMLModel",
3113 | "_view_count": null,
3114 | "_view_module": "@jupyter-widgets/controls",
3115 | "_view_module_version": "1.5.0",
3116 | "_view_name": "HTMLView",
3117 | "description": "",
3118 | "description_tooltip": null,
3119 | "layout": "IPY_MODEL_0babb170cc3346b1bed2598728795253",
3120 | "placeholder": "",
3121 | "style": "IPY_MODEL_8b2b275049f34f8f858229ac032badc7",
3122 | "value": " 16/16 [00:09<00:00, 1.65it/s]"
3123 | }
3124 | },
3125 | "1245d881567d4a76ac1bd009d75e485b": {
3126 | "model_module": "@jupyter-widgets/base",
3127 | "model_name": "LayoutModel",
3128 | "model_module_version": "1.2.0",
3129 | "state": {
3130 | "_model_module": "@jupyter-widgets/base",
3131 | "_model_module_version": "1.2.0",
3132 | "_model_name": "LayoutModel",
3133 | "_view_count": null,
3134 | "_view_module": "@jupyter-widgets/base",
3135 | "_view_module_version": "1.2.0",
3136 | "_view_name": "LayoutView",
3137 | "align_content": null,
3138 | "align_items": null,
3139 | "align_self": null,
3140 | "border": null,
3141 | "bottom": null,
3142 | "display": "inline-flex",
3143 | "flex": null,
3144 | "flex_flow": "row wrap",
3145 | "grid_area": null,
3146 | "grid_auto_columns": null,
3147 | "grid_auto_flow": null,
3148 | "grid_auto_rows": null,
3149 | "grid_column": null,
3150 | "grid_gap": null,
3151 | "grid_row": null,
3152 | "grid_template_areas": null,
3153 | "grid_template_columns": null,
3154 | "grid_template_rows": null,
3155 | "height": null,
3156 | "justify_content": null,
3157 | "justify_items": null,
3158 | "left": null,
3159 | "margin": null,
3160 | "max_height": null,
3161 | "max_width": null,
3162 | "min_height": null,
3163 | "min_width": null,
3164 | "object_fit": null,
3165 | "object_position": null,
3166 | "order": null,
3167 | "overflow": null,
3168 | "overflow_x": null,
3169 | "overflow_y": null,
3170 | "padding": null,
3171 | "right": null,
3172 | "top": null,
3173 | "visibility": null,
3174 | "width": "100%"
3175 | }
3176 | },
3177 | "bc4a9355999047aa8f74658eefc57ac5": {
3178 | "model_module": "@jupyter-widgets/base",
3179 | "model_name": "LayoutModel",
3180 | "model_module_version": "1.2.0",
3181 | "state": {
3182 | "_model_module": "@jupyter-widgets/base",
3183 | "_model_module_version": "1.2.0",
3184 | "_model_name": "LayoutModel",
3185 | "_view_count": null,
3186 | "_view_module": "@jupyter-widgets/base",
3187 | "_view_module_version": "1.2.0",
3188 | "_view_name": "LayoutView",
3189 | "align_content": null,
3190 | "align_items": null,
3191 | "align_self": null,
3192 | "border": null,
3193 | "bottom": null,
3194 | "display": null,
3195 | "flex": null,
3196 | "flex_flow": null,
3197 | "grid_area": null,
3198 | "grid_auto_columns": null,
3199 | "grid_auto_flow": null,
3200 | "grid_auto_rows": null,
3201 | "grid_column": null,
3202 | "grid_gap": null,
3203 | "grid_row": null,
3204 | "grid_template_areas": null,
3205 | "grid_template_columns": null,
3206 | "grid_template_rows": null,
3207 | "height": null,
3208 | "justify_content": null,
3209 | "justify_items": null,
3210 | "left": null,
3211 | "margin": null,
3212 | "max_height": null,
3213 | "max_width": null,
3214 | "min_height": null,
3215 | "min_width": null,
3216 | "object_fit": null,
3217 | "object_position": null,
3218 | "order": null,
3219 | "overflow": null,
3220 | "overflow_x": null,
3221 | "overflow_y": null,
3222 | "padding": null,
3223 | "right": null,
3224 | "top": null,
3225 | "visibility": null,
3226 | "width": null
3227 | }
3228 | },
3229 | "12cda2b1613a4acc808542ee5bbe61d2": {
3230 | "model_module": "@jupyter-widgets/controls",
3231 | "model_name": "DescriptionStyleModel",
3232 | "model_module_version": "1.5.0",
3233 | "state": {
3234 | "_model_module": "@jupyter-widgets/controls",
3235 | "_model_module_version": "1.5.0",
3236 | "_model_name": "DescriptionStyleModel",
3237 | "_view_count": null,
3238 | "_view_module": "@jupyter-widgets/base",
3239 | "_view_module_version": "1.2.0",
3240 | "_view_name": "StyleView",
3241 | "description_width": ""
3242 | }
3243 | },
3244 | "1a21df1ffde5404a9c4d6f26b5b48f80": {
3245 | "model_module": "@jupyter-widgets/base",
3246 | "model_name": "LayoutModel",
3247 | "model_module_version": "1.2.0",
3248 | "state": {
3249 | "_model_module": "@jupyter-widgets/base",
3250 | "_model_module_version": "1.2.0",
3251 | "_model_name": "LayoutModel",
3252 | "_view_count": null,
3253 | "_view_module": "@jupyter-widgets/base",
3254 | "_view_module_version": "1.2.0",
3255 | "_view_name": "LayoutView",
3256 | "align_content": null,
3257 | "align_items": null,
3258 | "align_self": null,
3259 | "border": null,
3260 | "bottom": null,
3261 | "display": null,
3262 | "flex": "2",
3263 | "flex_flow": null,
3264 | "grid_area": null,
3265 | "grid_auto_columns": null,
3266 | "grid_auto_flow": null,
3267 | "grid_auto_rows": null,
3268 | "grid_column": null,
3269 | "grid_gap": null,
3270 | "grid_row": null,
3271 | "grid_template_areas": null,
3272 | "grid_template_columns": null,
3273 | "grid_template_rows": null,
3274 | "height": null,
3275 | "justify_content": null,
3276 | "justify_items": null,
3277 | "left": null,
3278 | "margin": null,
3279 | "max_height": null,
3280 | "max_width": null,
3281 | "min_height": null,
3282 | "min_width": null,
3283 | "object_fit": null,
3284 | "object_position": null,
3285 | "order": null,
3286 | "overflow": null,
3287 | "overflow_x": null,
3288 | "overflow_y": null,
3289 | "padding": null,
3290 | "right": null,
3291 | "top": null,
3292 | "visibility": null,
3293 | "width": null
3294 | }
3295 | },
3296 | "69dbb3ac985f4ec58d309475bb7f6197": {
3297 | "model_module": "@jupyter-widgets/controls",
3298 | "model_name": "ProgressStyleModel",
3299 | "model_module_version": "1.5.0",
3300 | "state": {
3301 | "_model_module": "@jupyter-widgets/controls",
3302 | "_model_module_version": "1.5.0",
3303 | "_model_name": "ProgressStyleModel",
3304 | "_view_count": null,
3305 | "_view_module": "@jupyter-widgets/base",
3306 | "_view_module_version": "1.2.0",
3307 | "_view_name": "StyleView",
3308 | "bar_color": null,
3309 | "description_width": ""
3310 | }
3311 | },
3312 | "0babb170cc3346b1bed2598728795253": {
3313 | "model_module": "@jupyter-widgets/base",
3314 | "model_name": "LayoutModel",
3315 | "model_module_version": "1.2.0",
3316 | "state": {
3317 | "_model_module": "@jupyter-widgets/base",
3318 | "_model_module_version": "1.2.0",
3319 | "_model_name": "LayoutModel",
3320 | "_view_count": null,
3321 | "_view_module": "@jupyter-widgets/base",
3322 | "_view_module_version": "1.2.0",
3323 | "_view_name": "LayoutView",
3324 | "align_content": null,
3325 | "align_items": null,
3326 | "align_self": null,
3327 | "border": null,
3328 | "bottom": null,
3329 | "display": null,
3330 | "flex": null,
3331 | "flex_flow": null,
3332 | "grid_area": null,
3333 | "grid_auto_columns": null,
3334 | "grid_auto_flow": null,
3335 | "grid_auto_rows": null,
3336 | "grid_column": null,
3337 | "grid_gap": null,
3338 | "grid_row": null,
3339 | "grid_template_areas": null,
3340 | "grid_template_columns": null,
3341 | "grid_template_rows": null,
3342 | "height": null,
3343 | "justify_content": null,
3344 | "justify_items": null,
3345 | "left": null,
3346 | "margin": null,
3347 | "max_height": null,
3348 | "max_width": null,
3349 | "min_height": null,
3350 | "min_width": null,
3351 | "object_fit": null,
3352 | "object_position": null,
3353 | "order": null,
3354 | "overflow": null,
3355 | "overflow_x": null,
3356 | "overflow_y": null,
3357 | "padding": null,
3358 | "right": null,
3359 | "top": null,
3360 | "visibility": null,
3361 | "width": null
3362 | }
3363 | },
3364 | "8b2b275049f34f8f858229ac032badc7": {
3365 | "model_module": "@jupyter-widgets/controls",
3366 | "model_name": "DescriptionStyleModel",
3367 | "model_module_version": "1.5.0",
3368 | "state": {
3369 | "_model_module": "@jupyter-widgets/controls",
3370 | "_model_module_version": "1.5.0",
3371 | "_model_name": "DescriptionStyleModel",
3372 | "_view_count": null,
3373 | "_view_module": "@jupyter-widgets/base",
3374 | "_view_module_version": "1.2.0",
3375 | "_view_name": "StyleView",
3376 | "description_width": ""
3377 | }
3378 | },
3379 | "e7ca008ce8ca4d659d918adb6d801c3a": {
3380 | "model_module": "@jupyter-widgets/controls",
3381 | "model_name": "HBoxModel",
3382 | "model_module_version": "1.5.0",
3383 | "state": {
3384 | "_dom_classes": [],
3385 | "_model_module": "@jupyter-widgets/controls",
3386 | "_model_module_version": "1.5.0",
3387 | "_model_name": "HBoxModel",
3388 | "_view_count": null,
3389 | "_view_module": "@jupyter-widgets/controls",
3390 | "_view_module_version": "1.5.0",
3391 | "_view_name": "HBoxView",
3392 | "box_style": "",
3393 | "children": [
3394 | "IPY_MODEL_0d9e005f6d9a43d9b6e0817a7da29fe1",
3395 | "IPY_MODEL_a8e26ade5f19471b8f7bada0d0fa0992",
3396 | "IPY_MODEL_954cdf24e128439e85cb713a714308e0"
3397 | ],
3398 | "layout": "IPY_MODEL_26160ed6b8bc45fc8f3c24077c4b47e7"
3399 | }
3400 | },
3401 | "0d9e005f6d9a43d9b6e0817a7da29fe1": {
3402 | "model_module": "@jupyter-widgets/controls",
3403 | "model_name": "HTMLModel",
3404 | "model_module_version": "1.5.0",
3405 | "state": {
3406 | "_dom_classes": [],
3407 | "_model_module": "@jupyter-widgets/controls",
3408 | "_model_module_version": "1.5.0",
3409 | "_model_name": "HTMLModel",
3410 | "_view_count": null,
3411 | "_view_module": "@jupyter-widgets/controls",
3412 | "_view_module_version": "1.5.0",
3413 | "_view_name": "HTMLView",
3414 | "description": "",
3415 | "description_tooltip": null,
3416 | "layout": "IPY_MODEL_2bee186efbbc489aae07101939c02953",
3417 | "placeholder": "",
3418 | "style": "IPY_MODEL_13d35f069c69446ba91e53df0858cdd3",
3419 | "value": "100%"
3420 | }
3421 | },
3422 | "a8e26ade5f19471b8f7bada0d0fa0992": {
3423 | "model_module": "@jupyter-widgets/controls",
3424 | "model_name": "FloatProgressModel",
3425 | "model_module_version": "1.5.0",
3426 | "state": {
3427 | "_dom_classes": [],
3428 | "_model_module": "@jupyter-widgets/controls",
3429 | "_model_module_version": "1.5.0",
3430 | "_model_name": "FloatProgressModel",
3431 | "_view_count": null,
3432 | "_view_module": "@jupyter-widgets/controls",
3433 | "_view_module_version": "1.5.0",
3434 | "_view_name": "ProgressView",
3435 | "bar_style": "success",
3436 | "description": "",
3437 | "description_tooltip": null,
3438 | "layout": "IPY_MODEL_cb2a3803b4814a6ea7ce4e0b0f1e8bff",
3439 | "max": 16,
3440 | "min": 0,
3441 | "orientation": "horizontal",
3442 | "style": "IPY_MODEL_aa82c8e2500740a5906e80304eedcca9",
3443 | "value": 16
3444 | }
3445 | },
3446 | "954cdf24e128439e85cb713a714308e0": {
3447 | "model_module": "@jupyter-widgets/controls",
3448 | "model_name": "HTMLModel",
3449 | "model_module_version": "1.5.0",
3450 | "state": {
3451 | "_dom_classes": [],
3452 | "_model_module": "@jupyter-widgets/controls",
3453 | "_model_module_version": "1.5.0",
3454 | "_model_name": "HTMLModel",
3455 | "_view_count": null,
3456 | "_view_module": "@jupyter-widgets/controls",
3457 | "_view_module_version": "1.5.0",
3458 | "_view_name": "HTMLView",
3459 | "description": "",
3460 | "description_tooltip": null,
3461 | "layout": "IPY_MODEL_0d7cb55684f146128c57da44db95ae5c",
3462 | "placeholder": "",
3463 | "style": "IPY_MODEL_085a2bb9d5024835a4f834a4f251c9d7",
3464 | "value": " 16/16 [00:09<00:00, 1.54it/s]"
3465 | }
3466 | },
3467 | "26160ed6b8bc45fc8f3c24077c4b47e7": {
3468 | "model_module": "@jupyter-widgets/base",
3469 | "model_name": "LayoutModel",
3470 | "model_module_version": "1.2.0",
3471 | "state": {
3472 | "_model_module": "@jupyter-widgets/base",
3473 | "_model_module_version": "1.2.0",
3474 | "_model_name": "LayoutModel",
3475 | "_view_count": null,
3476 | "_view_module": "@jupyter-widgets/base",
3477 | "_view_module_version": "1.2.0",
3478 | "_view_name": "LayoutView",
3479 | "align_content": null,
3480 | "align_items": null,
3481 | "align_self": null,
3482 | "border": null,
3483 | "bottom": null,
3484 | "display": "inline-flex",
3485 | "flex": null,
3486 | "flex_flow": "row wrap",
3487 | "grid_area": null,
3488 | "grid_auto_columns": null,
3489 | "grid_auto_flow": null,
3490 | "grid_auto_rows": null,
3491 | "grid_column": null,
3492 | "grid_gap": null,
3493 | "grid_row": null,
3494 | "grid_template_areas": null,
3495 | "grid_template_columns": null,
3496 | "grid_template_rows": null,
3497 | "height": null,
3498 | "justify_content": null,
3499 | "justify_items": null,
3500 | "left": null,
3501 | "margin": null,
3502 | "max_height": null,
3503 | "max_width": null,
3504 | "min_height": null,
3505 | "min_width": null,
3506 | "object_fit": null,
3507 | "object_position": null,
3508 | "order": null,
3509 | "overflow": null,
3510 | "overflow_x": null,
3511 | "overflow_y": null,
3512 | "padding": null,
3513 | "right": null,
3514 | "top": null,
3515 | "visibility": null,
3516 | "width": "100%"
3517 | }
3518 | },
3519 | "2bee186efbbc489aae07101939c02953": {
3520 | "model_module": "@jupyter-widgets/base",
3521 | "model_name": "LayoutModel",
3522 | "model_module_version": "1.2.0",
3523 | "state": {
3524 | "_model_module": "@jupyter-widgets/base",
3525 | "_model_module_version": "1.2.0",
3526 | "_model_name": "LayoutModel",
3527 | "_view_count": null,
3528 | "_view_module": "@jupyter-widgets/base",
3529 | "_view_module_version": "1.2.0",
3530 | "_view_name": "LayoutView",
3531 | "align_content": null,
3532 | "align_items": null,
3533 | "align_self": null,
3534 | "border": null,
3535 | "bottom": null,
3536 | "display": null,
3537 | "flex": null,
3538 | "flex_flow": null,
3539 | "grid_area": null,
3540 | "grid_auto_columns": null,
3541 | "grid_auto_flow": null,
3542 | "grid_auto_rows": null,
3543 | "grid_column": null,
3544 | "grid_gap": null,
3545 | "grid_row": null,
3546 | "grid_template_areas": null,
3547 | "grid_template_columns": null,
3548 | "grid_template_rows": null,
3549 | "height": null,
3550 | "justify_content": null,
3551 | "justify_items": null,
3552 | "left": null,
3553 | "margin": null,
3554 | "max_height": null,
3555 | "max_width": null,
3556 | "min_height": null,
3557 | "min_width": null,
3558 | "object_fit": null,
3559 | "object_position": null,
3560 | "order": null,
3561 | "overflow": null,
3562 | "overflow_x": null,
3563 | "overflow_y": null,
3564 | "padding": null,
3565 | "right": null,
3566 | "top": null,
3567 | "visibility": null,
3568 | "width": null
3569 | }
3570 | },
3571 | "13d35f069c69446ba91e53df0858cdd3": {
3572 | "model_module": "@jupyter-widgets/controls",
3573 | "model_name": "DescriptionStyleModel",
3574 | "model_module_version": "1.5.0",
3575 | "state": {
3576 | "_model_module": "@jupyter-widgets/controls",
3577 | "_model_module_version": "1.5.0",
3578 | "_model_name": "DescriptionStyleModel",
3579 | "_view_count": null,
3580 | "_view_module": "@jupyter-widgets/base",
3581 | "_view_module_version": "1.2.0",
3582 | "_view_name": "StyleView",
3583 | "description_width": ""
3584 | }
3585 | },
3586 | "cb2a3803b4814a6ea7ce4e0b0f1e8bff": {
3587 | "model_module": "@jupyter-widgets/base",
3588 | "model_name": "LayoutModel",
3589 | "model_module_version": "1.2.0",
3590 | "state": {
3591 | "_model_module": "@jupyter-widgets/base",
3592 | "_model_module_version": "1.2.0",
3593 | "_model_name": "LayoutModel",
3594 | "_view_count": null,
3595 | "_view_module": "@jupyter-widgets/base",
3596 | "_view_module_version": "1.2.0",
3597 | "_view_name": "LayoutView",
3598 | "align_content": null,
3599 | "align_items": null,
3600 | "align_self": null,
3601 | "border": null,
3602 | "bottom": null,
3603 | "display": null,
3604 | "flex": "2",
3605 | "flex_flow": null,
3606 | "grid_area": null,
3607 | "grid_auto_columns": null,
3608 | "grid_auto_flow": null,
3609 | "grid_auto_rows": null,
3610 | "grid_column": null,
3611 | "grid_gap": null,
3612 | "grid_row": null,
3613 | "grid_template_areas": null,
3614 | "grid_template_columns": null,
3615 | "grid_template_rows": null,
3616 | "height": null,
3617 | "justify_content": null,
3618 | "justify_items": null,
3619 | "left": null,
3620 | "margin": null,
3621 | "max_height": null,
3622 | "max_width": null,
3623 | "min_height": null,
3624 | "min_width": null,
3625 | "object_fit": null,
3626 | "object_position": null,
3627 | "order": null,
3628 | "overflow": null,
3629 | "overflow_x": null,
3630 | "overflow_y": null,
3631 | "padding": null,
3632 | "right": null,
3633 | "top": null,
3634 | "visibility": null,
3635 | "width": null
3636 | }
3637 | },
3638 | "aa82c8e2500740a5906e80304eedcca9": {
3639 | "model_module": "@jupyter-widgets/controls",
3640 | "model_name": "ProgressStyleModel",
3641 | "model_module_version": "1.5.0",
3642 | "state": {
3643 | "_model_module": "@jupyter-widgets/controls",
3644 | "_model_module_version": "1.5.0",
3645 | "_model_name": "ProgressStyleModel",
3646 | "_view_count": null,
3647 | "_view_module": "@jupyter-widgets/base",
3648 | "_view_module_version": "1.2.0",
3649 | "_view_name": "StyleView",
3650 | "bar_color": null,
3651 | "description_width": ""
3652 | }
3653 | },
3654 | "0d7cb55684f146128c57da44db95ae5c": {
3655 | "model_module": "@jupyter-widgets/base",
3656 | "model_name": "LayoutModel",
3657 | "model_module_version": "1.2.0",
3658 | "state": {
3659 | "_model_module": "@jupyter-widgets/base",
3660 | "_model_module_version": "1.2.0",
3661 | "_model_name": "LayoutModel",
3662 | "_view_count": null,
3663 | "_view_module": "@jupyter-widgets/base",
3664 | "_view_module_version": "1.2.0",
3665 | "_view_name": "LayoutView",
3666 | "align_content": null,
3667 | "align_items": null,
3668 | "align_self": null,
3669 | "border": null,
3670 | "bottom": null,
3671 | "display": null,
3672 | "flex": null,
3673 | "flex_flow": null,
3674 | "grid_area": null,
3675 | "grid_auto_columns": null,
3676 | "grid_auto_flow": null,
3677 | "grid_auto_rows": null,
3678 | "grid_column": null,
3679 | "grid_gap": null,
3680 | "grid_row": null,
3681 | "grid_template_areas": null,
3682 | "grid_template_columns": null,
3683 | "grid_template_rows": null,
3684 | "height": null,
3685 | "justify_content": null,
3686 | "justify_items": null,
3687 | "left": null,
3688 | "margin": null,
3689 | "max_height": null,
3690 | "max_width": null,
3691 | "min_height": null,
3692 | "min_width": null,
3693 | "object_fit": null,
3694 | "object_position": null,
3695 | "order": null,
3696 | "overflow": null,
3697 | "overflow_x": null,
3698 | "overflow_y": null,
3699 | "padding": null,
3700 | "right": null,
3701 | "top": null,
3702 | "visibility": null,
3703 | "width": null
3704 | }
3705 | },
3706 | "085a2bb9d5024835a4f834a4f251c9d7": {
3707 | "model_module": "@jupyter-widgets/controls",
3708 | "model_name": "DescriptionStyleModel",
3709 | "model_module_version": "1.5.0",
3710 | "state": {
3711 | "_model_module": "@jupyter-widgets/controls",
3712 | "_model_module_version": "1.5.0",
3713 | "_model_name": "DescriptionStyleModel",
3714 | "_view_count": null,
3715 | "_view_module": "@jupyter-widgets/base",
3716 | "_view_module_version": "1.2.0",
3717 | "_view_name": "StyleView",
3718 | "description_width": ""
3719 | }
3720 | }
3721 | }
3722 | }
3723 | },
3724 | "nbformat": 4,
3725 | "nbformat_minor": 0
3726 | }
--------------------------------------------------------------------------------