Spaces:
Runtime error
Runtime error
Upload Train.ipynb
Browse files- Train.ipynb +985 -0
Train.ipynb
ADDED
@@ -0,0 +1,985 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
+
"id": "3ece795d",
|
7 |
+
"metadata": {
|
8 |
+
"cellId": "icbn5fcdkdjmv2xo6f1uym"
|
9 |
+
},
|
10 |
+
"outputs": [],
|
11 |
+
"source": [
|
12 |
+
"#!g1.1\n",
|
13 |
+
"from sklearn.preprocessing import LabelEncoder\n",
|
14 |
+
"import transformers\n",
|
15 |
+
"import torch\n",
|
16 |
+
"import nltk\n",
|
17 |
+
"import numpy as np\n",
|
18 |
+
"import pandas as pd"
|
19 |
+
]
|
20 |
+
},
|
21 |
+
{
|
22 |
+
"cell_type": "code",
|
23 |
+
"execution_count": 2,
|
24 |
+
"id": "2383e35c",
|
25 |
+
"metadata": {
|
26 |
+
"cellId": "r7277d47zkhjj04zr4od8g"
|
27 |
+
},
|
28 |
+
"outputs": [
|
29 |
+
{
|
30 |
+
"data": {
|
31 |
+
"application/vnd.jupyter.widget-view+json": {
|
32 |
+
"model_id": "a3fbc0c0072b4198bb84d870b39a6c74",
|
33 |
+
"version_major": 2,
|
34 |
+
"version_minor": 0
|
35 |
+
},
|
36 |
+
"text/plain": [
|
37 |
+
"HBox(children=(FloatProgress(value=0.0, description='Downloading', max=1202.0, style=ProgressStyle(description…"
|
38 |
+
]
|
39 |
+
},
|
40 |
+
"metadata": {},
|
41 |
+
"output_type": "display_data"
|
42 |
+
},
|
43 |
+
{
|
44 |
+
"name": "stdout",
|
45 |
+
"output_type": "stream",
|
46 |
+
"text": [
|
47 |
+
"\n"
|
48 |
+
]
|
49 |
+
},
|
50 |
+
{
|
51 |
+
"name": "stderr",
|
52 |
+
"output_type": "stream",
|
53 |
+
"text": [
|
54 |
+
"Using custom data configuration default\n"
|
55 |
+
]
|
56 |
+
},
|
57 |
+
{
|
58 |
+
"name": "stdout",
|
59 |
+
"output_type": "stream",
|
60 |
+
"text": [
|
61 |
+
"Downloading and preparing dataset json/default-71bc0cd49f840871 (download: Unknown size, generated: Unknown size, post-processed: Unknown size, total: Unknown size) to /tmp/xdg_cache/huggingface/datasets/json/default-71bc0cd49f840871/0.0.0/70d89ed4db1394f028c651589fcab6d6b28dddcabbe39d3b21b4d41f9a708514...\n"
|
62 |
+
]
|
63 |
+
},
|
64 |
+
{
|
65 |
+
"data": {
|
66 |
+
"application/vnd.jupyter.widget-view+json": {
|
67 |
+
"model_id": "f8063733bbb9475babf7469daf6e7d56",
|
68 |
+
"version_major": 2,
|
69 |
+
"version_minor": 0
|
70 |
+
},
|
71 |
+
"text/plain": [
|
72 |
+
"HBox(children=(FloatProgress(value=1.0, bar_style='info', layout=Layout(width='20px'), max=1.0), HTML(value=''…"
|
73 |
+
]
|
74 |
+
},
|
75 |
+
"metadata": {},
|
76 |
+
"output_type": "display_data"
|
77 |
+
},
|
78 |
+
{
|
79 |
+
"data": {
|
80 |
+
"application/vnd.jupyter.widget-view+json": {
|
81 |
+
"model_id": "f3df0e8c4d2a48968429ac5320020316",
|
82 |
+
"version_major": 2,
|
83 |
+
"version_minor": 0
|
84 |
+
},
|
85 |
+
"text/plain": [
|
86 |
+
"HBox(children=(FloatProgress(value=1.0, bar_style='info', layout=Layout(width='20px'), max=1.0), HTML(value=''…"
|
87 |
+
]
|
88 |
+
},
|
89 |
+
"metadata": {},
|
90 |
+
"output_type": "display_data"
|
91 |
+
},
|
92 |
+
{
|
93 |
+
"data": {
|
94 |
+
"application/vnd.jupyter.widget-view+json": {
|
95 |
+
"model_id": "71a715a43bcd4f4a859c247b1f375e51",
|
96 |
+
"version_major": 2,
|
97 |
+
"version_minor": 0
|
98 |
+
},
|
99 |
+
"text/plain": [
|
100 |
+
"HBox(children=(FloatProgress(value=1.0, bar_style='info', layout=Layout(width='20px'), max=1.0), HTML(value=''…"
|
101 |
+
]
|
102 |
+
},
|
103 |
+
"metadata": {},
|
104 |
+
"output_type": "display_data"
|
105 |
+
},
|
106 |
+
{
|
107 |
+
"name": "stdout",
|
108 |
+
"output_type": "stream",
|
109 |
+
"text": [
|
110 |
+
"Dataset json downloaded and prepared to /tmp/xdg_cache/huggingface/datasets/json/default-71bc0cd49f840871/0.0.0/70d89ed4db1394f028c651589fcab6d6b28dddcabbe39d3b21b4d41f9a708514. Subsequent calls will reuse this data.\n"
|
111 |
+
]
|
112 |
+
}
|
113 |
+
],
|
114 |
+
"source": [
|
115 |
+
"#!g1.1\n",
|
116 |
+
"from datasets import load_dataset\n",
|
117 |
+
"\n",
|
118 |
+
"dataset_train_test_val = load_dataset('json', \n",
|
119 |
+
" data_files={'train': 'train_dataset.json', 'test': 'test_dataset.json', 'val': 'val_dataset.json'})"
|
120 |
+
]
|
121 |
+
},
|
122 |
+
{
|
123 |
+
"cell_type": "code",
|
124 |
+
"execution_count": 3,
|
125 |
+
"id": "5affcf2d",
|
126 |
+
"metadata": {
|
127 |
+
"cellId": "d3dqrbyaerahlxtoqhusl"
|
128 |
+
},
|
129 |
+
"outputs": [
|
130 |
+
{
|
131 |
+
"data": {
|
132 |
+
"text/plain": [
|
133 |
+
"DatasetDict({\n",
|
134 |
+
" train: Dataset({\n",
|
135 |
+
" features: ['labels', 'input_ids', 'attention_mask'],\n",
|
136 |
+
" num_rows: 44928\n",
|
137 |
+
" })\n",
|
138 |
+
" test: Dataset({\n",
|
139 |
+
" features: ['labels', 'input_ids', 'attention_mask'],\n",
|
140 |
+
" num_rows: 11981\n",
|
141 |
+
" })\n",
|
142 |
+
" val: Dataset({\n",
|
143 |
+
" features: ['labels', 'input_ids', 'attention_mask'],\n",
|
144 |
+
" num_rows: 14976\n",
|
145 |
+
" })\n",
|
146 |
+
"})"
|
147 |
+
]
|
148 |
+
},
|
149 |
+
"execution_count": 3,
|
150 |
+
"metadata": {},
|
151 |
+
"output_type": "execute_result"
|
152 |
+
}
|
153 |
+
],
|
154 |
+
"source": [
|
155 |
+
"#!g1.1\n",
|
156 |
+
"dataset_train_test_val"
|
157 |
+
]
|
158 |
+
},
|
159 |
+
{
|
160 |
+
"cell_type": "code",
|
161 |
+
"execution_count": 4,
|
162 |
+
"id": "1a1956c6",
|
163 |
+
"metadata": {
|
164 |
+
"cellId": "iv6a51fd9tlbrs4he3kizo"
|
165 |
+
},
|
166 |
+
"outputs": [],
|
167 |
+
"source": [
|
168 |
+
"#!g1.1\n",
|
169 |
+
"train_dataset = dataset_train_test_val['train']\n",
|
170 |
+
"val_dataset = dataset_train_test_val['val']\n",
|
171 |
+
"test_dataset = dataset_train_test_val['test']"
|
172 |
+
]
|
173 |
+
},
|
174 |
+
{
|
175 |
+
"cell_type": "code",
|
176 |
+
"execution_count": 5,
|
177 |
+
"id": "c161630b",
|
178 |
+
"metadata": {
|
179 |
+
"cellId": "t9fridyqfq20q78rkgitt"
|
180 |
+
},
|
181 |
+
"outputs": [],
|
182 |
+
"source": [
|
183 |
+
"#!g1.1\n",
|
184 |
+
"train_dataset.set_format(\"torch\")\n",
|
185 |
+
"val_dataset.set_format(\"torch\")\n",
|
186 |
+
"test_dataset.set_format(\"torch\")"
|
187 |
+
]
|
188 |
+
},
|
189 |
+
{
|
190 |
+
"cell_type": "code",
|
191 |
+
"execution_count": 6,
|
192 |
+
"id": "7ee3ce1c",
|
193 |
+
"metadata": {
|
194 |
+
"cellId": "1y1jaan8t8gjs3masmvulu"
|
195 |
+
},
|
196 |
+
"outputs": [
|
197 |
+
{
|
198 |
+
"data": {
|
199 |
+
"application/vnd.jupyter.widget-view+json": {
|
200 |
+
"model_id": "4144d1c375104f64a4376b44dc68167a",
|
201 |
+
"version_major": 2,
|
202 |
+
"version_minor": 0
|
203 |
+
},
|
204 |
+
"text/plain": [
|
205 |
+
"HBox(children=(FloatProgress(value=0.0, description='Downloading', max=1248.0, style=ProgressStyle(description…"
|
206 |
+
]
|
207 |
+
},
|
208 |
+
"metadata": {},
|
209 |
+
"output_type": "display_data"
|
210 |
+
},
|
211 |
+
{
|
212 |
+
"name": "stdout",
|
213 |
+
"output_type": "stream",
|
214 |
+
"text": [
|
215 |
+
"\n"
|
216 |
+
]
|
217 |
+
}
|
218 |
+
],
|
219 |
+
"source": [
|
220 |
+
"#!g1.1\n",
|
221 |
+
"from datasets import load_metric\n",
|
222 |
+
"\n",
|
223 |
+
"metric = load_metric(\"accuracy\")\n",
|
224 |
+
"def compute_metrics(eval_pred):\n",
|
225 |
+
" logits, labels = eval_pred\n",
|
226 |
+
" predictions = np.argmax(logits, axis=-1)\n",
|
227 |
+
" return metric.compute(predictions=predictions, references=labels)"
|
228 |
+
]
|
229 |
+
},
|
230 |
+
{
|
231 |
+
"cell_type": "code",
|
232 |
+
"execution_count": 7,
|
233 |
+
"id": "c5d12dc8",
|
234 |
+
"metadata": {
|
235 |
+
"cellId": "6eds6is9lek1hcs87cizgy"
|
236 |
+
},
|
237 |
+
"outputs": [
|
238 |
+
{
|
239 |
+
"data": {
|
240 |
+
"application/vnd.jupyter.widget-view+json": {
|
241 |
+
"model_id": "4de02bce2bd448efa4d6e7c1e02c427a",
|
242 |
+
"version_major": 2,
|
243 |
+
"version_minor": 0
|
244 |
+
},
|
245 |
+
"text/plain": [
|
246 |
+
"HBox(children=(FloatProgress(value=0.0, description='Downloading', max=483.0, style=ProgressStyle(description_…"
|
247 |
+
]
|
248 |
+
},
|
249 |
+
"metadata": {},
|
250 |
+
"output_type": "display_data"
|
251 |
+
},
|
252 |
+
{
|
253 |
+
"name": "stdout",
|
254 |
+
"output_type": "stream",
|
255 |
+
"text": [
|
256 |
+
"\n"
|
257 |
+
]
|
258 |
+
},
|
259 |
+
{
|
260 |
+
"data": {
|
261 |
+
"application/vnd.jupyter.widget-view+json": {
|
262 |
+
"model_id": "e8f550b59f4b418094cbcb1d13c5dd97",
|
263 |
+
"version_major": 2,
|
264 |
+
"version_minor": 0
|
265 |
+
},
|
266 |
+
"text/plain": [
|
267 |
+
"HBox(children=(FloatProgress(value=0.0, description='Downloading', max=267967963.0, style=ProgressStyle(descri…"
|
268 |
+
]
|
269 |
+
},
|
270 |
+
"metadata": {},
|
271 |
+
"output_type": "display_data"
|
272 |
+
},
|
273 |
+
{
|
274 |
+
"name": "stdout",
|
275 |
+
"output_type": "stream",
|
276 |
+
"text": [
|
277 |
+
"\n"
|
278 |
+
]
|
279 |
+
},
|
280 |
+
{
|
281 |
+
"name": "stderr",
|
282 |
+
"output_type": "stream",
|
283 |
+
"text": [
|
284 |
+
"Some weights of the model checkpoint at distilbert-base-uncased were not used when initializing DistilBertForSequenceClassification: ['vocab_layer_norm.weight', 'vocab_projector.weight', 'vocab_projector.bias', 'vocab_transform.bias', 'vocab_layer_norm.bias', 'vocab_transform.weight']\n",
|
285 |
+
"- This IS expected if you are initializing DistilBertForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
|
286 |
+
"- This IS NOT expected if you are initializing DistilBertForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
|
287 |
+
"Some weights of DistilBertForSequenceClassification were not initialized from the model checkpoint at distilbert-base-uncased and are newly initialized: ['classifier.weight', 'pre_classifier.weight', 'classifier.bias', 'pre_classifier.bias']\n",
|
288 |
+
"You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"
|
289 |
+
]
|
290 |
+
}
|
291 |
+
],
|
292 |
+
"source": [
|
293 |
+
"#!g1.1\n",
|
294 |
+
"from transformers import Trainer, TrainingArguments, AutoModelForSequenceClassification\n",
|
295 |
+
"\n",
|
296 |
+
"device = \"cuda:0\" if torch.cuda.is_available() else \"cpu\"\n",
|
297 |
+
"\n",
|
298 |
+
"model = AutoModelForSequenceClassification.from_pretrained(\"distilbert-base-uncased\", num_labels=8)\n",
|
299 |
+
"model = model.to(device)\n",
|
300 |
+
"\n",
|
301 |
+
"trainer = Trainer(\n",
|
302 |
+
" model=model, \n",
|
303 |
+
" train_dataset=train_dataset, \n",
|
304 |
+
" eval_dataset=val_dataset,\n",
|
305 |
+
" compute_metrics=compute_metrics,\n",
|
306 |
+
" args=TrainingArguments(\n",
|
307 |
+
" output_dir=\"./my_saved_model\", overwrite_output_dir=True,\n",
|
308 |
+
" num_train_epochs=4, per_device_train_batch_size=32,\n",
|
309 |
+
" save_steps=10000, save_total_limit=2),\n",
|
310 |
+
")"
|
311 |
+
]
|
312 |
+
},
|
313 |
+
{
|
314 |
+
"cell_type": "code",
|
315 |
+
"execution_count": 13,
|
316 |
+
"id": "59b4c995",
|
317 |
+
"metadata": {
|
318 |
+
"cellId": "enykeyqh04h85cnkvsnyvr"
|
319 |
+
},
|
320 |
+
"outputs": [
|
321 |
+
{
|
322 |
+
"name": "stderr",
|
323 |
+
"output_type": "stream",
|
324 |
+
"text": [
|
325 |
+
"***** Running training *****\n",
|
326 |
+
" Num examples = 44928\n",
|
327 |
+
" Num Epochs = 4\n",
|
328 |
+
" Instantaneous batch size per device = 32\n",
|
329 |
+
" Total train batch size (w. parallel, distributed & accumulation) = 32\n",
|
330 |
+
" Gradient Accumulation steps = 1\n",
|
331 |
+
" Total optimization steps = 5616\n"
|
332 |
+
]
|
333 |
+
},
|
334 |
+
{
|
335 |
+
"data": {
|
336 |
+
"text/html": [
|
337 |
+
"\n",
|
338 |
+
" <div>\n",
|
339 |
+
" \n",
|
340 |
+
" <progress value='5616' max='5616' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
|
341 |
+
" [5616/5616 53:29, Epoch 4/4]\n",
|
342 |
+
" </div>\n",
|
343 |
+
" <table border=\"1\" class=\"dataframe\">\n",
|
344 |
+
" <thead>\n",
|
345 |
+
" <tr style=\"text-align: left;\">\n",
|
346 |
+
" <th>Step</th>\n",
|
347 |
+
" <th>Training Loss</th>\n",
|
348 |
+
" </tr>\n",
|
349 |
+
" </thead>\n",
|
350 |
+
" <tbody>\n",
|
351 |
+
" <tr>\n",
|
352 |
+
" <td>500</td>\n",
|
353 |
+
" <td>0.068200</td>\n",
|
354 |
+
" </tr>\n",
|
355 |
+
" <tr>\n",
|
356 |
+
" <td>1000</td>\n",
|
357 |
+
" <td>0.065100</td>\n",
|
358 |
+
" </tr>\n",
|
359 |
+
" <tr>\n",
|
360 |
+
" <td>1500</td>\n",
|
361 |
+
" <td>0.069500</td>\n",
|
362 |
+
" </tr>\n",
|
363 |
+
" <tr>\n",
|
364 |
+
" <td>2000</td>\n",
|
365 |
+
" <td>0.064600</td>\n",
|
366 |
+
" </tr>\n",
|
367 |
+
" <tr>\n",
|
368 |
+
" <td>2500</td>\n",
|
369 |
+
" <td>0.070400</td>\n",
|
370 |
+
" </tr>\n",
|
371 |
+
" <tr>\n",
|
372 |
+
" <td>3000</td>\n",
|
373 |
+
" <td>0.069800</td>\n",
|
374 |
+
" </tr>\n",
|
375 |
+
" <tr>\n",
|
376 |
+
" <td>3500</td>\n",
|
377 |
+
" <td>0.066200</td>\n",
|
378 |
+
" </tr>\n",
|
379 |
+
" <tr>\n",
|
380 |
+
" <td>4000</td>\n",
|
381 |
+
" <td>0.070000</td>\n",
|
382 |
+
" </tr>\n",
|
383 |
+
" <tr>\n",
|
384 |
+
" <td>4500</td>\n",
|
385 |
+
" <td>0.060200</td>\n",
|
386 |
+
" </tr>\n",
|
387 |
+
" <tr>\n",
|
388 |
+
" <td>5000</td>\n",
|
389 |
+
" <td>0.064800</td>\n",
|
390 |
+
" </tr>\n",
|
391 |
+
" <tr>\n",
|
392 |
+
" <td>5500</td>\n",
|
393 |
+
" <td>0.072600</td>\n",
|
394 |
+
" </tr>\n",
|
395 |
+
" </tbody>\n",
|
396 |
+
"</table><p>"
|
397 |
+
],
|
398 |
+
"text/plain": [
|
399 |
+
"<IPython.core.display.HTML object>"
|
400 |
+
]
|
401 |
+
},
|
402 |
+
"metadata": {},
|
403 |
+
"output_type": "display_data"
|
404 |
+
},
|
405 |
+
{
|
406 |
+
"name": "stderr",
|
407 |
+
"output_type": "stream",
|
408 |
+
"text": [
|
409 |
+
"\n",
|
410 |
+
"\n",
|
411 |
+
"Training completed. Do not forget to share your model on huggingface.co/models =)\n",
|
412 |
+
"\n",
|
413 |
+
"\n"
|
414 |
+
]
|
415 |
+
},
|
416 |
+
{
|
417 |
+
"data": {
|
418 |
+
"text/plain": [
|
419 |
+
"TrainOutput(global_step=5616, training_loss=0.06720576955382301, metrics={'train_runtime': 3209.8809, 'train_samples_per_second': 55.987, 'train_steps_per_second': 1.75, 'total_flos': 2.380852842253517e+16, 'train_loss': 0.06720576955382301, 'epoch': 4.0})"
|
420 |
+
]
|
421 |
+
},
|
422 |
+
"execution_count": 13,
|
423 |
+
"metadata": {},
|
424 |
+
"output_type": "execute_result"
|
425 |
+
},
|
426 |
+
{
|
427 |
+
"name": "stderr",
|
428 |
+
"output_type": "stream",
|
429 |
+
"text": [
|
430 |
+
"/kernel/lib/python3.8/site-packages/ml_kernel/kernel.py:872: UserWarning: The following variables cannot be serialized: trainer\n",
|
431 |
+
" warnings.warn(message)\n"
|
432 |
+
]
|
433 |
+
}
|
434 |
+
],
|
435 |
+
"source": [
|
436 |
+
"#!g1.1\n",
|
437 |
+
"trainer.train()"
|
438 |
+
]
|
439 |
+
},
|
440 |
+
{
|
441 |
+
"cell_type": "code",
|
442 |
+
"execution_count": 47,
|
443 |
+
"id": "930c6dfc",
|
444 |
+
"metadata": {
|
445 |
+
"cellId": "sqt27hulgn6e3st0pa1jx"
|
446 |
+
},
|
447 |
+
"outputs": [
|
448 |
+
{
|
449 |
+
"name": "stderr",
|
450 |
+
"output_type": "stream",
|
451 |
+
"text": [
|
452 |
+
"***** Running Evaluation *****\n",
|
453 |
+
" Num examples = 14976\n",
|
454 |
+
" Batch size = 8\n"
|
455 |
+
]
|
456 |
+
},
|
457 |
+
{
|
458 |
+
"data": {
|
459 |
+
"text/plain": [
|
460 |
+
"{'eval_loss': 0.5749701261520386,\n",
|
461 |
+
" 'eval_accuracy': 0.8629807692307693,\n",
|
462 |
+
" 'eval_runtime': 122.7376,\n",
|
463 |
+
" 'eval_samples_per_second': 122.016,\n",
|
464 |
+
" 'eval_steps_per_second': 15.252,\n",
|
465 |
+
" 'epoch': 4.0}"
|
466 |
+
]
|
467 |
+
},
|
468 |
+
"execution_count": 47,
|
469 |
+
"metadata": {},
|
470 |
+
"output_type": "execute_result"
|
471 |
+
},
|
472 |
+
{
|
473 |
+
"name": "stderr",
|
474 |
+
"output_type": "stream",
|
475 |
+
"text": [
|
476 |
+
"/kernel/lib/python3.8/site-packages/ml_kernel/kernel.py:872: UserWarning: The following variables cannot be serialized: trainer\n",
|
477 |
+
" warnings.warn(message)\n"
|
478 |
+
]
|
479 |
+
}
|
480 |
+
],
|
481 |
+
"source": [
|
482 |
+
"#!g1.1\n",
|
483 |
+
"trainer.evaluate()"
|
484 |
+
]
|
485 |
+
},
|
486 |
+
{
|
487 |
+
"cell_type": "code",
|
488 |
+
"execution_count": 48,
|
489 |
+
"id": "4ef33ef9",
|
490 |
+
"metadata": {
|
491 |
+
"cellId": "jizblzfc2jjq76b0kfppy"
|
492 |
+
},
|
493 |
+
"outputs": [
|
494 |
+
{
|
495 |
+
"name": "stderr",
|
496 |
+
"output_type": "stream",
|
497 |
+
"text": [
|
498 |
+
"loading configuration file https://huggingface.co/distilbert-base-uncased/resolve/main/config.json from cache at /tmp/xdg_cache/huggingface/transformers/23454919702d26495337f3da04d1655c7ee010d5ec9d77bdb9e399e00302c0a1.91b885ab15d631bf9cee9dc9d25ece0afd932f2f5130eba28f2055b2220c0333\n",
|
499 |
+
"Model config DistilBertConfig {\n",
|
500 |
+
" \"_name_or_path\": \"distilbert-base-uncased\",\n",
|
501 |
+
" \"activation\": \"gelu\",\n",
|
502 |
+
" \"architectures\": [\n",
|
503 |
+
" \"DistilBertForMaskedLM\"\n",
|
504 |
+
" ],\n",
|
505 |
+
" \"attention_dropout\": 0.1,\n",
|
506 |
+
" \"dim\": 768,\n",
|
507 |
+
" \"dropout\": 0.1,\n",
|
508 |
+
" \"hidden_dim\": 3072,\n",
|
509 |
+
" \"initializer_range\": 0.02,\n",
|
510 |
+
" \"max_position_embeddings\": 512,\n",
|
511 |
+
" \"model_type\": \"distilbert\",\n",
|
512 |
+
" \"n_heads\": 12,\n",
|
513 |
+
" \"n_layers\": 6,\n",
|
514 |
+
" \"pad_token_id\": 0,\n",
|
515 |
+
" \"qa_dropout\": 0.1,\n",
|
516 |
+
" \"seq_classif_dropout\": 0.2,\n",
|
517 |
+
" \"sinusoidal_pos_embds\": false,\n",
|
518 |
+
" \"tie_weights_\": true,\n",
|
519 |
+
" \"transformers_version\": \"4.17.0\",\n",
|
520 |
+
" \"vocab_size\": 30522\n",
|
521 |
+
"}\n",
|
522 |
+
"\n",
|
523 |
+
"loading file https://huggingface.co/distilbert-base-uncased/resolve/main/vocab.txt from cache at /tmp/xdg_cache/huggingface/transformers/0e1bbfda7f63a99bb52e3915dcf10c3c92122b827d92eb2d34ce94ee79ba486c.d789d64ebfe299b0e416afc4a169632f903f693095b4629a7ea271d5a0cf2c99\n",
|
524 |
+
"loading file https://huggingface.co/distilbert-base-uncased/resolve/main/tokenizer.json from cache at /tmp/xdg_cache/huggingface/transformers/75abb59d7a06f4f640158a9bfcde005264e59e8d566781ab1415b139d2e4c603.7f2721073f19841be16f41b0a70b600ca6b880c8f3df6f3535cbc704371bdfa4\n",
|
525 |
+
"loading file https://huggingface.co/distilbert-base-uncased/resolve/main/added_tokens.json from cache at None\n",
|
526 |
+
"loading file https://huggingface.co/distilbert-base-uncased/resolve/main/special_tokens_map.json from cache at None\n",
|
527 |
+
"loading file https://huggingface.co/distilbert-base-uncased/resolve/main/tokenizer_config.json from cache at /tmp/xdg_cache/huggingface/transformers/8c8624b8ac8aa99c60c912161f8332de003484428c47906d7ff7eb7f73eecdbb.20430bd8e10ef77a7d2977accefe796051e01bc2fc4aa146bc862997a1a15e79\n",
|
528 |
+
"loading configuration file https://huggingface.co/distilbert-base-uncased/resolve/main/config.json from cache at /tmp/xdg_cache/huggingface/transformers/23454919702d26495337f3da04d1655c7ee010d5ec9d77bdb9e399e00302c0a1.91b885ab15d631bf9cee9dc9d25ece0afd932f2f5130eba28f2055b2220c0333\n",
|
529 |
+
"Model config DistilBertConfig {\n",
|
530 |
+
" \"_name_or_path\": \"distilbert-base-uncased\",\n",
|
531 |
+
" \"activation\": \"gelu\",\n",
|
532 |
+
" \"architectures\": [\n",
|
533 |
+
" \"DistilBertForMaskedLM\"\n",
|
534 |
+
" ],\n",
|
535 |
+
" \"attention_dropout\": 0.1,\n",
|
536 |
+
" \"dim\": 768,\n",
|
537 |
+
" \"dropout\": 0.1,\n",
|
538 |
+
" \"hidden_dim\": 3072,\n",
|
539 |
+
" \"initializer_range\": 0.02,\n",
|
540 |
+
" \"max_position_embeddings\": 512,\n",
|
541 |
+
" \"model_type\": \"distilbert\",\n",
|
542 |
+
" \"n_heads\": 12,\n",
|
543 |
+
" \"n_layers\": 6,\n",
|
544 |
+
" \"pad_token_id\": 0,\n",
|
545 |
+
" \"qa_dropout\": 0.1,\n",
|
546 |
+
" \"seq_classif_dropout\": 0.2,\n",
|
547 |
+
" \"sinusoidal_pos_embds\": false,\n",
|
548 |
+
" \"tie_weights_\": true,\n",
|
549 |
+
" \"transformers_version\": \"4.17.0\",\n",
|
550 |
+
" \"vocab_size\": 30522\n",
|
551 |
+
"}\n",
|
552 |
+
"\n"
|
553 |
+
]
|
554 |
+
}
|
555 |
+
],
|
556 |
+
"source": [
|
557 |
+
"#!g1.1\n",
|
558 |
+
"from transformers import AutoTokenizer\n",
|
559 |
+
"\n",
|
560 |
+
"tokenizer = AutoTokenizer.from_pretrained(\"distilbert-base-uncased\")"
|
561 |
+
]
|
562 |
+
},
|
563 |
+
{
|
564 |
+
"cell_type": "code",
|
565 |
+
"execution_count": 40,
|
566 |
+
"id": "8d8db99a",
|
567 |
+
"metadata": {
|
568 |
+
"cellId": "n92sgrt3hao4qyq6sxedcn"
|
569 |
+
},
|
570 |
+
"outputs": [],
|
571 |
+
"source": [
|
572 |
+
"#!g1.1\n",
|
573 |
+
"dict_label = {'math': 3,\n",
|
574 |
+
" 'physics': 4,\n",
|
575 |
+
" 'q-bio': 5,\n",
|
576 |
+
" 'cs': 0,\n",
|
577 |
+
" 'q-fin': 6,\n",
|
578 |
+
" 'stat': 7,\n",
|
579 |
+
" 'eess': 2,\n",
|
580 |
+
" 'econ': 1}"
|
581 |
+
]
|
582 |
+
},
|
583 |
+
{
|
584 |
+
"cell_type": "code",
|
585 |
+
"execution_count": 41,
|
586 |
+
"id": "fdbdddec",
|
587 |
+
"metadata": {
|
588 |
+
"cellId": "fr2cvkd1hljgj72kq6zja"
|
589 |
+
},
|
590 |
+
"outputs": [
|
591 |
+
{
|
592 |
+
"data": {
|
593 |
+
"text/plain": [
|
594 |
+
"{3: 'math',\n",
|
595 |
+
" 4: 'physics',\n",
|
596 |
+
" 5: 'q-bio',\n",
|
597 |
+
" 0: 'cs',\n",
|
598 |
+
" 6: 'q-fin',\n",
|
599 |
+
" 7: 'stat',\n",
|
600 |
+
" 2: 'eess',\n",
|
601 |
+
" 1: 'econ'}"
|
602 |
+
]
|
603 |
+
},
|
604 |
+
"execution_count": 41,
|
605 |
+
"metadata": {},
|
606 |
+
"output_type": "execute_result"
|
607 |
+
}
|
608 |
+
],
|
609 |
+
"source": [
|
610 |
+
"#!g1.1\n",
|
611 |
+
"inv_map = {v: k for k, v in dict_label.items()}\n",
|
612 |
+
"inv_map"
|
613 |
+
]
|
614 |
+
},
|
615 |
+
{
|
616 |
+
"cell_type": "code",
|
617 |
+
"execution_count": 99,
|
618 |
+
"id": "029703f7",
|
619 |
+
"metadata": {
|
620 |
+
"cellId": "u0seb2c1ukrj9n8fdlh"
|
621 |
+
},
|
622 |
+
"outputs": [
|
623 |
+
{
|
624 |
+
"data": {
|
625 |
+
"text/plain": [
|
626 |
+
"array([1.15543455e-02, 2.51640333e-03, 2.27772980e-03, 9.46712017e-01,\n",
|
627 |
+
" 4.27448237e-03, 8.11084581e-04, 2.39739451e-03, 2.94565000e-02],\n",
|
628 |
+
" dtype=float32)"
|
629 |
+
]
|
630 |
+
},
|
631 |
+
"execution_count": 99,
|
632 |
+
"metadata": {},
|
633 |
+
"output_type": "execute_result"
|
634 |
+
},
|
635 |
+
{
|
636 |
+
"name": "stderr",
|
637 |
+
"output_type": "stream",
|
638 |
+
"text": [
|
639 |
+
"/kernel/lib/python3.8/site-packages/ml_kernel/kernel.py:872: UserWarning: The following variables cannot be serialized: trainer\n",
|
640 |
+
" warnings.warn(message)\n"
|
641 |
+
]
|
642 |
+
}
|
643 |
+
],
|
644 |
+
"source": [
|
645 |
+
"#!g1.1\n",
|
646 |
+
"text = \"\"\"mathematics\"\"\"\n",
|
647 |
+
"tokens = tokenizer.encode(text)\n",
|
648 |
+
"with torch.no_grad():\n",
|
649 |
+
" logits = model(torch.as_tensor([tokens], device=device))[0]\n",
|
650 |
+
" probs = torch.softmax(logits[-1, :], dim=-1).data.cpu().numpy()\n",
|
651 |
+
"probs"
|
652 |
+
]
|
653 |
+
},
|
654 |
+
{
|
655 |
+
"cell_type": "code",
|
656 |
+
"execution_count": 100,
|
657 |
+
"id": "e7997e90",
|
658 |
+
"metadata": {
|
659 |
+
"cellId": "0xkwtgvl4kugzdw4d5ce4u"
|
660 |
+
},
|
661 |
+
"outputs": [
|
662 |
+
{
|
663 |
+
"name": "stdout",
|
664 |
+
"output_type": "stream",
|
665 |
+
"text": [
|
666 |
+
"[0.946712, 0.0294565]\n",
|
667 |
+
"['math', 'stat']\n"
|
668 |
+
]
|
669 |
+
}
|
670 |
+
],
|
671 |
+
"source": [
|
672 |
+
"#!g1.1\n",
|
673 |
+
"idx_label = np.argsort(probs)[::-1]\n",
|
674 |
+
"\n",
|
675 |
+
"sum_probs = 0\n",
|
676 |
+
"prediction_probs = []\n",
|
677 |
+
"prediction_classes = []\n",
|
678 |
+
"\n",
|
679 |
+
"idx = 0\n",
|
680 |
+
"while sum_probs < 0.95:\n",
|
681 |
+
" cur_predict = inv_map[idx_label[idx]]\n",
|
682 |
+
" cur_probs = probs[idx_label[idx]]\n",
|
683 |
+
" \n",
|
684 |
+
" sum_probs += cur_probs\n",
|
685 |
+
" \n",
|
686 |
+
" prediction_probs.append(cur_probs)\n",
|
687 |
+
" prediction_classes.append(cur_predict)\n",
|
688 |
+
" \n",
|
689 |
+
" idx += 1\n",
|
690 |
+
"\n",
|
691 |
+
"print(prediction_probs)\n",
|
692 |
+
"print(prediction_classes)"
|
693 |
+
]
|
694 |
+
},
|
695 |
+
{
|
696 |
+
"cell_type": "code",
|
697 |
+
"execution_count": 117,
|
698 |
+
"id": "eb1554c2",
|
699 |
+
"metadata": {
|
700 |
+
"cellId": "db2fcd21obqf3e3atfpa9"
|
701 |
+
},
|
702 |
+
"outputs": [],
|
703 |
+
"source": [
|
704 |
+
"#!g1.1\n",
|
705 |
+
"def predict_label(title, summary, tokenizer, model, inv_map):\n",
|
706 |
+
" abstract = title.lower() + '. ' + summary.lower()\n",
|
707 |
+
" token_text = tokenizer.encode(abstract)\n",
|
708 |
+
" \n",
|
709 |
+
" with torch.no_grad():\n",
|
710 |
+
" logits = model(torch.as_tensor([token_text], device=device))[0]\n",
|
711 |
+
" probs = torch.softmax(logits[-1, :], dim=-1).data.cpu().numpy()\n",
|
712 |
+
" \n",
|
713 |
+
" idx_label = np.argsort(probs)[::-1]\n",
|
714 |
+
"\n",
|
715 |
+
" sum_probs = 0\n",
|
716 |
+
" prediction_probs = []\n",
|
717 |
+
" prediction_classes = []\n",
|
718 |
+
"\n",
|
719 |
+
" idx = 0\n",
|
720 |
+
" while sum_probs < 0.95:\n",
|
721 |
+
" cur_predict = inv_map[idx_label[idx]]\n",
|
722 |
+
" cur_probs = probs[idx_label[idx]]\n",
|
723 |
+
" \n",
|
724 |
+
" sum_probs += cur_probs\n",
|
725 |
+
" \n",
|
726 |
+
" prediction_probs.append(cur_probs)\n",
|
727 |
+
" prediction_classes.append(cur_predict)\n",
|
728 |
+
" \n",
|
729 |
+
" idx += 1\n",
|
730 |
+
" \n",
|
731 |
+
" return prediction_classes, prediction_probs, probs"
|
732 |
+
]
|
733 |
+
},
|
734 |
+
{
|
735 |
+
"cell_type": "code",
|
736 |
+
"execution_count": 148,
|
737 |
+
"id": "55d10e54",
|
738 |
+
"metadata": {
|
739 |
+
"cellId": "ucqqhln4ocv503bn1tnrl"
|
740 |
+
},
|
741 |
+
"outputs": [],
|
742 |
+
"source": [
|
743 |
+
"#!g1.1\n",
|
744 |
+
"title = \"strategic behaviour and indicative price diffusion in paris stock exchange auctions\"\n",
|
745 |
+
"summary = \"we report statistical regularities of the opening and closing auctions of french equities, focusing on the diffusive properties of the indicative auction price. two mechanisms are at play as the auction end time nears: the typical price change magnitude decreases, favoring underdiffusion, while the rate of these events increases, potentially leading to overdiffusion. a third mechanism, caused by the strategic behavior of traders, is needed to produce nearly diffusive prices: waiting to submit buy orders until sell orders have decreased the indicative price and vice-versa.\"\n",
|
746 |
+
"\n",
|
747 |
+
"prediction_classes, prediction_probs, probs = predict_label(title, summary, tokenizer, model, inv_map)"
|
748 |
+
]
|
749 |
+
},
|
750 |
+
{
|
751 |
+
"cell_type": "code",
|
752 |
+
"execution_count": null,
|
753 |
+
"id": "6beee65e",
|
754 |
+
"metadata": {
|
755 |
+
"cellId": "g78808bpr6o71yop72329p"
|
756 |
+
},
|
757 |
+
"outputs": [],
|
758 |
+
"source": [
|
759 |
+
"#!g1.1\n",
|
760 |
+
"prediction_classes, prediction_probs, probs = predict_label(title, summary, tokenizer, model, inv_map)\n",
|
761 |
+
" \n",
|
762 |
+
"data = pd.DataFrame({'Categories' : tag, 'Probs' : probs})\n",
|
763 |
+
"data = data.sort_values(by='Probs', ascending=False)"
|
764 |
+
]
|
765 |
+
},
|
766 |
+
{
|
767 |
+
"cell_type": "code",
|
768 |
+
"execution_count": null,
|
769 |
+
"id": "19a82d5c",
|
770 |
+
"metadata": {
|
771 |
+
"cellId": "aclb6f96707kgmg5h42ctp"
|
772 |
+
},
|
773 |
+
"outputs": [],
|
774 |
+
"source": [
|
775 |
+
"#!g1.1\n",
|
776 |
+
"data"
|
777 |
+
]
|
778 |
+
},
|
779 |
+
{
|
780 |
+
"cell_type": "code",
|
781 |
+
"execution_count": null,
|
782 |
+
"id": "dffcbc7c",
|
783 |
+
"metadata": {
|
784 |
+
"cellId": "cxc30s516nw6j01mqya0q"
|
785 |
+
},
|
786 |
+
"outputs": [],
|
787 |
+
"source": [
|
788 |
+
"#!g1.1\n",
|
789 |
+
"зд"
|
790 |
+
]
|
791 |
+
},
|
792 |
+
{
|
793 |
+
"cell_type": "code",
|
794 |
+
"execution_count": 140,
|
795 |
+
"id": "aec20ffa",
|
796 |
+
"metadata": {
|
797 |
+
"cellId": "q0bj4c9toe6hr4gozk03y"
|
798 |
+
},
|
799 |
+
"outputs": [
|
800 |
+
{
|
801 |
+
"data": {
|
802 |
+
"text/plain": [
|
803 |
+
"<AxesSubplot:>"
|
804 |
+
]
|
805 |
+
},
|
806 |
+
"execution_count": 140,
|
807 |
+
"metadata": {},
|
808 |
+
"output_type": "execute_result"
|
809 |
+
},
|
810 |
+
{
|
811 |
+
"data": {
|
812 |
+
"image/png": "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\n",
|
813 |
+
"text/plain": [
|
814 |
+
"<Figure size 432x288 with 1 Axes>"
|
815 |
+
]
|
816 |
+
},
|
817 |
+
"metadata": {
|
818 |
+
"needs_background": "light"
|
819 |
+
},
|
820 |
+
"output_type": "display_data"
|
821 |
+
}
|
822 |
+
],
|
823 |
+
"source": [
|
824 |
+
"#!g1.1\n",
|
825 |
+
"import seaborn as sns\n",
|
826 |
+
"\n",
|
827 |
+
"tag = ['CS', 'Econ', 'EESS', \n",
|
828 |
+
" 'Math', 'Physics', 'Q-bio', 'Q-fin', 'Stat']\n",
|
829 |
+
"\n",
|
830 |
+
"sns.barplot(x=tag, y=probs)"
|
831 |
+
]
|
832 |
+
},
|
833 |
+
{
|
834 |
+
"cell_type": "code",
|
835 |
+
"execution_count": 149,
|
836 |
+
"id": "d28282e7",
|
837 |
+
"metadata": {
|
838 |
+
"cellId": "nr2s8dbt2tv474bv8e43"
|
839 |
+
},
|
840 |
+
"outputs": [
|
841 |
+
{
|
842 |
+
"data": {
|
843 |
+
"text/plain": [
|
844 |
+
"'┈┏╮┈┈┈╭┓┈┈╭┳━╮┈\\u2003\\n┈┃┗━━━┛┃┈┈╰┻╮┃┈\\u2003\\n┈┃╰╯┈╰╯┣━━━╮┃┃┈\\u2003\\n┈┃┈┈▲┈┈┃┈╭━┣╯┃┈\\u2003\\n┈╰┳╰━╯┳╯╭┛┈┣━╯┈\\u2003\\n┈┈╰╯┈╰╯┈╰━━╯┈┈┈'"
|
845 |
+
]
|
846 |
+
},
|
847 |
+
"execution_count": 149,
|
848 |
+
"metadata": {},
|
849 |
+
"output_type": "execute_result"
|
850 |
+
}
|
851 |
+
],
|
852 |
+
"source": [
|
853 |
+
"#!g1.1\n"
|
854 |
+
]
|
855 |
+
},
|
856 |
+
{
|
857 |
+
"cell_type": "code",
|
858 |
+
"execution_count": 145,
|
859 |
+
"id": "aae99fb0",
|
860 |
+
"metadata": {
|
861 |
+
"cellId": "xi82ygn14o9peav0j49tk"
|
862 |
+
},
|
863 |
+
"outputs": [
|
864 |
+
{
|
865 |
+
"ename": "AttributeError",
|
866 |
+
"evalue": "module 'matplotlib.pyplot' has no attribute 'pyplot'",
|
867 |
+
"output_type": "error",
|
868 |
+
"traceback": [
|
869 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
870 |
+
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
871 |
+
"\u001b[0;32m<ipython-input-1-eae06c26c813>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtag\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mprobs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;31m#\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
872 |
+
"\u001b[0;31mAttributeError\u001b[0m: module 'matplotlib.pyplot' has no attribute 'pyplot'"
|
873 |
+
]
|
874 |
+
},
|
875 |
+
{
|
876 |
+
"name": "stderr",
|
877 |
+
"output_type": "stream",
|
878 |
+
"text": [
|
879 |
+
"/kernel/lib/python3.8/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n",
|
880 |
+
" return array(a, dtype, copy=False, order=order)\n"
|
881 |
+
]
|
882 |
+
},
|
883 |
+
{
|
884 |
+
"ename": "ValueError",
|
885 |
+
"evalue": "setting an array element with a sequence.",
|
886 |
+
"output_type": "error",
|
887 |
+
"traceback": [
|
888 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
889 |
+
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
890 |
+
"\u001b[0;31mTypeError\u001b[0m: only size-1 arrays can be converted to Python scalars",
|
891 |
+
"\nThe above exception was the direct cause of the following exception:\n",
|
892 |
+
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
|
893 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/IPython/core/formatters.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, obj)\u001b[0m\n\u001b[1;32m 339\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 340\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 341\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mprinter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 342\u001b[0m \u001b[0;31m# Finally look for special method names\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 343\u001b[0m \u001b[0mmethod\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_real_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprint_method\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
894 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/IPython/core/pylabtools.py\u001b[0m in \u001b[0;36m<lambda>\u001b[0;34m(fig)\u001b[0m\n\u001b[1;32m 246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 247\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m'png'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mformats\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 248\u001b[0;31m \u001b[0mpng_formatter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfor_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mFigure\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mprint_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'png'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 249\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m'retina'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mformats\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;34m'png2x'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mformats\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 250\u001b[0m \u001b[0mpng_formatter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfor_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mFigure\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mretina_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
895 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/IPython/core/pylabtools.py\u001b[0m in \u001b[0;36mprint_figure\u001b[0;34m(fig, fmt, bbox_inches, **kwargs)\u001b[0m\n\u001b[1;32m 130\u001b[0m \u001b[0mFigureCanvasBase\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 131\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 132\u001b[0;31m \u001b[0mfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcanvas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprint_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbytes_io\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 133\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbytes_io\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetvalue\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 134\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfmt\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'svg'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
896 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/backend_bases.py\u001b[0m in \u001b[0;36mprint_figure\u001b[0;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)\u001b[0m\n\u001b[1;32m 2191\u001b[0m else suppress())\n\u001b[1;32m 2192\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2193\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2194\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2195\u001b[0m bbox_inches = self.figure.get_tightbbox(\n",
|
897 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36mdraw_wrapper\u001b[0;34m(artist, renderer, *args, **kwargs)\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart_filter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0martist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 42\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0martist\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_agg_filter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
898 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/figure.py\u001b[0m in \u001b[0;36mdraw\u001b[0;34m(self, renderer)\u001b[0m\n\u001b[1;32m 1861\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1862\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpatch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1863\u001b[0;31m mimage._draw_list_compositing_images(\n\u001b[0m\u001b[1;32m 1864\u001b[0m renderer, self, artists, self.suppressComposite)\n\u001b[1;32m 1865\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
|
899 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/image.py\u001b[0m in \u001b[0;36m_draw_list_compositing_images\u001b[0;34m(renderer, parent, artists, suppress_composite)\u001b[0m\n\u001b[1;32m 129\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mnot_composite\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mhas_images\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 130\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0martists\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 131\u001b[0;31m \u001b[0ma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 132\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[0;31m# Composite any adjacent images together\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
900 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36mdraw_wrapper\u001b[0;34m(artist, renderer, *args, **kwargs)\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart_filter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0martist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 42\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0martist\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_agg_filter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
901 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/cbook/deprecation.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*inner_args, **inner_kwargs)\u001b[0m\n\u001b[1;32m 409\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mdeprecation_addendum\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 410\u001b[0m **kwargs)\n\u001b[0;32m--> 411\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minner_args\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0minner_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 412\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 413\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
902 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36mdraw\u001b[0;34m(self, renderer, inframe)\u001b[0m\n\u001b[1;32m 2745\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstop_rasterizing\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2746\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2747\u001b[0;31m \u001b[0mmimage\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_draw_list_compositing_images\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0martists\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2748\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2749\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose_group\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'axes'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
903 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/image.py\u001b[0m in \u001b[0;36m_draw_list_compositing_images\u001b[0;34m(renderer, parent, artists, suppress_composite)\u001b[0m\n\u001b[1;32m 129\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mnot_composite\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mhas_images\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 130\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0martists\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 131\u001b[0;31m \u001b[0ma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 132\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[0;31m# Composite any adjacent images together\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
904 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36mdraw_wrapper\u001b[0;34m(artist, renderer, *args, **kwargs)\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart_filter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0martist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 42\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0martist\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_agg_filter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
905 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/patches.py\u001b[0m in \u001b[0;36mdraw\u001b[0;34m(self, renderer)\u001b[0m\n\u001b[1;32m 582\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_bind_draw_path_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrenderer\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mdraw_path\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 583\u001b[0m \u001b[0mpath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 584\u001b[0;31m \u001b[0mtransform\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 585\u001b[0m \u001b[0mtpath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform_path_non_affine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 586\u001b[0m \u001b[0maffine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_affine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
906 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/patches.py\u001b[0m in \u001b[0;36mget_transform\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 258\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 259\u001b[0m \u001b[0;34m\"\"\"Return the `~.transforms.Transform` applied to the `Patch`.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 260\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_patch_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0martist\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mArtist\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 261\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 262\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_data_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
907 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/patches.py\u001b[0m in \u001b[0;36mget_patch_transform\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 790\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 791\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_patch_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 792\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_update_patch_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 793\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_rect_transform\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 794\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
|
908 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/patches.py\u001b[0m in \u001b[0;36m_update_patch_transform\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 769\u001b[0m \"\"\"\n\u001b[1;32m 770\u001b[0m \u001b[0mx0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_convert_units\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 771\u001b[0;31m \u001b[0mbbox\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtransforms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mBbox\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_extents\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 772\u001b[0m \u001b[0mrot_trans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtransforms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mAffine2D\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 773\u001b[0m \u001b[0mrot_trans\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrotate_deg_around\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mangle\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
909 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/transforms.py\u001b[0m in \u001b[0;36mfrom_extents\u001b[0;34m(*args)\u001b[0m\n\u001b[1;32m 820\u001b[0m \u001b[0mThe\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0maxis\u001b[0m \u001b[0mincreases\u001b[0m \u001b[0mupwards\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 821\u001b[0m \"\"\"\n\u001b[0;32m--> 822\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mBbox\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 823\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 824\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__format__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfmt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
910 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/matplotlib/transforms.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, points, **kwargs)\u001b[0m\n\u001b[1;32m 772\u001b[0m \"\"\"\n\u001b[1;32m 773\u001b[0m \u001b[0mBboxBase\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 774\u001b[0;31m \u001b[0mpoints\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoints\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfloat\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 775\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mpoints\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 776\u001b[0m raise ValueError('Bbox points must be of the form '\n",
|
911 |
+
"\u001b[0;32m/kernel/lib/python3.8/site-packages/numpy/core/_asarray.py\u001b[0m in \u001b[0;36masarray\u001b[0;34m(a, dtype, order)\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \"\"\"\n\u001b[0;32m---> 83\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morder\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 84\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
|
912 |
+
"\u001b[0;31mValueError\u001b[0m: setting an array element with a sequence."
|
913 |
+
]
|
914 |
+
},
|
915 |
+
{
|
916 |
+
"data": {
|
917 |
+
"text/plain": [
|
918 |
+
"<Figure size 432x288 with 1 Axes>"
|
919 |
+
]
|
920 |
+
},
|
921 |
+
"metadata": {
|
922 |
+
"needs_background": "light"
|
923 |
+
},
|
924 |
+
"output_type": "display_data"
|
925 |
+
}
|
926 |
+
],
|
927 |
+
"source": [
|
928 |
+
"#!g1.1\n",
|
929 |
+
"import matplotlib.pyplot as plt\n",
|
930 |
+
"\n",
|
931 |
+
"fig, ax = plt.subplots()\n",
|
932 |
+
"ax.hist(x=tag, y=probs, bins=20)\n",
|
933 |
+
"\n",
|
934 |
+
"plt.pyplot(fig)"
|
935 |
+
]
|
936 |
+
},
|
937 |
+
{
|
938 |
+
"cell_type": "code",
|
939 |
+
"execution_count": 144,
|
940 |
+
"id": "38d8c3b7",
|
941 |
+
"metadata": {
|
942 |
+
"cellId": "kehpd4xdcpjpjfptvfspg"
|
943 |
+
},
|
944 |
+
"outputs": [
|
945 |
+
{
|
946 |
+
"name": "stderr",
|
947 |
+
"output_type": "stream",
|
948 |
+
"text": [
|
949 |
+
"Configuration saved in my_beautiful_model/config.json\n",
|
950 |
+
"Model weights saved in my_beautiful_model/pytorch_model.bin\n",
|
951 |
+
"/kernel/lib/python3.8/site-packages/ml_kernel/kernel.py:872: UserWarning: The following variables cannot be serialized: trainer\n",
|
952 |
+
" warnings.warn(message)\n"
|
953 |
+
]
|
954 |
+
}
|
955 |
+
],
|
956 |
+
"source": [
|
957 |
+
"#!g1.1\n",
|
958 |
+
"model.save_pretrained(\"my_beautiful_model\")"
|
959 |
+
]
|
960 |
+
}
|
961 |
+
],
|
962 |
+
"metadata": {
|
963 |
+
"kernelspec": {
|
964 |
+
"display_name": "Yandex DataSphere Kernel",
|
965 |
+
"language": "python",
|
966 |
+
"name": "python3"
|
967 |
+
},
|
968 |
+
"language_info": {
|
969 |
+
"codemirror_mode": {
|
970 |
+
"name": "ipython",
|
971 |
+
"version": 3
|
972 |
+
},
|
973 |
+
"file_extension": ".py",
|
974 |
+
"mimetype": "text/x-python",
|
975 |
+
"name": "python",
|
976 |
+
"nbconvert_exporter": "python",
|
977 |
+
"pygments_lexer": "ipython3",
|
978 |
+
"version": "3.7.7"
|
979 |
+
},
|
980 |
+
"notebookId": "ee1ba0a4-4ed3-4508-aaee-3fe3cf7b2f0c",
|
981 |
+
"notebookPath": "Untitled (1).ipynb"
|
982 |
+
},
|
983 |
+
"nbformat": 4,
|
984 |
+
"nbformat_minor": 5
|
985 |
+
}
|