llm-finetuning

Форк
0
/
14.Finetuning_Mistral_7b_Using_AutoTrain.ipynb 
2993 строки · 148.1 Кб
1
{
2
  "nbformat": 4,
3
  "nbformat_minor": 0,
4
  "metadata": {
5
    "colab": {
6
      "provenance": [],
7
      "gpuType": "T4",
8
      "authorship_tag": "ABX9TyNwSLBuqR0K03T4lSRVa+jh",
9
      "include_colab_link": true
10
    },
11
    "kernelspec": {
12
      "name": "python3",
13
      "display_name": "Python 3"
14
    },
15
    "language_info": {
16
      "name": "python"
17
    },
18
    "accelerator": "GPU",
19
    "widgets": {
20
      "application/vnd.jupyter.widget-state+json": {
21
        "93721b72963843db8afd2dc95b1a7e26": {
22
          "model_module": "@jupyter-widgets/controls",
23
          "model_name": "VBoxModel",
24
          "model_module_version": "1.5.0",
25
          "state": {
26
            "_dom_classes": [],
27
            "_model_module": "@jupyter-widgets/controls",
28
            "_model_module_version": "1.5.0",
29
            "_model_name": "VBoxModel",
30
            "_view_count": null,
31
            "_view_module": "@jupyter-widgets/controls",
32
            "_view_module_version": "1.5.0",
33
            "_view_name": "VBoxView",
34
            "box_style": "",
35
            "children": [
36
              "IPY_MODEL_1b54ffd23ba74eeebd9c469f440fb681",
37
              "IPY_MODEL_6b08ab9f42604d50b75ca79953cdb513",
38
              "IPY_MODEL_da126394b0454dfa92ead879aa4d05f8",
39
              "IPY_MODEL_cdad03b3eb6f4b8498d4c095ef4bd77c"
40
            ],
41
            "layout": "IPY_MODEL_229eb3fe560b47cfaf90bd897d0356a3"
42
          }
43
        },
44
        "3c4c437c3be348a6beaa549a070e7d03": {
45
          "model_module": "@jupyter-widgets/controls",
46
          "model_name": "HTMLModel",
47
          "model_module_version": "1.5.0",
48
          "state": {
49
            "_dom_classes": [],
50
            "_model_module": "@jupyter-widgets/controls",
51
            "_model_module_version": "1.5.0",
52
            "_model_name": "HTMLModel",
53
            "_view_count": null,
54
            "_view_module": "@jupyter-widgets/controls",
55
            "_view_module_version": "1.5.0",
56
            "_view_name": "HTMLView",
57
            "description": "",
58
            "description_tooltip": null,
59
            "layout": "IPY_MODEL_2488b59a84c4450a87d03d1a7416131a",
60
            "placeholder": "​",
61
            "style": "IPY_MODEL_aba01680bd644852bdd01943fe6ff3a8",
62
            "value": "<center> <img\nsrc=https://huggingface.co/front/assets/huggingface_logo-noborder.svg\nalt='Hugging Face'> <br> Copy a token from <a\nhref=\"https://huggingface.co/settings/tokens\" target=\"_blank\">your Hugging Face\ntokens page</a> and paste it below. <br> Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file. </center>"
63
          }
64
        },
65
        "bef331d1317e4dca8423b41d9a4d5a46": {
66
          "model_module": "@jupyter-widgets/controls",
67
          "model_name": "PasswordModel",
68
          "model_module_version": "1.5.0",
69
          "state": {
70
            "_dom_classes": [],
71
            "_model_module": "@jupyter-widgets/controls",
72
            "_model_module_version": "1.5.0",
73
            "_model_name": "PasswordModel",
74
            "_view_count": null,
75
            "_view_module": "@jupyter-widgets/controls",
76
            "_view_module_version": "1.5.0",
77
            "_view_name": "PasswordView",
78
            "continuous_update": true,
79
            "description": "Token:",
80
            "description_tooltip": null,
81
            "disabled": false,
82
            "layout": "IPY_MODEL_32368ce026824d4faad5f96bb523b1ef",
83
            "placeholder": "​",
84
            "style": "IPY_MODEL_6c9bfecb5c7d4218b905c5d9d1a94e67",
85
            "value": ""
86
          }
87
        },
88
        "fd8eb83e711f4efeb5392159094979ee": {
89
          "model_module": "@jupyter-widgets/controls",
90
          "model_name": "CheckboxModel",
91
          "model_module_version": "1.5.0",
92
          "state": {
93
            "_dom_classes": [],
94
            "_model_module": "@jupyter-widgets/controls",
95
            "_model_module_version": "1.5.0",
96
            "_model_name": "CheckboxModel",
97
            "_view_count": null,
98
            "_view_module": "@jupyter-widgets/controls",
99
            "_view_module_version": "1.5.0",
100
            "_view_name": "CheckboxView",
101
            "description": "Add token as git credential?",
102
            "description_tooltip": null,
103
            "disabled": false,
104
            "indent": true,
105
            "layout": "IPY_MODEL_cdcf8ddbe33d443ebb8e746da30ac0e7",
106
            "style": "IPY_MODEL_0394a80f33694ddcaac86d11eb55dfba",
107
            "value": true
108
          }
109
        },
110
        "361f03f842874570ba0f5a7992ef85bb": {
111
          "model_module": "@jupyter-widgets/controls",
112
          "model_name": "ButtonModel",
113
          "model_module_version": "1.5.0",
114
          "state": {
115
            "_dom_classes": [],
116
            "_model_module": "@jupyter-widgets/controls",
117
            "_model_module_version": "1.5.0",
118
            "_model_name": "ButtonModel",
119
            "_view_count": null,
120
            "_view_module": "@jupyter-widgets/controls",
121
            "_view_module_version": "1.5.0",
122
            "_view_name": "ButtonView",
123
            "button_style": "",
124
            "description": "Login",
125
            "disabled": false,
126
            "icon": "",
127
            "layout": "IPY_MODEL_2087238355ef44719f296fa797fdd1a4",
128
            "style": "IPY_MODEL_3a25c5df13944295882f0114971dad95",
129
            "tooltip": ""
130
          }
131
        },
132
        "da5b0da670514701962d1fb278d2c806": {
133
          "model_module": "@jupyter-widgets/controls",
134
          "model_name": "HTMLModel",
135
          "model_module_version": "1.5.0",
136
          "state": {
137
            "_dom_classes": [],
138
            "_model_module": "@jupyter-widgets/controls",
139
            "_model_module_version": "1.5.0",
140
            "_model_name": "HTMLModel",
141
            "_view_count": null,
142
            "_view_module": "@jupyter-widgets/controls",
143
            "_view_module_version": "1.5.0",
144
            "_view_name": "HTMLView",
145
            "description": "",
146
            "description_tooltip": null,
147
            "layout": "IPY_MODEL_9c9e13827ccd49c28eb7e4b5b7bce367",
148
            "placeholder": "​",
149
            "style": "IPY_MODEL_d65e536585574e1ebbe7dc596e5fff5b",
150
            "value": "\n<b>Pro Tip:</b> If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks. </center>"
151
          }
152
        },
153
        "229eb3fe560b47cfaf90bd897d0356a3": {
154
          "model_module": "@jupyter-widgets/base",
155
          "model_name": "LayoutModel",
156
          "model_module_version": "1.2.0",
157
          "state": {
158
            "_model_module": "@jupyter-widgets/base",
159
            "_model_module_version": "1.2.0",
160
            "_model_name": "LayoutModel",
161
            "_view_count": null,
162
            "_view_module": "@jupyter-widgets/base",
163
            "_view_module_version": "1.2.0",
164
            "_view_name": "LayoutView",
165
            "align_content": null,
166
            "align_items": "center",
167
            "align_self": null,
168
            "border": null,
169
            "bottom": null,
170
            "display": "flex",
171
            "flex": null,
172
            "flex_flow": "column",
173
            "grid_area": null,
174
            "grid_auto_columns": null,
175
            "grid_auto_flow": null,
176
            "grid_auto_rows": null,
177
            "grid_column": null,
178
            "grid_gap": null,
179
            "grid_row": null,
180
            "grid_template_areas": null,
181
            "grid_template_columns": null,
182
            "grid_template_rows": null,
183
            "height": null,
184
            "justify_content": null,
185
            "justify_items": null,
186
            "left": null,
187
            "margin": null,
188
            "max_height": null,
189
            "max_width": null,
190
            "min_height": null,
191
            "min_width": null,
192
            "object_fit": null,
193
            "object_position": null,
194
            "order": null,
195
            "overflow": null,
196
            "overflow_x": null,
197
            "overflow_y": null,
198
            "padding": null,
199
            "right": null,
200
            "top": null,
201
            "visibility": null,
202
            "width": "50%"
203
          }
204
        },
205
        "2488b59a84c4450a87d03d1a7416131a": {
206
          "model_module": "@jupyter-widgets/base",
207
          "model_name": "LayoutModel",
208
          "model_module_version": "1.2.0",
209
          "state": {
210
            "_model_module": "@jupyter-widgets/base",
211
            "_model_module_version": "1.2.0",
212
            "_model_name": "LayoutModel",
213
            "_view_count": null,
214
            "_view_module": "@jupyter-widgets/base",
215
            "_view_module_version": "1.2.0",
216
            "_view_name": "LayoutView",
217
            "align_content": null,
218
            "align_items": null,
219
            "align_self": null,
220
            "border": null,
221
            "bottom": null,
222
            "display": null,
223
            "flex": null,
224
            "flex_flow": null,
225
            "grid_area": null,
226
            "grid_auto_columns": null,
227
            "grid_auto_flow": null,
228
            "grid_auto_rows": null,
229
            "grid_column": null,
230
            "grid_gap": null,
231
            "grid_row": null,
232
            "grid_template_areas": null,
233
            "grid_template_columns": null,
234
            "grid_template_rows": null,
235
            "height": null,
236
            "justify_content": null,
237
            "justify_items": null,
238
            "left": null,
239
            "margin": null,
240
            "max_height": null,
241
            "max_width": null,
242
            "min_height": null,
243
            "min_width": null,
244
            "object_fit": null,
245
            "object_position": null,
246
            "order": null,
247
            "overflow": null,
248
            "overflow_x": null,
249
            "overflow_y": null,
250
            "padding": null,
251
            "right": null,
252
            "top": null,
253
            "visibility": null,
254
            "width": null
255
          }
256
        },
257
        "aba01680bd644852bdd01943fe6ff3a8": {
258
          "model_module": "@jupyter-widgets/controls",
259
          "model_name": "DescriptionStyleModel",
260
          "model_module_version": "1.5.0",
261
          "state": {
262
            "_model_module": "@jupyter-widgets/controls",
263
            "_model_module_version": "1.5.0",
264
            "_model_name": "DescriptionStyleModel",
265
            "_view_count": null,
266
            "_view_module": "@jupyter-widgets/base",
267
            "_view_module_version": "1.2.0",
268
            "_view_name": "StyleView",
269
            "description_width": ""
270
          }
271
        },
272
        "32368ce026824d4faad5f96bb523b1ef": {
273
          "model_module": "@jupyter-widgets/base",
274
          "model_name": "LayoutModel",
275
          "model_module_version": "1.2.0",
276
          "state": {
277
            "_model_module": "@jupyter-widgets/base",
278
            "_model_module_version": "1.2.0",
279
            "_model_name": "LayoutModel",
280
            "_view_count": null,
281
            "_view_module": "@jupyter-widgets/base",
282
            "_view_module_version": "1.2.0",
283
            "_view_name": "LayoutView",
284
            "align_content": null,
285
            "align_items": null,
286
            "align_self": null,
287
            "border": null,
288
            "bottom": null,
289
            "display": null,
290
            "flex": null,
291
            "flex_flow": null,
292
            "grid_area": null,
293
            "grid_auto_columns": null,
294
            "grid_auto_flow": null,
295
            "grid_auto_rows": null,
296
            "grid_column": null,
297
            "grid_gap": null,
298
            "grid_row": null,
299
            "grid_template_areas": null,
300
            "grid_template_columns": null,
301
            "grid_template_rows": null,
302
            "height": null,
303
            "justify_content": null,
304
            "justify_items": null,
305
            "left": null,
306
            "margin": null,
307
            "max_height": null,
308
            "max_width": null,
309
            "min_height": null,
310
            "min_width": null,
311
            "object_fit": null,
312
            "object_position": null,
313
            "order": null,
314
            "overflow": null,
315
            "overflow_x": null,
316
            "overflow_y": null,
317
            "padding": null,
318
            "right": null,
319
            "top": null,
320
            "visibility": null,
321
            "width": null
322
          }
323
        },
324
        "6c9bfecb5c7d4218b905c5d9d1a94e67": {
325
          "model_module": "@jupyter-widgets/controls",
326
          "model_name": "DescriptionStyleModel",
327
          "model_module_version": "1.5.0",
328
          "state": {
329
            "_model_module": "@jupyter-widgets/controls",
330
            "_model_module_version": "1.5.0",
331
            "_model_name": "DescriptionStyleModel",
332
            "_view_count": null,
333
            "_view_module": "@jupyter-widgets/base",
334
            "_view_module_version": "1.2.0",
335
            "_view_name": "StyleView",
336
            "description_width": ""
337
          }
338
        },
339
        "cdcf8ddbe33d443ebb8e746da30ac0e7": {
340
          "model_module": "@jupyter-widgets/base",
341
          "model_name": "LayoutModel",
342
          "model_module_version": "1.2.0",
343
          "state": {
344
            "_model_module": "@jupyter-widgets/base",
345
            "_model_module_version": "1.2.0",
346
            "_model_name": "LayoutModel",
347
            "_view_count": null,
348
            "_view_module": "@jupyter-widgets/base",
349
            "_view_module_version": "1.2.0",
350
            "_view_name": "LayoutView",
351
            "align_content": null,
352
            "align_items": null,
353
            "align_self": null,
354
            "border": null,
355
            "bottom": null,
356
            "display": null,
357
            "flex": null,
358
            "flex_flow": null,
359
            "grid_area": null,
360
            "grid_auto_columns": null,
361
            "grid_auto_flow": null,
362
            "grid_auto_rows": null,
363
            "grid_column": null,
364
            "grid_gap": null,
365
            "grid_row": null,
366
            "grid_template_areas": null,
367
            "grid_template_columns": null,
368
            "grid_template_rows": null,
369
            "height": null,
370
            "justify_content": null,
371
            "justify_items": null,
372
            "left": null,
373
            "margin": null,
374
            "max_height": null,
375
            "max_width": null,
376
            "min_height": null,
377
            "min_width": null,
378
            "object_fit": null,
379
            "object_position": null,
380
            "order": null,
381
            "overflow": null,
382
            "overflow_x": null,
383
            "overflow_y": null,
384
            "padding": null,
385
            "right": null,
386
            "top": null,
387
            "visibility": null,
388
            "width": null
389
          }
390
        },
391
        "0394a80f33694ddcaac86d11eb55dfba": {
392
          "model_module": "@jupyter-widgets/controls",
393
          "model_name": "DescriptionStyleModel",
394
          "model_module_version": "1.5.0",
395
          "state": {
396
            "_model_module": "@jupyter-widgets/controls",
397
            "_model_module_version": "1.5.0",
398
            "_model_name": "DescriptionStyleModel",
399
            "_view_count": null,
400
            "_view_module": "@jupyter-widgets/base",
401
            "_view_module_version": "1.2.0",
402
            "_view_name": "StyleView",
403
            "description_width": ""
404
          }
405
        },
406
        "2087238355ef44719f296fa797fdd1a4": {
407
          "model_module": "@jupyter-widgets/base",
408
          "model_name": "LayoutModel",
409
          "model_module_version": "1.2.0",
410
          "state": {
411
            "_model_module": "@jupyter-widgets/base",
412
            "_model_module_version": "1.2.0",
413
            "_model_name": "LayoutModel",
414
            "_view_count": null,
415
            "_view_module": "@jupyter-widgets/base",
416
            "_view_module_version": "1.2.0",
417
            "_view_name": "LayoutView",
418
            "align_content": null,
419
            "align_items": null,
420
            "align_self": null,
421
            "border": null,
422
            "bottom": null,
423
            "display": null,
424
            "flex": null,
425
            "flex_flow": null,
426
            "grid_area": null,
427
            "grid_auto_columns": null,
428
            "grid_auto_flow": null,
429
            "grid_auto_rows": null,
430
            "grid_column": null,
431
            "grid_gap": null,
432
            "grid_row": null,
433
            "grid_template_areas": null,
434
            "grid_template_columns": null,
435
            "grid_template_rows": null,
436
            "height": null,
437
            "justify_content": null,
438
            "justify_items": null,
439
            "left": null,
440
            "margin": null,
441
            "max_height": null,
442
            "max_width": null,
443
            "min_height": null,
444
            "min_width": null,
445
            "object_fit": null,
446
            "object_position": null,
447
            "order": null,
448
            "overflow": null,
449
            "overflow_x": null,
450
            "overflow_y": null,
451
            "padding": null,
452
            "right": null,
453
            "top": null,
454
            "visibility": null,
455
            "width": null
456
          }
457
        },
458
        "3a25c5df13944295882f0114971dad95": {
459
          "model_module": "@jupyter-widgets/controls",
460
          "model_name": "ButtonStyleModel",
461
          "model_module_version": "1.5.0",
462
          "state": {
463
            "_model_module": "@jupyter-widgets/controls",
464
            "_model_module_version": "1.5.0",
465
            "_model_name": "ButtonStyleModel",
466
            "_view_count": null,
467
            "_view_module": "@jupyter-widgets/base",
468
            "_view_module_version": "1.2.0",
469
            "_view_name": "StyleView",
470
            "button_color": null,
471
            "font_weight": ""
472
          }
473
        },
474
        "9c9e13827ccd49c28eb7e4b5b7bce367": {
475
          "model_module": "@jupyter-widgets/base",
476
          "model_name": "LayoutModel",
477
          "model_module_version": "1.2.0",
478
          "state": {
479
            "_model_module": "@jupyter-widgets/base",
480
            "_model_module_version": "1.2.0",
481
            "_model_name": "LayoutModel",
482
            "_view_count": null,
483
            "_view_module": "@jupyter-widgets/base",
484
            "_view_module_version": "1.2.0",
485
            "_view_name": "LayoutView",
486
            "align_content": null,
487
            "align_items": null,
488
            "align_self": null,
489
            "border": null,
490
            "bottom": null,
491
            "display": null,
492
            "flex": null,
493
            "flex_flow": null,
494
            "grid_area": null,
495
            "grid_auto_columns": null,
496
            "grid_auto_flow": null,
497
            "grid_auto_rows": null,
498
            "grid_column": null,
499
            "grid_gap": null,
500
            "grid_row": null,
501
            "grid_template_areas": null,
502
            "grid_template_columns": null,
503
            "grid_template_rows": null,
504
            "height": null,
505
            "justify_content": null,
506
            "justify_items": null,
507
            "left": null,
508
            "margin": null,
509
            "max_height": null,
510
            "max_width": null,
511
            "min_height": null,
512
            "min_width": null,
513
            "object_fit": null,
514
            "object_position": null,
515
            "order": null,
516
            "overflow": null,
517
            "overflow_x": null,
518
            "overflow_y": null,
519
            "padding": null,
520
            "right": null,
521
            "top": null,
522
            "visibility": null,
523
            "width": null
524
          }
525
        },
526
        "d65e536585574e1ebbe7dc596e5fff5b": {
527
          "model_module": "@jupyter-widgets/controls",
528
          "model_name": "DescriptionStyleModel",
529
          "model_module_version": "1.5.0",
530
          "state": {
531
            "_model_module": "@jupyter-widgets/controls",
532
            "_model_module_version": "1.5.0",
533
            "_model_name": "DescriptionStyleModel",
534
            "_view_count": null,
535
            "_view_module": "@jupyter-widgets/base",
536
            "_view_module_version": "1.2.0",
537
            "_view_name": "StyleView",
538
            "description_width": ""
539
          }
540
        },
541
        "1878c66b2eae453a864ffead4070b1b1": {
542
          "model_module": "@jupyter-widgets/controls",
543
          "model_name": "LabelModel",
544
          "model_module_version": "1.5.0",
545
          "state": {
546
            "_dom_classes": [],
547
            "_model_module": "@jupyter-widgets/controls",
548
            "_model_module_version": "1.5.0",
549
            "_model_name": "LabelModel",
550
            "_view_count": null,
551
            "_view_module": "@jupyter-widgets/controls",
552
            "_view_module_version": "1.5.0",
553
            "_view_name": "LabelView",
554
            "description": "",
555
            "description_tooltip": null,
556
            "layout": "IPY_MODEL_07a86a9d6045490582005ae3dc6235b4",
557
            "placeholder": "​",
558
            "style": "IPY_MODEL_26203a05198d4ceeacbf5e773709f351",
559
            "value": "Connecting..."
560
          }
561
        },
562
        "07a86a9d6045490582005ae3dc6235b4": {
563
          "model_module": "@jupyter-widgets/base",
564
          "model_name": "LayoutModel",
565
          "model_module_version": "1.2.0",
566
          "state": {
567
            "_model_module": "@jupyter-widgets/base",
568
            "_model_module_version": "1.2.0",
569
            "_model_name": "LayoutModel",
570
            "_view_count": null,
571
            "_view_module": "@jupyter-widgets/base",
572
            "_view_module_version": "1.2.0",
573
            "_view_name": "LayoutView",
574
            "align_content": null,
575
            "align_items": null,
576
            "align_self": null,
577
            "border": null,
578
            "bottom": null,
579
            "display": null,
580
            "flex": null,
581
            "flex_flow": null,
582
            "grid_area": null,
583
            "grid_auto_columns": null,
584
            "grid_auto_flow": null,
585
            "grid_auto_rows": null,
586
            "grid_column": null,
587
            "grid_gap": null,
588
            "grid_row": null,
589
            "grid_template_areas": null,
590
            "grid_template_columns": null,
591
            "grid_template_rows": null,
592
            "height": null,
593
            "justify_content": null,
594
            "justify_items": null,
595
            "left": null,
596
            "margin": null,
597
            "max_height": null,
598
            "max_width": null,
599
            "min_height": null,
600
            "min_width": null,
601
            "object_fit": null,
602
            "object_position": null,
603
            "order": null,
604
            "overflow": null,
605
            "overflow_x": null,
606
            "overflow_y": null,
607
            "padding": null,
608
            "right": null,
609
            "top": null,
610
            "visibility": null,
611
            "width": null
612
          }
613
        },
614
        "26203a05198d4ceeacbf5e773709f351": {
615
          "model_module": "@jupyter-widgets/controls",
616
          "model_name": "DescriptionStyleModel",
617
          "model_module_version": "1.5.0",
618
          "state": {
619
            "_model_module": "@jupyter-widgets/controls",
620
            "_model_module_version": "1.5.0",
621
            "_model_name": "DescriptionStyleModel",
622
            "_view_count": null,
623
            "_view_module": "@jupyter-widgets/base",
624
            "_view_module_version": "1.2.0",
625
            "_view_name": "StyleView",
626
            "description_width": ""
627
          }
628
        },
629
        "1b54ffd23ba74eeebd9c469f440fb681": {
630
          "model_module": "@jupyter-widgets/controls",
631
          "model_name": "LabelModel",
632
          "model_module_version": "1.5.0",
633
          "state": {
634
            "_dom_classes": [],
635
            "_model_module": "@jupyter-widgets/controls",
636
            "_model_module_version": "1.5.0",
637
            "_model_name": "LabelModel",
638
            "_view_count": null,
639
            "_view_module": "@jupyter-widgets/controls",
640
            "_view_module_version": "1.5.0",
641
            "_view_name": "LabelView",
642
            "description": "",
643
            "description_tooltip": null,
644
            "layout": "IPY_MODEL_3ea83882b0c24fc6bdc55ec477e8d966",
645
            "placeholder": "​",
646
            "style": "IPY_MODEL_9cee18be45e147d094a9f3d563e43deb",
647
            "value": "Token is valid (permission: write)."
648
          }
649
        },
650
        "6b08ab9f42604d50b75ca79953cdb513": {
651
          "model_module": "@jupyter-widgets/controls",
652
          "model_name": "LabelModel",
653
          "model_module_version": "1.5.0",
654
          "state": {
655
            "_dom_classes": [],
656
            "_model_module": "@jupyter-widgets/controls",
657
            "_model_module_version": "1.5.0",
658
            "_model_name": "LabelModel",
659
            "_view_count": null,
660
            "_view_module": "@jupyter-widgets/controls",
661
            "_view_module_version": "1.5.0",
662
            "_view_name": "LabelView",
663
            "description": "",
664
            "description_tooltip": null,
665
            "layout": "IPY_MODEL_c7a697bfe78e4ef3ba7c086c6a7dc9a0",
666
            "placeholder": "​",
667
            "style": "IPY_MODEL_3e3a59c9cd1e4bab9a7134b3ed460a70",
668
            "value": "Your token has been saved in your configured git credential helpers (store)."
669
          }
670
        },
671
        "da126394b0454dfa92ead879aa4d05f8": {
672
          "model_module": "@jupyter-widgets/controls",
673
          "model_name": "LabelModel",
674
          "model_module_version": "1.5.0",
675
          "state": {
676
            "_dom_classes": [],
677
            "_model_module": "@jupyter-widgets/controls",
678
            "_model_module_version": "1.5.0",
679
            "_model_name": "LabelModel",
680
            "_view_count": null,
681
            "_view_module": "@jupyter-widgets/controls",
682
            "_view_module_version": "1.5.0",
683
            "_view_name": "LabelView",
684
            "description": "",
685
            "description_tooltip": null,
686
            "layout": "IPY_MODEL_13f4a118e7ef4a148bde03a6e84e8aa3",
687
            "placeholder": "​",
688
            "style": "IPY_MODEL_da203394bbcb4a3a98ccf00c99c8397c",
689
            "value": "Your token has been saved to /root/.cache/huggingface/token"
690
          }
691
        },
692
        "cdad03b3eb6f4b8498d4c095ef4bd77c": {
693
          "model_module": "@jupyter-widgets/controls",
694
          "model_name": "LabelModel",
695
          "model_module_version": "1.5.0",
696
          "state": {
697
            "_dom_classes": [],
698
            "_model_module": "@jupyter-widgets/controls",
699
            "_model_module_version": "1.5.0",
700
            "_model_name": "LabelModel",
701
            "_view_count": null,
702
            "_view_module": "@jupyter-widgets/controls",
703
            "_view_module_version": "1.5.0",
704
            "_view_name": "LabelView",
705
            "description": "",
706
            "description_tooltip": null,
707
            "layout": "IPY_MODEL_e72159dd38c04fda9b6944b21ef7ee18",
708
            "placeholder": "​",
709
            "style": "IPY_MODEL_3be1673dc1ce401f9bf74665671fe25e",
710
            "value": "Login successful"
711
          }
712
        },
713
        "3ea83882b0c24fc6bdc55ec477e8d966": {
714
          "model_module": "@jupyter-widgets/base",
715
          "model_name": "LayoutModel",
716
          "model_module_version": "1.2.0",
717
          "state": {
718
            "_model_module": "@jupyter-widgets/base",
719
            "_model_module_version": "1.2.0",
720
            "_model_name": "LayoutModel",
721
            "_view_count": null,
722
            "_view_module": "@jupyter-widgets/base",
723
            "_view_module_version": "1.2.0",
724
            "_view_name": "LayoutView",
725
            "align_content": null,
726
            "align_items": null,
727
            "align_self": null,
728
            "border": null,
729
            "bottom": null,
730
            "display": null,
731
            "flex": null,
732
            "flex_flow": null,
733
            "grid_area": null,
734
            "grid_auto_columns": null,
735
            "grid_auto_flow": null,
736
            "grid_auto_rows": null,
737
            "grid_column": null,
738
            "grid_gap": null,
739
            "grid_row": null,
740
            "grid_template_areas": null,
741
            "grid_template_columns": null,
742
            "grid_template_rows": null,
743
            "height": null,
744
            "justify_content": null,
745
            "justify_items": null,
746
            "left": null,
747
            "margin": null,
748
            "max_height": null,
749
            "max_width": null,
750
            "min_height": null,
751
            "min_width": null,
752
            "object_fit": null,
753
            "object_position": null,
754
            "order": null,
755
            "overflow": null,
756
            "overflow_x": null,
757
            "overflow_y": null,
758
            "padding": null,
759
            "right": null,
760
            "top": null,
761
            "visibility": null,
762
            "width": null
763
          }
764
        },
765
        "9cee18be45e147d094a9f3d563e43deb": {
766
          "model_module": "@jupyter-widgets/controls",
767
          "model_name": "DescriptionStyleModel",
768
          "model_module_version": "1.5.0",
769
          "state": {
770
            "_model_module": "@jupyter-widgets/controls",
771
            "_model_module_version": "1.5.0",
772
            "_model_name": "DescriptionStyleModel",
773
            "_view_count": null,
774
            "_view_module": "@jupyter-widgets/base",
775
            "_view_module_version": "1.2.0",
776
            "_view_name": "StyleView",
777
            "description_width": ""
778
          }
779
        },
780
        "c7a697bfe78e4ef3ba7c086c6a7dc9a0": {
781
          "model_module": "@jupyter-widgets/base",
782
          "model_name": "LayoutModel",
783
          "model_module_version": "1.2.0",
784
          "state": {
785
            "_model_module": "@jupyter-widgets/base",
786
            "_model_module_version": "1.2.0",
787
            "_model_name": "LayoutModel",
788
            "_view_count": null,
789
            "_view_module": "@jupyter-widgets/base",
790
            "_view_module_version": "1.2.0",
791
            "_view_name": "LayoutView",
792
            "align_content": null,
793
            "align_items": null,
794
            "align_self": null,
795
            "border": null,
796
            "bottom": null,
797
            "display": null,
798
            "flex": null,
799
            "flex_flow": null,
800
            "grid_area": null,
801
            "grid_auto_columns": null,
802
            "grid_auto_flow": null,
803
            "grid_auto_rows": null,
804
            "grid_column": null,
805
            "grid_gap": null,
806
            "grid_row": null,
807
            "grid_template_areas": null,
808
            "grid_template_columns": null,
809
            "grid_template_rows": null,
810
            "height": null,
811
            "justify_content": null,
812
            "justify_items": null,
813
            "left": null,
814
            "margin": null,
815
            "max_height": null,
816
            "max_width": null,
817
            "min_height": null,
818
            "min_width": null,
819
            "object_fit": null,
820
            "object_position": null,
821
            "order": null,
822
            "overflow": null,
823
            "overflow_x": null,
824
            "overflow_y": null,
825
            "padding": null,
826
            "right": null,
827
            "top": null,
828
            "visibility": null,
829
            "width": null
830
          }
831
        },
832
        "3e3a59c9cd1e4bab9a7134b3ed460a70": {
833
          "model_module": "@jupyter-widgets/controls",
834
          "model_name": "DescriptionStyleModel",
835
          "model_module_version": "1.5.0",
836
          "state": {
837
            "_model_module": "@jupyter-widgets/controls",
838
            "_model_module_version": "1.5.0",
839
            "_model_name": "DescriptionStyleModel",
840
            "_view_count": null,
841
            "_view_module": "@jupyter-widgets/base",
842
            "_view_module_version": "1.2.0",
843
            "_view_name": "StyleView",
844
            "description_width": ""
845
          }
846
        },
847
        "13f4a118e7ef4a148bde03a6e84e8aa3": {
848
          "model_module": "@jupyter-widgets/base",
849
          "model_name": "LayoutModel",
850
          "model_module_version": "1.2.0",
851
          "state": {
852
            "_model_module": "@jupyter-widgets/base",
853
            "_model_module_version": "1.2.0",
854
            "_model_name": "LayoutModel",
855
            "_view_count": null,
856
            "_view_module": "@jupyter-widgets/base",
857
            "_view_module_version": "1.2.0",
858
            "_view_name": "LayoutView",
859
            "align_content": null,
860
            "align_items": null,
861
            "align_self": null,
862
            "border": null,
863
            "bottom": null,
864
            "display": null,
865
            "flex": null,
866
            "flex_flow": null,
867
            "grid_area": null,
868
            "grid_auto_columns": null,
869
            "grid_auto_flow": null,
870
            "grid_auto_rows": null,
871
            "grid_column": null,
872
            "grid_gap": null,
873
            "grid_row": null,
874
            "grid_template_areas": null,
875
            "grid_template_columns": null,
876
            "grid_template_rows": null,
877
            "height": null,
878
            "justify_content": null,
879
            "justify_items": null,
880
            "left": null,
881
            "margin": null,
882
            "max_height": null,
883
            "max_width": null,
884
            "min_height": null,
885
            "min_width": null,
886
            "object_fit": null,
887
            "object_position": null,
888
            "order": null,
889
            "overflow": null,
890
            "overflow_x": null,
891
            "overflow_y": null,
892
            "padding": null,
893
            "right": null,
894
            "top": null,
895
            "visibility": null,
896
            "width": null
897
          }
898
        },
899
        "da203394bbcb4a3a98ccf00c99c8397c": {
900
          "model_module": "@jupyter-widgets/controls",
901
          "model_name": "DescriptionStyleModel",
902
          "model_module_version": "1.5.0",
903
          "state": {
904
            "_model_module": "@jupyter-widgets/controls",
905
            "_model_module_version": "1.5.0",
906
            "_model_name": "DescriptionStyleModel",
907
            "_view_count": null,
908
            "_view_module": "@jupyter-widgets/base",
909
            "_view_module_version": "1.2.0",
910
            "_view_name": "StyleView",
911
            "description_width": ""
912
          }
913
        },
914
        "e72159dd38c04fda9b6944b21ef7ee18": {
915
          "model_module": "@jupyter-widgets/base",
916
          "model_name": "LayoutModel",
917
          "model_module_version": "1.2.0",
918
          "state": {
919
            "_model_module": "@jupyter-widgets/base",
920
            "_model_module_version": "1.2.0",
921
            "_model_name": "LayoutModel",
922
            "_view_count": null,
923
            "_view_module": "@jupyter-widgets/base",
924
            "_view_module_version": "1.2.0",
925
            "_view_name": "LayoutView",
926
            "align_content": null,
927
            "align_items": null,
928
            "align_self": null,
929
            "border": null,
930
            "bottom": null,
931
            "display": null,
932
            "flex": null,
933
            "flex_flow": null,
934
            "grid_area": null,
935
            "grid_auto_columns": null,
936
            "grid_auto_flow": null,
937
            "grid_auto_rows": null,
938
            "grid_column": null,
939
            "grid_gap": null,
940
            "grid_row": null,
941
            "grid_template_areas": null,
942
            "grid_template_columns": null,
943
            "grid_template_rows": null,
944
            "height": null,
945
            "justify_content": null,
946
            "justify_items": null,
947
            "left": null,
948
            "margin": null,
949
            "max_height": null,
950
            "max_width": null,
951
            "min_height": null,
952
            "min_width": null,
953
            "object_fit": null,
954
            "object_position": null,
955
            "order": null,
956
            "overflow": null,
957
            "overflow_x": null,
958
            "overflow_y": null,
959
            "padding": null,
960
            "right": null,
961
            "top": null,
962
            "visibility": null,
963
            "width": null
964
          }
965
        },
966
        "3be1673dc1ce401f9bf74665671fe25e": {
967
          "model_module": "@jupyter-widgets/controls",
968
          "model_name": "DescriptionStyleModel",
969
          "model_module_version": "1.5.0",
970
          "state": {
971
            "_model_module": "@jupyter-widgets/controls",
972
            "_model_module_version": "1.5.0",
973
            "_model_name": "DescriptionStyleModel",
974
            "_view_count": null,
975
            "_view_module": "@jupyter-widgets/base",
976
            "_view_module_version": "1.2.0",
977
            "_view_name": "StyleView",
978
            "description_width": ""
979
          }
980
        },
981
        "fcb820b4909e413e98603c195818e0d4": {
982
          "model_module": "@jupyter-widgets/controls",
983
          "model_name": "HBoxModel",
984
          "model_module_version": "1.5.0",
985
          "state": {
986
            "_dom_classes": [],
987
            "_model_module": "@jupyter-widgets/controls",
988
            "_model_module_version": "1.5.0",
989
            "_model_name": "HBoxModel",
990
            "_view_count": null,
991
            "_view_module": "@jupyter-widgets/controls",
992
            "_view_module_version": "1.5.0",
993
            "_view_name": "HBoxView",
994
            "box_style": "",
995
            "children": [
996
              "IPY_MODEL_6b0a6739adbe41e8a5c34f8a8868b977",
997
              "IPY_MODEL_0b9514defba84991b4f36485b7e630fb",
998
              "IPY_MODEL_6a7973751e4d4ca08ef4c53c97103868"
999
            ],
1000
            "layout": "IPY_MODEL_0deb9610aaff49c488b6e89139fe31df"
1001
          }
1002
        },
1003
        "6b0a6739adbe41e8a5c34f8a8868b977": {
1004
          "model_module": "@jupyter-widgets/controls",
1005
          "model_name": "HTMLModel",
1006
          "model_module_version": "1.5.0",
1007
          "state": {
1008
            "_dom_classes": [],
1009
            "_model_module": "@jupyter-widgets/controls",
1010
            "_model_module_version": "1.5.0",
1011
            "_model_name": "HTMLModel",
1012
            "_view_count": null,
1013
            "_view_module": "@jupyter-widgets/controls",
1014
            "_view_module_version": "1.5.0",
1015
            "_view_name": "HTMLView",
1016
            "description": "",
1017
            "description_tooltip": null,
1018
            "layout": "IPY_MODEL_89f149a2080f4721a483ff535b6e6602",
1019
            "placeholder": "​",
1020
            "style": "IPY_MODEL_4f62c475347944d6b18ce79d125386fc",
1021
            "value": "Loading checkpoint shards: 100%"
1022
          }
1023
        },
1024
        "0b9514defba84991b4f36485b7e630fb": {
1025
          "model_module": "@jupyter-widgets/controls",
1026
          "model_name": "FloatProgressModel",
1027
          "model_module_version": "1.5.0",
1028
          "state": {
1029
            "_dom_classes": [],
1030
            "_model_module": "@jupyter-widgets/controls",
1031
            "_model_module_version": "1.5.0",
1032
            "_model_name": "FloatProgressModel",
1033
            "_view_count": null,
1034
            "_view_module": "@jupyter-widgets/controls",
1035
            "_view_module_version": "1.5.0",
1036
            "_view_name": "ProgressView",
1037
            "bar_style": "success",
1038
            "description": "",
1039
            "description_tooltip": null,
1040
            "layout": "IPY_MODEL_996db8f083904106913a3e4b4d6627c9",
1041
            "max": 11,
1042
            "min": 0,
1043
            "orientation": "horizontal",
1044
            "style": "IPY_MODEL_f6b2ea40822a41899aae6768c5a34c73",
1045
            "value": 11
1046
          }
1047
        },
1048
        "6a7973751e4d4ca08ef4c53c97103868": {
1049
          "model_module": "@jupyter-widgets/controls",
1050
          "model_name": "HTMLModel",
1051
          "model_module_version": "1.5.0",
1052
          "state": {
1053
            "_dom_classes": [],
1054
            "_model_module": "@jupyter-widgets/controls",
1055
            "_model_module_version": "1.5.0",
1056
            "_model_name": "HTMLModel",
1057
            "_view_count": null,
1058
            "_view_module": "@jupyter-widgets/controls",
1059
            "_view_module_version": "1.5.0",
1060
            "_view_name": "HTMLView",
1061
            "description": "",
1062
            "description_tooltip": null,
1063
            "layout": "IPY_MODEL_4523834103534e2b9fb804bdb5265a1e",
1064
            "placeholder": "​",
1065
            "style": "IPY_MODEL_3912010e0694457f9f777c1bbb996967",
1066
            "value": " 11/11 [01:22&lt;00:00,  5.56s/it]"
1067
          }
1068
        },
1069
        "0deb9610aaff49c488b6e89139fe31df": {
1070
          "model_module": "@jupyter-widgets/base",
1071
          "model_name": "LayoutModel",
1072
          "model_module_version": "1.2.0",
1073
          "state": {
1074
            "_model_module": "@jupyter-widgets/base",
1075
            "_model_module_version": "1.2.0",
1076
            "_model_name": "LayoutModel",
1077
            "_view_count": null,
1078
            "_view_module": "@jupyter-widgets/base",
1079
            "_view_module_version": "1.2.0",
1080
            "_view_name": "LayoutView",
1081
            "align_content": null,
1082
            "align_items": null,
1083
            "align_self": null,
1084
            "border": null,
1085
            "bottom": null,
1086
            "display": null,
1087
            "flex": null,
1088
            "flex_flow": null,
1089
            "grid_area": null,
1090
            "grid_auto_columns": null,
1091
            "grid_auto_flow": null,
1092
            "grid_auto_rows": null,
1093
            "grid_column": null,
1094
            "grid_gap": null,
1095
            "grid_row": null,
1096
            "grid_template_areas": null,
1097
            "grid_template_columns": null,
1098
            "grid_template_rows": null,
1099
            "height": null,
1100
            "justify_content": null,
1101
            "justify_items": null,
1102
            "left": null,
1103
            "margin": null,
1104
            "max_height": null,
1105
            "max_width": null,
1106
            "min_height": null,
1107
            "min_width": null,
1108
            "object_fit": null,
1109
            "object_position": null,
1110
            "order": null,
1111
            "overflow": null,
1112
            "overflow_x": null,
1113
            "overflow_y": null,
1114
            "padding": null,
1115
            "right": null,
1116
            "top": null,
1117
            "visibility": null,
1118
            "width": null
1119
          }
1120
        },
1121
        "89f149a2080f4721a483ff535b6e6602": {
1122
          "model_module": "@jupyter-widgets/base",
1123
          "model_name": "LayoutModel",
1124
          "model_module_version": "1.2.0",
1125
          "state": {
1126
            "_model_module": "@jupyter-widgets/base",
1127
            "_model_module_version": "1.2.0",
1128
            "_model_name": "LayoutModel",
1129
            "_view_count": null,
1130
            "_view_module": "@jupyter-widgets/base",
1131
            "_view_module_version": "1.2.0",
1132
            "_view_name": "LayoutView",
1133
            "align_content": null,
1134
            "align_items": null,
1135
            "align_self": null,
1136
            "border": null,
1137
            "bottom": null,
1138
            "display": null,
1139
            "flex": null,
1140
            "flex_flow": null,
1141
            "grid_area": null,
1142
            "grid_auto_columns": null,
1143
            "grid_auto_flow": null,
1144
            "grid_auto_rows": null,
1145
            "grid_column": null,
1146
            "grid_gap": null,
1147
            "grid_row": null,
1148
            "grid_template_areas": null,
1149
            "grid_template_columns": null,
1150
            "grid_template_rows": null,
1151
            "height": null,
1152
            "justify_content": null,
1153
            "justify_items": null,
1154
            "left": null,
1155
            "margin": null,
1156
            "max_height": null,
1157
            "max_width": null,
1158
            "min_height": null,
1159
            "min_width": null,
1160
            "object_fit": null,
1161
            "object_position": null,
1162
            "order": null,
1163
            "overflow": null,
1164
            "overflow_x": null,
1165
            "overflow_y": null,
1166
            "padding": null,
1167
            "right": null,
1168
            "top": null,
1169
            "visibility": null,
1170
            "width": null
1171
          }
1172
        },
1173
        "4f62c475347944d6b18ce79d125386fc": {
1174
          "model_module": "@jupyter-widgets/controls",
1175
          "model_name": "DescriptionStyleModel",
1176
          "model_module_version": "1.5.0",
1177
          "state": {
1178
            "_model_module": "@jupyter-widgets/controls",
1179
            "_model_module_version": "1.5.0",
1180
            "_model_name": "DescriptionStyleModel",
1181
            "_view_count": null,
1182
            "_view_module": "@jupyter-widgets/base",
1183
            "_view_module_version": "1.2.0",
1184
            "_view_name": "StyleView",
1185
            "description_width": ""
1186
          }
1187
        },
1188
        "996db8f083904106913a3e4b4d6627c9": {
1189
          "model_module": "@jupyter-widgets/base",
1190
          "model_name": "LayoutModel",
1191
          "model_module_version": "1.2.0",
1192
          "state": {
1193
            "_model_module": "@jupyter-widgets/base",
1194
            "_model_module_version": "1.2.0",
1195
            "_model_name": "LayoutModel",
1196
            "_view_count": null,
1197
            "_view_module": "@jupyter-widgets/base",
1198
            "_view_module_version": "1.2.0",
1199
            "_view_name": "LayoutView",
1200
            "align_content": null,
1201
            "align_items": null,
1202
            "align_self": null,
1203
            "border": null,
1204
            "bottom": null,
1205
            "display": null,
1206
            "flex": null,
1207
            "flex_flow": null,
1208
            "grid_area": null,
1209
            "grid_auto_columns": null,
1210
            "grid_auto_flow": null,
1211
            "grid_auto_rows": null,
1212
            "grid_column": null,
1213
            "grid_gap": null,
1214
            "grid_row": null,
1215
            "grid_template_areas": null,
1216
            "grid_template_columns": null,
1217
            "grid_template_rows": null,
1218
            "height": null,
1219
            "justify_content": null,
1220
            "justify_items": null,
1221
            "left": null,
1222
            "margin": null,
1223
            "max_height": null,
1224
            "max_width": null,
1225
            "min_height": null,
1226
            "min_width": null,
1227
            "object_fit": null,
1228
            "object_position": null,
1229
            "order": null,
1230
            "overflow": null,
1231
            "overflow_x": null,
1232
            "overflow_y": null,
1233
            "padding": null,
1234
            "right": null,
1235
            "top": null,
1236
            "visibility": null,
1237
            "width": null
1238
          }
1239
        },
1240
        "f6b2ea40822a41899aae6768c5a34c73": {
1241
          "model_module": "@jupyter-widgets/controls",
1242
          "model_name": "ProgressStyleModel",
1243
          "model_module_version": "1.5.0",
1244
          "state": {
1245
            "_model_module": "@jupyter-widgets/controls",
1246
            "_model_module_version": "1.5.0",
1247
            "_model_name": "ProgressStyleModel",
1248
            "_view_count": null,
1249
            "_view_module": "@jupyter-widgets/base",
1250
            "_view_module_version": "1.2.0",
1251
            "_view_name": "StyleView",
1252
            "bar_color": null,
1253
            "description_width": ""
1254
          }
1255
        },
1256
        "4523834103534e2b9fb804bdb5265a1e": {
1257
          "model_module": "@jupyter-widgets/base",
1258
          "model_name": "LayoutModel",
1259
          "model_module_version": "1.2.0",
1260
          "state": {
1261
            "_model_module": "@jupyter-widgets/base",
1262
            "_model_module_version": "1.2.0",
1263
            "_model_name": "LayoutModel",
1264
            "_view_count": null,
1265
            "_view_module": "@jupyter-widgets/base",
1266
            "_view_module_version": "1.2.0",
1267
            "_view_name": "LayoutView",
1268
            "align_content": null,
1269
            "align_items": null,
1270
            "align_self": null,
1271
            "border": null,
1272
            "bottom": null,
1273
            "display": null,
1274
            "flex": null,
1275
            "flex_flow": null,
1276
            "grid_area": null,
1277
            "grid_auto_columns": null,
1278
            "grid_auto_flow": null,
1279
            "grid_auto_rows": null,
1280
            "grid_column": null,
1281
            "grid_gap": null,
1282
            "grid_row": null,
1283
            "grid_template_areas": null,
1284
            "grid_template_columns": null,
1285
            "grid_template_rows": null,
1286
            "height": null,
1287
            "justify_content": null,
1288
            "justify_items": null,
1289
            "left": null,
1290
            "margin": null,
1291
            "max_height": null,
1292
            "max_width": null,
1293
            "min_height": null,
1294
            "min_width": null,
1295
            "object_fit": null,
1296
            "object_position": null,
1297
            "order": null,
1298
            "overflow": null,
1299
            "overflow_x": null,
1300
            "overflow_y": null,
1301
            "padding": null,
1302
            "right": null,
1303
            "top": null,
1304
            "visibility": null,
1305
            "width": null
1306
          }
1307
        },
1308
        "3912010e0694457f9f777c1bbb996967": {
1309
          "model_module": "@jupyter-widgets/controls",
1310
          "model_name": "DescriptionStyleModel",
1311
          "model_module_version": "1.5.0",
1312
          "state": {
1313
            "_model_module": "@jupyter-widgets/controls",
1314
            "_model_module_version": "1.5.0",
1315
            "_model_name": "DescriptionStyleModel",
1316
            "_view_count": null,
1317
            "_view_module": "@jupyter-widgets/base",
1318
            "_view_module_version": "1.2.0",
1319
            "_view_name": "StyleView",
1320
            "description_width": ""
1321
          }
1322
        }
1323
      }
1324
    }
1325
  },
1326
  "cells": [
1327
    {
1328
      "cell_type": "markdown",
1329
      "metadata": {
1330
        "id": "view-in-github",
1331
        "colab_type": "text"
1332
      },
1333
      "source": [
1334
        "<a href=\"https://colab.research.google.com/github/ashishpatel26/LLM-Finetuning/blob/main/14.Finetuning_Mistral_7b_Using_AutoTrain.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
1335
      ]
1336
    },
1337
    {
1338
      "cell_type": "markdown",
1339
      "source": [
1340
        "## Fine-tuning Mistral 7b with AutoTrain"
1341
      ],
1342
      "metadata": {
1343
        "id": "7oRhTab-3Isg"
1344
      }
1345
    },
1346
    {
1347
      "cell_type": "markdown",
1348
      "source": [
1349
        "Setup Runtime\n",
1350
        "For fine-tuning Llama, a GPU instance is essential. Follow the directions below:\n",
1351
        "\n",
1352
        "- Go to `Runtime` (located in the top menu bar).\n",
1353
        "- Select `Change Runtime Type`.\n",
1354
        "- Choose `T4 GPU` (or a comparable option)."
1355
      ],
1356
      "metadata": {
1357
        "id": "yhDioAdc3ML5"
1358
      }
1359
    },
1360
    {
1361
      "cell_type": "markdown",
1362
      "source": [
1363
        "### Step 1: Setup Environment"
1364
      ],
1365
      "metadata": {
1366
        "id": "IJZt3QI73kWF"
1367
      }
1368
    },
1369
    {
1370
      "cell_type": "code",
1371
      "source": [
1372
        "!pip install pandas autotrain-advanced -q"
1373
      ],
1374
      "metadata": {
1375
        "colab": {
1376
          "base_uri": "https://localhost:8080/"
1377
        },
1378
        "id": "UgvqeBz_3XvO",
1379
        "outputId": "96376e39-7fe6-4d68-fe4b-eb5d8f3a3f8f"
1380
      },
1381
      "execution_count": 1,
1382
      "outputs": [
1383
        {
1384
          "output_type": "stream",
1385
          "name": "stdout",
1386
          "text": [
1387
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m129.5/129.5 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1388
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m174.1/174.1 kB\u001b[0m \u001b[31m6.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1389
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m519.6/519.6 kB\u001b[0m \u001b[31m8.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1390
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m72.9/72.9 kB\u001b[0m \u001b[31m8.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1391
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.4/13.4 MB\u001b[0m \u001b[31m46.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1392
            "\u001b[?25h  Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
1393
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m302.0/302.0 kB\u001b[0m \u001b[31m31.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1394
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.0/60.0 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1395
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m404.2/404.2 kB\u001b[0m \u001b[31m43.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1396
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.4/3.4 MB\u001b[0m \u001b[31m80.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1397
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m304.5/304.5 kB\u001b[0m \u001b[31m23.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1398
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1399
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m880.6/880.6 kB\u001b[0m \u001b[31m35.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1400
            "\u001b[?25h  Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
1401
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.8/10.8 MB\u001b[0m \u001b[31m78.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1402
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m68.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1403
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.1/77.1 kB\u001b[0m \u001b[31m9.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1404
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m242.5/242.5 kB\u001b[0m \u001b[31m25.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1405
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m295.0/295.0 kB\u001b[0m \u001b[31m32.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1406
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m20.1/20.1 MB\u001b[0m \u001b[31m85.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1407
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.2/42.2 kB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1408
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m90.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1409
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m85.6/85.6 kB\u001b[0m \u001b[31m10.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1410
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m118.0/118.0 kB\u001b[0m \u001b[31m13.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1411
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m93.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1412
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.6/7.6 MB\u001b[0m \u001b[31m122.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1413
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m258.1/258.1 kB\u001b[0m \u001b[31m28.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1414
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.5/1.5 MB\u001b[0m \u001b[31m70.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1415
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m92.6/92.6 MB\u001b[0m \u001b[31m8.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1416
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m66.4/66.4 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1417
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m53.1/53.1 kB\u001b[0m \u001b[31m5.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1418
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m12.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1419
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m194.1/194.1 kB\u001b[0m \u001b[31m20.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1420
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m15.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1421
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m66.3/66.3 kB\u001b[0m \u001b[31m8.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1422
            "\u001b[?25h  Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
1423
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m298.2/298.2 kB\u001b[0m \u001b[31m34.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1424
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.7/75.7 kB\u001b[0m \u001b[31m8.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1425
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m138.7/138.7 kB\u001b[0m \u001b[31m11.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1426
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.7/45.7 kB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1427
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m59.5/59.5 kB\u001b[0m \u001b[31m6.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1428
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m129.9/129.9 kB\u001b[0m \u001b[31m9.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1429
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m56.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1430
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.0/226.0 kB\u001b[0m \u001b[31m22.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1431
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m66.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1432
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.8/7.8 MB\u001b[0m \u001b[31m118.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1433
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m78.7/78.7 kB\u001b[0m \u001b[31m9.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1434
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1435
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m67.0/67.0 kB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1436
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.0/76.0 kB\u001b[0m \u001b[31m8.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
1437
            "\u001b[?25h  Building wheel for ipadic (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
1438
            "  Building wheel for sacremoses (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
1439
            "  Building wheel for ffmpy (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
1440
            "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
1441
            "tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 4.23.4 which is incompatible.\u001b[0m\u001b[31m\n",
1442
            "\u001b[0m"
1443
          ]
1444
        }
1445
      ]
1446
    },
1447
    {
1448
      "cell_type": "code",
1449
      "execution_count": 2,
1450
      "metadata": {
1451
        "colab": {
1452
          "base_uri": "https://localhost:8080/"
1453
        },
1454
        "id": "kwStofw4257S",
1455
        "outputId": "3c3881f0-9bd5-442f-dd3a-b363cc8d3c88"
1456
      },
1457
      "outputs": [
1458
        {
1459
          "output_type": "stream",
1460
          "name": "stdout",
1461
          "text": [
1462
            "> \u001b[1mINFO    Installing latest transformers@main\u001b[0m\n",
1463
            "> \u001b[1mINFO    Successfully installed latest transformers\u001b[0m\n",
1464
            "> \u001b[1mINFO    Installing latest peft@main\u001b[0m\n",
1465
            "> \u001b[1mINFO    Successfully installed latest peft\u001b[0m\n",
1466
            "> \u001b[1mINFO    Installing latest diffusers@main\u001b[0m\n",
1467
            "> \u001b[1mINFO    Successfully installed latest diffusers\u001b[0m\n",
1468
            "> \u001b[1mINFO    Installing latest trl@main\u001b[0m\n",
1469
            "> \u001b[1mINFO    Successfully installed latest trl\u001b[0m\n",
1470
            "> \u001b[1mINFO    Installing latest xformers\u001b[0m\n",
1471
            "> \u001b[1mINFO    Successfully installed latest xformers\u001b[0m\n",
1472
            "> \u001b[1mINFO    Installing latest PyTorch\u001b[0m\n",
1473
            "> \u001b[1mINFO    Successfully installed latest PyTorch\u001b[0m\n"
1474
          ]
1475
        }
1476
      ],
1477
      "source": [
1478
        "!autotrain setup --update-torch"
1479
      ]
1480
    },
1481
    {
1482
      "cell_type": "markdown",
1483
      "source": [
1484
        "## Step 2: Connect to HuggingFace for Model Upload\n",
1485
        "\n",
1486
        "### Logging to Hugging Face\n",
1487
        "To make sure the model can be uploaded to be used for Inference, it's necessary to log in to the Hugging Face hub.\n",
1488
        "\n",
1489
        "### Getting a Hugging Face token\n",
1490
        "Steps:\n",
1491
        "\n",
1492
        "1. Navigate to this URL: https://huggingface.co/settings/tokens\n",
1493
        "2. Create a write `token` and copy it to your clipboard\n",
1494
        "3. Run the code below and enter your `token`"
1495
      ],
1496
      "metadata": {
1497
        "id": "H-zXccJMZEx2"
1498
      }
1499
    },
1500
    {
1501
      "cell_type": "code",
1502
      "source": [
1503
        "from huggingface_hub import notebook_login\n",
1504
        "notebook_login()"
1505
      ],
1506
      "metadata": {
1507
        "colab": {
1508
          "base_uri": "https://localhost:8080/",
1509
          "height": 145,
1510
          "referenced_widgets": [
1511
            "93721b72963843db8afd2dc95b1a7e26",
1512
            "3c4c437c3be348a6beaa549a070e7d03",
1513
            "bef331d1317e4dca8423b41d9a4d5a46",
1514
            "fd8eb83e711f4efeb5392159094979ee",
1515
            "361f03f842874570ba0f5a7992ef85bb",
1516
            "da5b0da670514701962d1fb278d2c806",
1517
            "229eb3fe560b47cfaf90bd897d0356a3",
1518
            "2488b59a84c4450a87d03d1a7416131a",
1519
            "aba01680bd644852bdd01943fe6ff3a8",
1520
            "32368ce026824d4faad5f96bb523b1ef",
1521
            "6c9bfecb5c7d4218b905c5d9d1a94e67",
1522
            "cdcf8ddbe33d443ebb8e746da30ac0e7",
1523
            "0394a80f33694ddcaac86d11eb55dfba",
1524
            "2087238355ef44719f296fa797fdd1a4",
1525
            "3a25c5df13944295882f0114971dad95",
1526
            "9c9e13827ccd49c28eb7e4b5b7bce367",
1527
            "d65e536585574e1ebbe7dc596e5fff5b",
1528
            "1878c66b2eae453a864ffead4070b1b1",
1529
            "07a86a9d6045490582005ae3dc6235b4",
1530
            "26203a05198d4ceeacbf5e773709f351",
1531
            "1b54ffd23ba74eeebd9c469f440fb681",
1532
            "6b08ab9f42604d50b75ca79953cdb513",
1533
            "da126394b0454dfa92ead879aa4d05f8",
1534
            "cdad03b3eb6f4b8498d4c095ef4bd77c",
1535
            "3ea83882b0c24fc6bdc55ec477e8d966",
1536
            "9cee18be45e147d094a9f3d563e43deb",
1537
            "c7a697bfe78e4ef3ba7c086c6a7dc9a0",
1538
            "3e3a59c9cd1e4bab9a7134b3ed460a70",
1539
            "13f4a118e7ef4a148bde03a6e84e8aa3",
1540
            "da203394bbcb4a3a98ccf00c99c8397c",
1541
            "e72159dd38c04fda9b6944b21ef7ee18",
1542
            "3be1673dc1ce401f9bf74665671fe25e"
1543
          ]
1544
        },
1545
        "id": "VzMLmLP86Ub-",
1546
        "outputId": "dad1be39-2a4b-4979-d08c-6254bb496948"
1547
      },
1548
      "execution_count": 4,
1549
      "outputs": [
1550
        {
1551
          "output_type": "display_data",
1552
          "data": {
1553
            "text/plain": [
1554
              "VBox(children=(HTML(value='<center> <img\\nsrc=https://huggingface.co/front/assets/huggingface_logo-noborder.sv…"
1555
            ],
1556
            "application/vnd.jupyter.widget-view+json": {
1557
              "version_major": 2,
1558
              "version_minor": 0,
1559
              "model_id": "93721b72963843db8afd2dc95b1a7e26"
1560
            }
1561
          },
1562
          "metadata": {}
1563
        }
1564
      ]
1565
    },
1566
    {
1567
      "cell_type": "markdown",
1568
      "source": [
1569
        "## Step 3: Upload your dataset\n",
1570
        "\n",
1571
        "Add your data set to the root directory in the Colab under the name train.csv. The AutoTrain command will look for your data there under that name.\n",
1572
        "\n",
1573
        "#### Don't have a data set and want to try finetuning on an example data set?\n",
1574
        "If you don't have a dataset you can run these commands below to get an example data set and save it to train.csv"
1575
      ],
1576
      "metadata": {
1577
        "id": "qY932JBNZmtA"
1578
      }
1579
    },
1580
    {
1581
      "cell_type": "code",
1582
      "source": [
1583
        "!git clone https://github.com/joshbickett/finetune-llama-2.git\n",
1584
        "%cd finetune-llama-2\n",
1585
        "%mv train.csv ../train.csv\n",
1586
        "%cd .."
1587
      ],
1588
      "metadata": {
1589
        "id": "JxTn4r_YZdkY"
1590
      },
1591
      "execution_count": 5,
1592
      "outputs": []
1593
    },
1594
    {
1595
      "cell_type": "code",
1596
      "source": [
1597
        "import pandas as pd\n",
1598
        "df = pd.read_csv(\"train.csv\")\n",
1599
        "df"
1600
      ],
1601
      "metadata": {
1602
        "colab": {
1603
          "base_uri": "https://localhost:8080/",
1604
          "height": 1849
1605
        },
1606
        "id": "NUb-rkeoZzZ6",
1607
        "outputId": "9dad4111-a670-4801-ba9c-07da36e93884"
1608
      },
1609
      "execution_count": 6,
1610
      "outputs": [
1611
        {
1612
          "output_type": "execute_result",
1613
          "data": {
1614
            "text/plain": [
1615
              "                           Concept  \\\n",
1616
              "0       A person walks in the rain   \n",
1617
              "1            A cat chasing a mouse   \n",
1618
              "2              A dog eating a bone   \n",
1619
              "3         A bird flying in the sky   \n",
1620
              "4        A fish swimming in a tank   \n",
1621
              "5        A child playing with toys   \n",
1622
              "6        A car driving on the road   \n",
1623
              "7    A flower blooming in a garden   \n",
1624
              "8          A bee collecting pollen   \n",
1625
              "9     A sun setting over the ocean   \n",
1626
              "10        A cow grazing in a field   \n",
1627
              "11       A snail racing on a track   \n",
1628
              "12        A penguin sliding on ice   \n",
1629
              "13    A lion roaring in the jungle   \n",
1630
              "14     A monkey swinging on a tree   \n",
1631
              "15   A turtle sunbathing on a rock   \n",
1632
              "16    A rabbit hopping in a meadow   \n",
1633
              "17      A squirrel collecting nuts   \n",
1634
              "18      A wolf howling at the moon   \n",
1635
              "19     A fox sneaking in the woods   \n",
1636
              "20       A bear fishing in a river   \n",
1637
              "21       A hippo bathing in a pond   \n",
1638
              "22    A giraffe eating from a tree   \n",
1639
              "23      An elephant spraying water   \n",
1640
              "24  A kangaroo jumping in a desert   \n",
1641
              "\n",
1642
              "                             Funny Description Prompt  \\\n",
1643
              "0   A person walks in the rain, wearing a suit mad...   \n",
1644
              "1   A cat, wearing detective attire and sunglasses...   \n",
1645
              "2   A dog with a chef's hat is eating a bone seaso...   \n",
1646
              "3   A bird with oversized sunglasses and a basebal...   \n",
1647
              "4   A fish in a snorkel and flippers swimming in a...   \n",
1648
              "5   A child in a superhero cape playing with alien...   \n",
1649
              "6   A car with legs instead of wheels running down...   \n",
1650
              "7   A flower wearing a top hat and bow tie bloomin...   \n",
1651
              "8   A bee with a backpack vacuum cleaner collectin...   \n",
1652
              "9   The sun wearing sunglasses and sipping on a tr...   \n",
1653
              "10  A cow with headphones on, jamming to music whi...   \n",
1654
              "11  A snail with a racing helmet and number '1' pa...   \n",
1655
              "12  A penguin in ice skates, doing figure skating ...   \n",
1656
              "13  A lion with a microphone, singing a ballad in ...   \n",
1657
              "14  A monkey in a trapeze artist outfit, swinging ...   \n",
1658
              "15  A turtle with sunglasses on, sunbathing on a r...   \n",
1659
              "16  A rabbit in basketball attire, hopping around ...   \n",
1660
              "17  A squirrel in a miner's helmet, using a drill ...   \n",
1661
              "18  A wolf in pajamas, howling at the moon, with a...   \n",
1662
              "19  A fox in ninja attire, sneaking around the woo...   \n",
1663
              "20  A bear with a fishing rod and a fisherman's ha...   \n",
1664
              "21  A hippo with a shower cap on, using a giant ru...   \n",
1665
              "22  A giraffe with a long scarf, eating from a tre...   \n",
1666
              "23  An elephant with a water gun, having a water f...   \n",
1667
              "24  A kangaroo with spring shoes, jumping around i...   \n",
1668
              "\n",
1669
              "                                                 text  \n",
1670
              "0   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1671
              "1   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1672
              "2   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1673
              "3   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1674
              "4   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1675
              "5   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1676
              "6   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1677
              "7   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1678
              "8   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1679
              "9   ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1680
              "10  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1681
              "11  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1682
              "12  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1683
              "13  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1684
              "14  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1685
              "15  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1686
              "16  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1687
              "17  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1688
              "18  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1689
              "19  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1690
              "20  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1691
              "21  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1692
              "22  ###Human:\\ngenerate a midjourney prompt for A ...  \n",
1693
              "23  ###Human:\\ngenerate a midjourney prompt for An...  \n",
1694
              "24  ###Human:\\ngenerate a midjourney prompt for A ...  "
1695
            ],
1696
            "text/html": [
1697
              "\n",
1698
              "  <div id=\"df-10103957-7c94-44ed-adb0-80fbb9e799e9\" class=\"colab-df-container\">\n",
1699
              "    <div>\n",
1700
              "<style scoped>\n",
1701
              "    .dataframe tbody tr th:only-of-type {\n",
1702
              "        vertical-align: middle;\n",
1703
              "    }\n",
1704
              "\n",
1705
              "    .dataframe tbody tr th {\n",
1706
              "        vertical-align: top;\n",
1707
              "    }\n",
1708
              "\n",
1709
              "    .dataframe thead th {\n",
1710
              "        text-align: right;\n",
1711
              "    }\n",
1712
              "</style>\n",
1713
              "<table border=\"1\" class=\"dataframe\">\n",
1714
              "  <thead>\n",
1715
              "    <tr style=\"text-align: right;\">\n",
1716
              "      <th></th>\n",
1717
              "      <th>Concept</th>\n",
1718
              "      <th>Funny Description Prompt</th>\n",
1719
              "      <th>text</th>\n",
1720
              "    </tr>\n",
1721
              "  </thead>\n",
1722
              "  <tbody>\n",
1723
              "    <tr>\n",
1724
              "      <th>0</th>\n",
1725
              "      <td>A person walks in the rain</td>\n",
1726
              "      <td>A person walks in the rain, wearing a suit mad...</td>\n",
1727
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1728
              "    </tr>\n",
1729
              "    <tr>\n",
1730
              "      <th>1</th>\n",
1731
              "      <td>A cat chasing a mouse</td>\n",
1732
              "      <td>A cat, wearing detective attire and sunglasses...</td>\n",
1733
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1734
              "    </tr>\n",
1735
              "    <tr>\n",
1736
              "      <th>2</th>\n",
1737
              "      <td>A dog eating a bone</td>\n",
1738
              "      <td>A dog with a chef's hat is eating a bone seaso...</td>\n",
1739
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1740
              "    </tr>\n",
1741
              "    <tr>\n",
1742
              "      <th>3</th>\n",
1743
              "      <td>A bird flying in the sky</td>\n",
1744
              "      <td>A bird with oversized sunglasses and a basebal...</td>\n",
1745
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1746
              "    </tr>\n",
1747
              "    <tr>\n",
1748
              "      <th>4</th>\n",
1749
              "      <td>A fish swimming in a tank</td>\n",
1750
              "      <td>A fish in a snorkel and flippers swimming in a...</td>\n",
1751
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1752
              "    </tr>\n",
1753
              "    <tr>\n",
1754
              "      <th>5</th>\n",
1755
              "      <td>A child playing with toys</td>\n",
1756
              "      <td>A child in a superhero cape playing with alien...</td>\n",
1757
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1758
              "    </tr>\n",
1759
              "    <tr>\n",
1760
              "      <th>6</th>\n",
1761
              "      <td>A car driving on the road</td>\n",
1762
              "      <td>A car with legs instead of wheels running down...</td>\n",
1763
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1764
              "    </tr>\n",
1765
              "    <tr>\n",
1766
              "      <th>7</th>\n",
1767
              "      <td>A flower blooming in a garden</td>\n",
1768
              "      <td>A flower wearing a top hat and bow tie bloomin...</td>\n",
1769
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1770
              "    </tr>\n",
1771
              "    <tr>\n",
1772
              "      <th>8</th>\n",
1773
              "      <td>A bee collecting pollen</td>\n",
1774
              "      <td>A bee with a backpack vacuum cleaner collectin...</td>\n",
1775
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1776
              "    </tr>\n",
1777
              "    <tr>\n",
1778
              "      <th>9</th>\n",
1779
              "      <td>A sun setting over the ocean</td>\n",
1780
              "      <td>The sun wearing sunglasses and sipping on a tr...</td>\n",
1781
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1782
              "    </tr>\n",
1783
              "    <tr>\n",
1784
              "      <th>10</th>\n",
1785
              "      <td>A cow grazing in a field</td>\n",
1786
              "      <td>A cow with headphones on, jamming to music whi...</td>\n",
1787
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1788
              "    </tr>\n",
1789
              "    <tr>\n",
1790
              "      <th>11</th>\n",
1791
              "      <td>A snail racing on a track</td>\n",
1792
              "      <td>A snail with a racing helmet and number '1' pa...</td>\n",
1793
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1794
              "    </tr>\n",
1795
              "    <tr>\n",
1796
              "      <th>12</th>\n",
1797
              "      <td>A penguin sliding on ice</td>\n",
1798
              "      <td>A penguin in ice skates, doing figure skating ...</td>\n",
1799
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1800
              "    </tr>\n",
1801
              "    <tr>\n",
1802
              "      <th>13</th>\n",
1803
              "      <td>A lion roaring in the jungle</td>\n",
1804
              "      <td>A lion with a microphone, singing a ballad in ...</td>\n",
1805
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1806
              "    </tr>\n",
1807
              "    <tr>\n",
1808
              "      <th>14</th>\n",
1809
              "      <td>A monkey swinging on a tree</td>\n",
1810
              "      <td>A monkey in a trapeze artist outfit, swinging ...</td>\n",
1811
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1812
              "    </tr>\n",
1813
              "    <tr>\n",
1814
              "      <th>15</th>\n",
1815
              "      <td>A turtle sunbathing on a rock</td>\n",
1816
              "      <td>A turtle with sunglasses on, sunbathing on a r...</td>\n",
1817
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1818
              "    </tr>\n",
1819
              "    <tr>\n",
1820
              "      <th>16</th>\n",
1821
              "      <td>A rabbit hopping in a meadow</td>\n",
1822
              "      <td>A rabbit in basketball attire, hopping around ...</td>\n",
1823
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1824
              "    </tr>\n",
1825
              "    <tr>\n",
1826
              "      <th>17</th>\n",
1827
              "      <td>A squirrel collecting nuts</td>\n",
1828
              "      <td>A squirrel in a miner's helmet, using a drill ...</td>\n",
1829
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1830
              "    </tr>\n",
1831
              "    <tr>\n",
1832
              "      <th>18</th>\n",
1833
              "      <td>A wolf howling at the moon</td>\n",
1834
              "      <td>A wolf in pajamas, howling at the moon, with a...</td>\n",
1835
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1836
              "    </tr>\n",
1837
              "    <tr>\n",
1838
              "      <th>19</th>\n",
1839
              "      <td>A fox sneaking in the woods</td>\n",
1840
              "      <td>A fox in ninja attire, sneaking around the woo...</td>\n",
1841
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1842
              "    </tr>\n",
1843
              "    <tr>\n",
1844
              "      <th>20</th>\n",
1845
              "      <td>A bear fishing in a river</td>\n",
1846
              "      <td>A bear with a fishing rod and a fisherman's ha...</td>\n",
1847
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1848
              "    </tr>\n",
1849
              "    <tr>\n",
1850
              "      <th>21</th>\n",
1851
              "      <td>A hippo bathing in a pond</td>\n",
1852
              "      <td>A hippo with a shower cap on, using a giant ru...</td>\n",
1853
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1854
              "    </tr>\n",
1855
              "    <tr>\n",
1856
              "      <th>22</th>\n",
1857
              "      <td>A giraffe eating from a tree</td>\n",
1858
              "      <td>A giraffe with a long scarf, eating from a tre...</td>\n",
1859
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1860
              "    </tr>\n",
1861
              "    <tr>\n",
1862
              "      <th>23</th>\n",
1863
              "      <td>An elephant spraying water</td>\n",
1864
              "      <td>An elephant with a water gun, having a water f...</td>\n",
1865
              "      <td>###Human:\\ngenerate a midjourney prompt for An...</td>\n",
1866
              "    </tr>\n",
1867
              "    <tr>\n",
1868
              "      <th>24</th>\n",
1869
              "      <td>A kangaroo jumping in a desert</td>\n",
1870
              "      <td>A kangaroo with spring shoes, jumping around i...</td>\n",
1871
              "      <td>###Human:\\ngenerate a midjourney prompt for A ...</td>\n",
1872
              "    </tr>\n",
1873
              "  </tbody>\n",
1874
              "</table>\n",
1875
              "</div>\n",
1876
              "    <div class=\"colab-df-buttons\">\n",
1877
              "\n",
1878
              "  <div class=\"colab-df-container\">\n",
1879
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-10103957-7c94-44ed-adb0-80fbb9e799e9')\"\n",
1880
              "            title=\"Convert this dataframe to an interactive table.\"\n",
1881
              "            style=\"display:none;\">\n",
1882
              "\n",
1883
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
1884
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
1885
              "  </svg>\n",
1886
              "    </button>\n",
1887
              "\n",
1888
              "  <style>\n",
1889
              "    .colab-df-container {\n",
1890
              "      display:flex;\n",
1891
              "      gap: 12px;\n",
1892
              "    }\n",
1893
              "\n",
1894
              "    .colab-df-convert {\n",
1895
              "      background-color: #E8F0FE;\n",
1896
              "      border: none;\n",
1897
              "      border-radius: 50%;\n",
1898
              "      cursor: pointer;\n",
1899
              "      display: none;\n",
1900
              "      fill: #1967D2;\n",
1901
              "      height: 32px;\n",
1902
              "      padding: 0 0 0 0;\n",
1903
              "      width: 32px;\n",
1904
              "    }\n",
1905
              "\n",
1906
              "    .colab-df-convert:hover {\n",
1907
              "      background-color: #E2EBFA;\n",
1908
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
1909
              "      fill: #174EA6;\n",
1910
              "    }\n",
1911
              "\n",
1912
              "    .colab-df-buttons div {\n",
1913
              "      margin-bottom: 4px;\n",
1914
              "    }\n",
1915
              "\n",
1916
              "    [theme=dark] .colab-df-convert {\n",
1917
              "      background-color: #3B4455;\n",
1918
              "      fill: #D2E3FC;\n",
1919
              "    }\n",
1920
              "\n",
1921
              "    [theme=dark] .colab-df-convert:hover {\n",
1922
              "      background-color: #434B5C;\n",
1923
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
1924
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
1925
              "      fill: #FFFFFF;\n",
1926
              "    }\n",
1927
              "  </style>\n",
1928
              "\n",
1929
              "    <script>\n",
1930
              "      const buttonEl =\n",
1931
              "        document.querySelector('#df-10103957-7c94-44ed-adb0-80fbb9e799e9 button.colab-df-convert');\n",
1932
              "      buttonEl.style.display =\n",
1933
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
1934
              "\n",
1935
              "      async function convertToInteractive(key) {\n",
1936
              "        const element = document.querySelector('#df-10103957-7c94-44ed-adb0-80fbb9e799e9');\n",
1937
              "        const dataTable =\n",
1938
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
1939
              "                                                    [key], {});\n",
1940
              "        if (!dataTable) return;\n",
1941
              "\n",
1942
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
1943
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
1944
              "          + ' to learn more about interactive tables.';\n",
1945
              "        element.innerHTML = '';\n",
1946
              "        dataTable['output_type'] = 'display_data';\n",
1947
              "        await google.colab.output.renderOutput(dataTable, element);\n",
1948
              "        const docLink = document.createElement('div');\n",
1949
              "        docLink.innerHTML = docLinkHtml;\n",
1950
              "        element.appendChild(docLink);\n",
1951
              "      }\n",
1952
              "    </script>\n",
1953
              "  </div>\n",
1954
              "\n",
1955
              "\n",
1956
              "<div id=\"df-24b1b524-f6d0-40f7-b38a-584fc18ab9d2\">\n",
1957
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-24b1b524-f6d0-40f7-b38a-584fc18ab9d2')\"\n",
1958
              "            title=\"Suggest charts.\"\n",
1959
              "            style=\"display:none;\">\n",
1960
              "\n",
1961
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
1962
              "     width=\"24px\">\n",
1963
              "    <g>\n",
1964
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
1965
              "    </g>\n",
1966
              "</svg>\n",
1967
              "  </button>\n",
1968
              "\n",
1969
              "<style>\n",
1970
              "  .colab-df-quickchart {\n",
1971
              "      --bg-color: #E8F0FE;\n",
1972
              "      --fill-color: #1967D2;\n",
1973
              "      --hover-bg-color: #E2EBFA;\n",
1974
              "      --hover-fill-color: #174EA6;\n",
1975
              "      --disabled-fill-color: #AAA;\n",
1976
              "      --disabled-bg-color: #DDD;\n",
1977
              "  }\n",
1978
              "\n",
1979
              "  [theme=dark] .colab-df-quickchart {\n",
1980
              "      --bg-color: #3B4455;\n",
1981
              "      --fill-color: #D2E3FC;\n",
1982
              "      --hover-bg-color: #434B5C;\n",
1983
              "      --hover-fill-color: #FFFFFF;\n",
1984
              "      --disabled-bg-color: #3B4455;\n",
1985
              "      --disabled-fill-color: #666;\n",
1986
              "  }\n",
1987
              "\n",
1988
              "  .colab-df-quickchart {\n",
1989
              "    background-color: var(--bg-color);\n",
1990
              "    border: none;\n",
1991
              "    border-radius: 50%;\n",
1992
              "    cursor: pointer;\n",
1993
              "    display: none;\n",
1994
              "    fill: var(--fill-color);\n",
1995
              "    height: 32px;\n",
1996
              "    padding: 0;\n",
1997
              "    width: 32px;\n",
1998
              "  }\n",
1999
              "\n",
2000
              "  .colab-df-quickchart:hover {\n",
2001
              "    background-color: var(--hover-bg-color);\n",
2002
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
2003
              "    fill: var(--button-hover-fill-color);\n",
2004
              "  }\n",
2005
              "\n",
2006
              "  .colab-df-quickchart-complete:disabled,\n",
2007
              "  .colab-df-quickchart-complete:disabled:hover {\n",
2008
              "    background-color: var(--disabled-bg-color);\n",
2009
              "    fill: var(--disabled-fill-color);\n",
2010
              "    box-shadow: none;\n",
2011
              "  }\n",
2012
              "\n",
2013
              "  .colab-df-spinner {\n",
2014
              "    border: 2px solid var(--fill-color);\n",
2015
              "    border-color: transparent;\n",
2016
              "    border-bottom-color: var(--fill-color);\n",
2017
              "    animation:\n",
2018
              "      spin 1s steps(1) infinite;\n",
2019
              "  }\n",
2020
              "\n",
2021
              "  @keyframes spin {\n",
2022
              "    0% {\n",
2023
              "      border-color: transparent;\n",
2024
              "      border-bottom-color: var(--fill-color);\n",
2025
              "      border-left-color: var(--fill-color);\n",
2026
              "    }\n",
2027
              "    20% {\n",
2028
              "      border-color: transparent;\n",
2029
              "      border-left-color: var(--fill-color);\n",
2030
              "      border-top-color: var(--fill-color);\n",
2031
              "    }\n",
2032
              "    30% {\n",
2033
              "      border-color: transparent;\n",
2034
              "      border-left-color: var(--fill-color);\n",
2035
              "      border-top-color: var(--fill-color);\n",
2036
              "      border-right-color: var(--fill-color);\n",
2037
              "    }\n",
2038
              "    40% {\n",
2039
              "      border-color: transparent;\n",
2040
              "      border-right-color: var(--fill-color);\n",
2041
              "      border-top-color: var(--fill-color);\n",
2042
              "    }\n",
2043
              "    60% {\n",
2044
              "      border-color: transparent;\n",
2045
              "      border-right-color: var(--fill-color);\n",
2046
              "    }\n",
2047
              "    80% {\n",
2048
              "      border-color: transparent;\n",
2049
              "      border-right-color: var(--fill-color);\n",
2050
              "      border-bottom-color: var(--fill-color);\n",
2051
              "    }\n",
2052
              "    90% {\n",
2053
              "      border-color: transparent;\n",
2054
              "      border-bottom-color: var(--fill-color);\n",
2055
              "    }\n",
2056
              "  }\n",
2057
              "</style>\n",
2058
              "\n",
2059
              "  <script>\n",
2060
              "    async function quickchart(key) {\n",
2061
              "      const quickchartButtonEl =\n",
2062
              "        document.querySelector('#' + key + ' button');\n",
2063
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
2064
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
2065
              "      try {\n",
2066
              "        const charts = await google.colab.kernel.invokeFunction(\n",
2067
              "            'suggestCharts', [key], {});\n",
2068
              "      } catch (error) {\n",
2069
              "        console.error('Error during call to suggestCharts:', error);\n",
2070
              "      }\n",
2071
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
2072
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
2073
              "    }\n",
2074
              "    (() => {\n",
2075
              "      let quickchartButtonEl =\n",
2076
              "        document.querySelector('#df-24b1b524-f6d0-40f7-b38a-584fc18ab9d2 button');\n",
2077
              "      quickchartButtonEl.style.display =\n",
2078
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
2079
              "    })();\n",
2080
              "  </script>\n",
2081
              "</div>\n",
2082
              "    </div>\n",
2083
              "  </div>\n"
2084
            ]
2085
          },
2086
          "metadata": {},
2087
          "execution_count": 6
2088
        },
2089
        {
2090
          "output_type": "display_data",
2091
          "data": {
2092
            "text/plain": [
2093
              "<google.colab._quickchart_helpers.SectionTitle at 0x7cdbda5c8eb0>"
2094
            ],
2095
            "text/html": [
2096
              "<h4 class=\"colab-quickchart-section-title\">Values</h4>\n",
2097
              "<style>\n",
2098
              "  .colab-quickchart-section-title {\n",
2099
              "      clear: both;\n",
2100
              "  }\n",
2101
              "</style>"
2102
            ]
2103
          },
2104
          "metadata": {}
2105
        },
2106
        {
2107
          "output_type": "display_data",
2108
          "data": {
2109
            "text/plain": [
2110
              "import numpy as np\n",
2111
              "from google.colab import autoviz\n",
2112
              "\n",
2113
              "def value_plot(df, y, figscale=1):\n",
2114
              "  from matplotlib import pyplot as plt\n",
2115
              "  df[y].plot(kind='line', figsize=(8 * figscale, 4 * figscale), title=y)\n",
2116
              "  plt.gca().spines[['top', 'right']].set_visible(False)\n",
2117
              "  plt.tight_layout()\n",
2118
              "  return autoviz.MplChart.from_current_mpl_state()\n",
2119
              "\n",
2120
              "chart = value_plot(_df_0, *['index'], **{})\n",
2121
              "chart"
2122
            ],
2123
            "text/html": [
2124
              "      <div class=\"colab-quickchart-chart-with-code\" id=\"chart-6cf3702c-e000-45ee-83ec-c821e51a89b6\">\n",
2125
              "        <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYsAAADECAYAAABumQ2GAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90\n",
2126
              "bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9h\n",
2127
              "AAAPYQGoP6dpAAAhbElEQVR4nO3de1BU9/k/8PeyC4vclTvsHpGimBgEUVaaGI1NrfUWrXhhaaJ0\n",
2128
              "ktH+kUlnkpk0TuNEmxlN2sQMTaaN087kOi4aMY2JaWqsVZPvz7KrYvBSjQT17HIVkItclr18fn+s\n",
2129
              "WUtEcXXhAPt+zTiTfXb3sw+fHH3z7IE9KiGEABER0W0EKd0AERENfwwLIiIaEMOCiIgGxLAgIqIB\n",
2130
              "MSyIiGhADAsiIhoQw4KIiAbEsCAiogExLIiIaEAMCwpYCxYswMsvv3zXz581axY2bdrkv4aIhjGN\n",
2131
              "0g0QKeUf//iH0i0QjRicLIiIaEAMCwpYjzzyCF588UUAgEqlwptvvomHHnoIERERyMrKwtdff+19\n",
2132
              "rNPpxPPPP4+kpCTEx8djw4YNN61XU1ODoqIipKamIiEhAUajEVeuXAEAHDp0COHh4bBYLAAAIQQW\n",
2133
              "LVqEJUuWgJ/lSSMBw4Lour/97W9477330NraikcffRS//OUvvff94Q9/wK5du3Dw4EHYbDZoNBqU\n",
2134
              "l5d777fb7Xj00UeRkpKCb7/9FtXV1dBoNCgqKgLgCaZNmzZhxYoVaG5uxssvv4xz587hgw8+gEql\n",
2135
              "GvKvlchngihAzZkzR/zud78TQggBQLz33nve+06fPi0AiPr6eiGEEBkZGeJPf/qT936n0yni4+PF\n",
2136
              "Sy+9JIQQoqysTKSkpAi32+19jM1mEwCE1Wr11goKCkR2drYIDw8XFRUVg/jVEfkXT3ATXZeSkuL9\n",
2137
              "7/DwcABAR0cHEhMTYbPZMGHCBO/9arUakiR5b1+4cAENDQ0YO3ZsnzW1Wi1kWYZOpwMAPPvss3jo\n",
2138
              "oYdgNBqRk5MziF8NkX8xLIjugE6nw6VLl7y3XS4XrFar93ZSUhLGjx+P77777pZrtLW1Ye3atXjy\n",
2139
              "ySexa9cufPrpp1iyZMlgtk3kNzxnQXQH1q5di9dffx3nzp2D3W7H73//e7S0tHjvX758ORwOBzZu\n",
2140
              "3Ii2tjYAQGNjI3bu3AnAc0J77dq1yMzMxF//+lds374da9asQXV1tSJfD5GvGBZEd+C3v/0tli9f\n",
2141
              "jjlz5kCn06G3txczZ8703h8ZGYmjR49ClmVkZWUhKioKDz74II4cOQIAePXVV1FZWek9oW00GvH4\n",
2142
              "44+joKAA3d3dSn1ZRHdMJQR/bo+IiG6PkwUREQ2IYUFERANiWBAR0YAYFkRENCCfwqKnpwfLli3D\n",
2143
              "pEmTkJ2djXnz5qGqqgqA5+MMJkyYgJycHOTk5OCNN94YlIaJiGjo+fxLeevWrcOCBQugUqnw1ltv\n",
2144
              "4amnnsKhQ4cAAG+88QaWLVvm5xaJiEhpPk0WoaGhWLhwofeDz/Lz8/v8VisREY1O93TOoqSkBEuX\n",
2145
              "LvXefuGFF5CVlYXVq1ff9jdT7XY72tvb+/x5/fXX76UVIiIaRHcdFlu2bEFVVRW2bt0KAPjggw9w\n",
2146
              "7tw5VFZW4uGHH8bixYtv+dytW7ciOjq6z5/du3ffbStERDTI7uo3uF977TWUlpbiwIEDiImJ6fcx\n",
2147
              "oaGhqKmpQWxs7E332e122O32PrWNGzeipKTE11aIiGgI+HyCe9u2bTCZTH2Cwul0orm5GYmJiQCA\n",
2148
              "srIyJCYm9hsUgOdjm7VabZ+aWq32tRUiIhoiPoWFzWbDc889h/T0dMydOxeA5x/+gwcPYtGiRbDb\n",
2149
              "7QgKCkJcXBz27t07KA0TEdHQ8yksdDrdLa8XfOzYMb80RERE/ZObu1BqkbE0JxWZSZFD+tq8+BER\n",
2150
              "0TDW63Tjy7MNMJllfF3VBADotDuxeekDQ9oHw4KIaBiqvnINOy1W7D5uQ3NnLwBApQJmZcRh9qT4\n",
2151
              "Ie+HYUFENEz0OFz455l6mMwy/lN940qMCZFarJqhx+o8PfTjwhTpjWFBRKSwqsYOmMxW7Dlhw9Uu\n",
2152
              "BwDPFPHIpHgYDRJ+MjkBGrWyn/vKsCAiUkCPw4XPT9Wh1GyF+dKNKSI5OhSrZuixKk+P1JgxCnbY\n",
2153
              "F8OCiGgIna/vgMksY88JG9p7nAAAdZAKczMTUDRTjzmTEqAOUinc5c0YFkREg6y714XPKmthMss4\n",
2154
              "Ibd666kxY1CYp8fKGXokRYcq1+AdYFgQEQ2SM7VtKDVb8feKGnTYPVOEJkiFn96XiEKDHg9PjB+W\n",
2155
              "U0R/GBZERH7UaXfi0288U8Q3tjZvXRoXhkKDHium65AQObyniP4wLIiI/OCUrQ07zDL2nqxBZ68L\n",
2156
              "ABCsVuFnU5JgzJPw4I9iETRCpoj+MCyIiO5SR48Dn5ysRalFxumadm99Qlw4jAY9lufqEBehvc0K\n",
2157
              "IwfDgojIB0IInLS2otRsxd5vatHt8EwRIeogLMhKQmGehPz0cd4rio4WDAsiojvQ1u3AJydrsKNc\n",
2158
              "xrn6Dm89IyEChXmeKWJceIiCHQ4uhgUR0S0IIXBCvood5VbsO1WLHocbAKDVBGHR1GQYDRJmjB87\n",
2159
              "6qaI/jAsiIh+oLWrF3tO1MBklnGh8Zq3PjkpEkaDhGU5qYgOC1aww6HHsCAigmeKMF9sgcks4/PT\n",
2160
              "9eh1eqaIMcFqLMlORqFBwjR9TEBMEf1hWBBRQGvp7EXZcRtMFhnVVzq99fuTo1A0U8JjOSmICg2s\n",
2161
              "KaI/DAsiCjhut8DR6maYzDL2n2lAr8szRYSHqPFYTgoK8yRM1UUH7BTRH5/CoqenB4WFhTh79izG\n",
2162
              "jBmDhIQE/OUvf0FGRgYaGxuxZs0afPfdd9Bqtfjzn/+M2bNnD1bfREQ+u9Jhx+7jNpRaZFxu7vLW\n",
2163
              "p+qiYTRIWJKdgggtv4fuj8+7sm7dOixYsAAqlQpvvfUWnnrqKRw6dAgvvPAC8vPz8cUXX8BiseAX\n",
2164
              "v/gFLl68iOBgjm9EpBy3W+CrqiaUmmV8ebYBTrcAAERqNVg6zTNFPJAarXCXw59PYREaGoqFCxd6\n",
2165
              "b+fn5+O1114DAOzatQtVVVUAgLy8PKSkpODw4cP46U9/6sd2iYjuTEN7Dz46ZkWpxQrb1W5vfZoU\n",
2166
              "A6NBwuKpyQgL4RRxp+5pp0pKSrB06VI0NzfD4XAgKSnJe19aWhpkWe73eXa7HXa7vU/N5XLdSytE\n",
2167
              "RHC5BQ5/2wiT2YqD5xrhuj5FRIVqsDxXh0KDHpOTohTucmS667DYsmULqqqq8K9//Qvd3d0DP+F/\n",
2168
              "bN26FZs3b+5Ty8/Pv9tWiCjA1bZ2Y9cxK3ZZrKht6/HW89LGojBPwqKpyQgNVivY4ch3V2Hx2muv\n",
2169
              "Yc+ePThw4ADCwsIQFhYGjUaD+vp673Rx6dIlSJLU7/M3bNiAZ599tk9t48aNd9MKEQUop8uNf5+/\n",
2170
              "ApNZxqHzjbg+RCAmLBjLp+lgNOgxMTFS2SZHEZ/DYtu2bTCZTDhw4ABiYmK89ZUrV+Ltt9/Gpk2b\n",
2171
              "YLFYUFNTgzlz5vS7hlarhVbb95MY1WqmPhENzNrS5ZkijlnR0H7j7ez89HEwGiTMn5LEKWIQ+BQW\n",
2172
              "NpsNzz33HNLT0zF37lwAnn/4y8vL8eqrr+KJJ57AxIkTERISgg8//JA/CUVEfuFwufGv/zbAZLbi\n",
2173
              "yIUrENeniHHhIVgxXYfVeXr8KD5C2SZHOZ/CQqfTQXz/f+kHEhMTsX//fr80RUQEAHJzF0otMnYd\n",
2174
              "s6Hp2o0p4qGMWBgNEubdnwithlPEUODPjRHRsNLrdOPLsw0wmWV8XdXkrcdFaLFiuudcxPjYcAU7\n",
2175
              "DEwMCyIaFqqvXMNOixW7j9vQ3NkLAFCpgIcnxqPIoMej9yUiWB2kcJeBi2FBRIqxO1344nQ9TGYZ\n",
2176
              "/6lu8dYTIrVYnafHqhl66MeFKdghfY9hQURDrqrxGkrNMspO2HC1ywEACFIBj2QmwGiQMDczHhpO\n",
2177
              "EcMKw4KIhkSPw4XPT9Wh1GyF+dKNKSI5OtQ7RaTEjFGwQ7odhgURDarz9R0wmWXsOWFDe48TAKAO\n",
2178
              "UuEnkxNQZJAwe1I81EH8KPDhjmFBRH7X1evEZ5V1KDXLOCG3euupMWNgNOixcoYeiVGhyjVIPmNY\n",
2179
              "EJHfnKltg8ks45OKWnTYPVOEJkiFefcnotAg4eGMOARxihiRGBZEdE+u2Z349JtalJplfGNr89bH\n",
2180
              "x4ZhdZ4eK6brkBDJKWKkY1gQkc+EEDhV0waT2Yq9J2vQ2eu5xECwWoWfTUlCkUHCj9NjOUWMIgwL\n",
2181
              "Irpj7T0OfHLSM0WcqW331ifEhcNo0KMgV4fYCO1tVqCRimFBRLclhMBJaytMZhmfflOHbodnigjR\n",
2182
              "BGHBA0kozJOQnz4OKhWniNGMYUFE/WrrduDvFTUwmWWcq+/w1jMSImA0SFg+LRVjw0MU7JCGEsOC\n",
2183
              "iLyEEDh++Sp2mGXsq6yD3ekGAGg1QVg0NRlFBgnTx4/lFBGAGBZEhKudvdhTUYNSs4wLjde89clJ\n",
2184
              "kTAaJCzLSUV0GK9PE8gYFkQBSgiB8ostMJll/ON0PXqvTxFjgtVYkp0Mo0FCjj6GUwQBYFgQBZzm\n",
2185
              "a3aUnbCh1GxFdVOntz4lJQqFBgnLclIQGcopgvryKSyeeeYZ7N27F5cvX0ZFRQVycnIAAGlpadBq\n",
2186
              "tRgzxvMhYBs2bMDq1av93iwR3R23W+BodTN2mGXsP1MPh8tzxcvwEDUey0lFkUFCli5a4S5pOPMp\n",
2187
              "LFasWIHnn38es2bNuum+nTt3esODiIaHxo4e7D7umSLkli5vPVsXjUKDhCXZKYjQ8g0GGphPR8ns\n",
2188
              "2bMHqw8i8hO3W+CrqiaYymUc+G8DnG7PFBGp1WDZtFQUGvSYksIpgnzjt28p1qxZAyEEDAYDXnnl\n",
2189
              "FcTHx9/ysXa7HXa7vU/N5XL5qxWigNTQ3oNdFitKLVbUtHZ767lSDAoNEhZPTUZYCKcIujt+OXKO\n",
2190
              "HDkCSZLgcDjw4osvYu3atfj8889v+fitW7di8+bNfWr5+fn+aIUooLjcAoe/bcSOciv+fb4RrutT\n",
2191
              "RFSoBstzdSg06DE5KUrhLmk0UAkhhK9PSktLw9///vd+z1HU1dVh0qRJ6OjouPmJ1/U3WWzcuBEl\n",
2192
              "JSW+tkIUkGpbu7HrmBW7LFbUtvV463lpY2E0SFiYlYzQYLWCHdJoc8+TRWdnJxwOB2JiYgAAJpMJ\n",
2193
              "06ZNu+1ztFottNq+HzamVvPAJrodp8uNf5+/ApNZxqHzjbg+RCAmLBgFuToU5ukxMTFS2SZp1PIp\n",
2194
              "LNavX499+/ahvr4e8+fPR2RkJPbv34+CggK4XC4IIZCeno73339/sPolCjjWli7PFHHMiob2GxN5\n",
2195
              "fvo4GA0S5k9J4hRBg86nsNi+fXu/9YqKCr80Q0QeDpcb//pvA3aYrfjqwhV8/2bxuPAQrJyuw+o8\n",
2196
              "PdLjI5RtkgIKfzSCaBi53NyJUosVHx2zoenajSnioYxYGA0S5t2fCK2GUwQNPYYFkcJ6nW7sP1uP\n",
2197
              "UrMVX1c1eetxEVqsnOE5FzE+NlzBDokYFkSKqb5yDTstVuw+bkNzZy8AQKUCZk+Mh9Ggx6P3JSJY\n",
2198
              "HaRwl0QeDAuiIdTjcOGfZ+phMsv4T3WLt54YpcWqGXqsmqGHflyYgh0S9Y9hQTQEqho7YDJbUXbC\n",
2199
              "htYuBwAgSAXMzUxAoUHC3Mx4aDhF0DDGsCAaJD0OF/ZV1qHUIsNy6aq3nhIdilV5nikiJWaMgh0S\n",
2200
              "3TmGBZGfnatvR6nZij0nbGjvcQIA1EEq/GRyAooMEmZPioc6iBcUopGFYUHkB129Tnz2TR1MFhkV\n",
2201
              "cqu3rhs7BoV5eqycoUdiVKhyDRLdI4YF0T04XdOGUouMTypq0WH3TBGaIBXm3Z8Io0HCrIw4BHGK\n",
2202
              "oFGAYUHko2t2Jz79phYms4xKW5u3Pj42DIV5ElZM1yE+UnubFYhGHoYF0R0QQuBUTRtMZhmfnKxF\n",
2203
              "V6/n+ivBahXmT0lCkUFCfnospwgatRgWRLfR3uPAJydrYSqXcbau3VtPjwtHoUGPglwdYiM4RdDo\n",
2204
              "x7Ag+gEhBCqsrTCVy/issg7dDs8UEaIJwsIHkmA0SDBMGAeVilMEBQ6GBdF1bV0OfFxhQ6nFinP1\n",
2205
              "Ny7eNTEhAoUGCcunpWJseIiCHRIph2FBAU0IgWOXr8JklrGvsg52pxsAoNUEYfHUFBgNekwfP5ZT\n",
2206
              "BAU8hgUFpKudvdhTUQOTWUZV4zVvfXJSJIwGCctyUhEdFqxgh0TDC8OCAoYQAuUXW2Ayy/jH6Xr0\n",
2207
              "Xp8ixgSrsXhqMopmSsjRx3CKIOqHT2HxzDPPYO/evbh8+TIqKiqQk5MDALhw4QLWrl2LpqYmREdH\n",
2208
              "491338WUKVMGo18inzVfs6PshA2lZiuqmzq99SkpUTAaJCzNSUFkKKcIotvxKSxWrFiB559/HrNm\n",
2209
              "zepTX79+PdatW4fi4mLs3r0bxcXFsFgsfm2UyBdut8DR6mbsMMvYf6YeDpfnuqThIWo8lpOKIoOE\n",
2210
              "LF20wl0SjRw+hcXs2bNvqjU2NuLYsWPYv38/AKCgoABPP/00qqqqkJGR4Z8uie5QY0cPdh/3TBFy\n",
2211
              "S5e3nq2LhtEgYUl2CsK1fPeVyFf3/LfGarUiOTkZGo1nKZVKBUmSIMvyLcPCbrfDbrf3qblcrntt\n",
2212
              "hQKU2y3wVVUTTOUyDvy3AU63Z4qI1GqwbFoqCg16TEnhFEF0LxT5Fmvr1q3YvHlzn1p+fr4SrdAI\n",
2213
              "Vt/Wg4+OWVFqsaKmtdtbz5ViYDRIWDQ1GWEhnCKI/OGe/ybp9XrU1dXB6XRCo9FACAFZliFJ0i2f\n",
2214
              "s2HDBjz77LN9ahs3brzXVigAuNwCh79txI5yKw6ea8D1IQJRoRosz9XBaJCQmRSpbJNEo9A9h0VC\n",
2215
              "QgJyc3Px4Ycfori4GGVlZdDpdLc9X6HVaqHV9v08HbVafa+t0ChW09qNXRYrdh2zoq6tx1s3pI2D\n",
2216
              "caYeCx5IRmgwjyGiweJTWKxfvx779u1DfX095s+fj8jISFRVVWH79u0oLi7Gli1bEBUVhXfeeWew\n",
2217
              "+qUA4nS5cfBcI0xmGYe/veKdIsaGBaMgV4dCgx4ZCZwiiIaCT2Gxffv2fuuZmZk4evSoXxoisrZ0\n",
2218
              "Yef1KaKx48YPQvw4PRaFBj3mT0niFEE0xHj2j4YFh8uNA2cbsMMs4+uqJojrU0RseAhWTNdhdZ4e\n",
2219
              "6fERyjZJFMAYFqSoS02dKLVYsfu4DU3XbkwRszLiYDRImHd/IkI0QQp2SEQAw4IUYHe68OXZBpjM\n",
2220
              "Mv6vqtlbj4vQYtUMzxQxPjZcwQ6J6IcYFjRkqq9c804RLZ29AACVCpg9MR5Gg4RH70tAsJpTBNFw\n",
2221
              "xLCgQdXjcOGfZ+qxo1xG+cUWbz0xSovVM/RYOUMP/bgwBTskojvBsKBBcaGhAyazFXsqbGjtcgAA\n",
2222
              "glTA3MwEFBokzM2Mh4ZTBNGIwbAgv+lxuLCvsg4ms4xjl6966ynRoViVp8eqGXqkxIxRsEMiulsM\n",
2223
              "C7pn5+rbYSqX8XFFDdp7nAAAdZAKP5mcgCKDhNmT4qEO4gWFiEYyhgXdla5eJz77pg4mi4wKudVb\n",
2224
              "140dg8I8z7mIxKhQ5RokIr9iWJBPTte0odQi45OKWnTYPVOEJkiFefcnwmiQMCsjDkGcIohGHYYF\n",
2225
              "Deia3Ym9J2tRapFRaWvz1sfHhqEwT8KK6TrER2pvswIRjXQMC+qXEAKVtutTxMladPV6Lk4VrFZh\n",
2226
              "/pQkGA0SfpweyymCKEAwLKiP9h4HPjlZC1O5jLN17d56enw4jHkSluemIjaCUwRRoGFYEIQQOCG3\n",
2227
              "otQs47PKOnQ7PFNEiCYICx/wTBGGCeOgUnGKIApUDIsA1tblwMcVNpjMVpxv6PDWJyZEwGjwTBEx\n",
2228
              "YSEKdkhEwwXDIsAIIWC5dBWlZhn7TtXB7nQDALSaICyemoKimXrkSmM5RRBRHwyLAHG1sxdlJ2ww\n",
2229
              "mWV8d6XTW5+cFImimRKW5qQiekywgh0S0XDm17BIS0uDVqvFmDGej3TYsGEDVq9e7c+XIB8IIfCf\n",
2230
              "6haYzDK+OF2PXpdnihgTrMZj2SkoNOiRo4/hFEFEA/L7ZLFz507k5OT4e1nyQdM1O8qO21BqseJi\n",
2231
              "040pYkpKFIwGCUtzUhAZyimCiO4c34YaJdxugf/3XTNMFhn7z9TD4fJclzQ8RI3HclJRZJCQpYtW\n",
2232
              "uEsiGqn8HhZr1qyBEAIGgwGvvPIK4uPjb3qM3W6H3W7vU3O5XP5uJSA0dvRg93EbSs1WyC1d3nq2\n",
2233
              "LhpGg4Ql2SkI1/J7AiK6NyohhPDXYrIsQ5IkOBwOvPjiizh16hQ+//zzmx63adMmbN68uU8tPz8f\n",
2234
              "R48e9Vcro5rbLfBVVRNM5TIO/LcBTrfnf2GkVoNl01JRaNBjSgqnCCLyH7+Gxf+qq6vDpEmT0NHR\n",
2235
              "cdN9/U0WGzduRElJyWC0MmrUt/Xgo2NWlFqsqGnt9tZzpRgUGiQsnpqMsBBOEUTkf377l6WzsxMO\n",
2236
              "hwMxMTEAAJPJhGnTpvX7WK1WC62270dGqNVqf7UyqrjcAoe/bcSOciv+fb4RrutTRFSoBstzdTAa\n",
2237
              "JGQmRSrcJRGNdn4Li4aGBhQUFMDlckEIgfT0dLz//vv+Wj7g1LZ2Y6fFio+OWVHb1uOtG9LGodCg\n",
2238
              "x8KsZIQGM2CJaGj4LSzS09NRUVHhr+UCktPlxsFzjSi1WHHofCOuDxEYGxaMglwdCg16ZCRwiiCi\n",
2239
              "occ3uIcBa0uXZ4o4bkVD+41zOT9Oj4VxpoT5UxKh1XCKICLlMCwU4nC5ceBsA0wWK766cAXf/5hB\n",
2240
              "bHgIVszQoTBPwoS4cGWbJCK6jmExxC41daLUYsXu4zY0XbsxRTw8MQ6FeRLm3Z+IEE2Qgh0SEd2M\n",
2241
              "YTEE7E4X9p9pQKlFxv9VNXvr8ZFarJzumSKk2DAFOyQiuj2GxSD67so1lJpllJ2oQUtnLwBApQJm\n",
2242
              "T4yH0SDh0fsSEKzmFEFEwx/Dws96HC58cboeJrOM8ost3npSVChWzdBhVZ4eurGcIohoZGFY+MmF\n",
2243
              "hg6YzFbsqbChtcsBAAhSAXMzE1BokDA3Mx4aThFENEIxLO5Bd68Ln5+qg8ks49jlq956SnQoVudJ\n",
2244
              "WJWnQ3L0GAU7JCLyD4bFXThX3w5TuYw9FTXo6HECANRBKjw6OQHGmRJmT4yHOogXFCKi0YNhcYe6\n",
2245
              "ep347Js6mCwyKuRWb103dgyMBgkrp+uQEBWqXINERIOIYTGA0zVtMJllfHKyFtfsnilCE6TCz6Yk\n",
2246
              "wmiQ8NCP4hDEKYKIRjmGRT+u2Z3Ye7IWJrOMUzVt3npabBgKDRIKcnWIj9TeZgUiotGFYXGdEAKV\n",
2247
              "Ns8UsfebWnT1eq7cF6IOwvwHkmA06PHj9FioVJwiiCjwBHxYtPc48ElFDUxmK87WtXvr6fHhKDJI\n",
2248
              "WJ6rw7jwEAU7JCJSXkCGhRACJ+RWmMwyPqusRY/DDQAI0QRhUVYyjAYJeWljOUUQEV0XUGHR1uXA\n",
2249
              "ngobSs1WnG+4cbnXSYkRMBok/GJaKmLCOEUQEf3QqA8LIQQsl67CZJbx+ak62J2eKSI0OAiLslJQ\n",
2250
              "NFOPXIlTBBHR7fg1LC5cuIC1a9eiqakJ0dHRePfddzFlyhR/vsQda+nsxZ4TNpjMMr670umtT06K\n",
2251
              "xC9nSngsJxXRY4IV6Y2IaKTxa1isX78e69atQ3FxMXbv3o3i4mJYLBZ/vsRtCSFwtLoZJrMV/zxd\n",
2252
              "j16XZ4oIC1HjsewUFBokZOuiOUUQEfnIb2HR2NiIY8eOYf/+/QCAgoICPP3006iqqkJGRoa/XqZf\n",
2253
              "TdfsKDtuQ6nFiotNN6aIrNRoFBr0eCw7BZGhnCKIiO6W38LCarUiOTkZGo1nSZVKBUmSIMvyTWFh\n",
2254
              "t9tht9v71Fwu11297l+PVOMP/zwHh8tzXdIIrQaP5aTAmCchSxd9V2sSEVFfipzg3rp1KzZv3tyn\n",
2255
              "lp+ff1drZSREwOESyNbHoMigx+KpKQjXjvrz9kREQ0olhBD+WKixsREZGRloaWmBRqOBEALJycn4\n",
2256
              "+uuv72iy2LhxI0pKSnx+XZdb4NuGDtyXHHVP/RMR0a357Wo8CQkJyM3NxYcffggAKCsrg06n6/d8\n",
2257
              "hVarRVRUVJ8/arX6rl5XHaRiUBARDTK/vl+zfft2FBcXY8uWLYiKisI777zjz+WJiEghfg2LzMxM\n",
2258
              "HD161J9LEhHRMMCLQhMR0YD8doL7Xi1fvhxpaWl39VyXywWz2QyDwXDX5z5GOu6BB/fBg/vgwX3w\n",
2259
              "+N99SE9Px29+8xuf1xg2YXEv2tvbER0djba2NkRFBebJbu6BB/fBg/vgwX3w8Mc+8G0oIiIaEMOC\n",
2260
              "iIgGxLAgIqIBjYqw0Gq1eOmll6DVapVuRTHcAw/ugwf3wYP74OGPfRgVJ7iJiGhwjYrJgoiIBhfD\n",
2261
              "goiIBsSwICKiAY34sLhw4QIefPBBTJo0CXl5eThz5ozSLSkiLS0NmZmZyMnJQU5ODnbu3Kl0S4Pu\n",
2262
              "mWeeQVpaGlQqFU6ePOmtB9oxcat9CLRjoqenB8uWLcOkSZOQnZ2NefPmoaqqCoDnEgo///nPMXHi\n",
2263
              "RDzwwAM4cuSIwt0OjtvtwSOPPIIJEyZ4j4c33njDt8XFCDd37lzxzjvvCCGE+Oijj8SMGTOUbUgh\n",
2264
              "48ePFxUVFUq3MaQOHz4srFbrTV97oB0Tt9qHQDsmuru7xb59+4Tb7RZCCPHmm2+KOXPmCCGE+NWv\n",
2265
              "fiVeeuklIYQQZrNZpKamit7eXoU6HTy324M5c+aIjz/++K7XHtGTxffX/X788ccBeK77bbVavUlK\n",
2266
              "o9vs2bOh0+n61ALxmOhvHwJRaGgoFi5cCJVKBcBz9c1Lly4BAHbt2oVf//rXAIC8vDykpKTg8OHD\n",
2267
              "SrU6aG63B/dqRIfF7a77HYjWrFmDrKwsPPnkk7hy5YrS7SiCx0RfgXxMlJSUYOnSpWhubobD4UBS\n",
2268
              "UpL3vrS0tIA4Jr7fg++98MILyMrKwurVq1FdXe3TWiM6LOiGI0eOoLKyEidOnEBcXBzWrl2rdEuk\n",
2269
              "sEA+JrZs2YKqqips3bpV6VYU88M9+OCDD3Du3DlUVlbi4YcfxuLFi31b0A9vkymmoaFBREZGCofD\n",
2270
              "IYQQwu12i8TERHHhwgWFO1NWbW2tiIiIULqNIfO/780H8jFxu3MUgXRM/PGPfxTTp08XV69e9dbC\n",
2271
              "wsJEXV2d93ZeXp748ssvFehuaPS3Bz+k1WpFU1PTHa85oicLX677PZp1dnaitbXVe9tkMmHatGnK\n",
2272
              "NaQgHhMegXpMbNu2DSaTCV9++SViYmK89ZUrV+Ltt98GAFgsFtTU1GDOnDkKdTm4+tsDp9OJhoYG\n",
2273
              "72PKysqQmJiI2NjYO153xH/cx/nz51FcXIzm5mbvdb+zsrKUbmtIVVdXo6CgAC6XC0IIpKeno6Sk\n",
2274
              "5K4vJjVSrF+/Hvv27UN9fT1iY2MRGRmJqqqqgDsm+tuH/fv3B9wxYbPZoNfrkZ6ejsjISACez0Qq\n",
2275
              "Ly9HQ0MDnnjiCVy8eBEhISF46623MHfuXIU79r9b7cHBgwcxZ84c2O12BAUFIS4uDtu2bUN2dvYd\n",
2276
              "rz3iw4KIiAbfiH4bioiIhgbDgoiIBsSwICKiATEsiIhoQAwLIiIaEMOCiIgGxLAgIqIBMSyIiGhA\n",
2277
              "DAsiIhoQw4KIiAbEsCAiogH9f2s8SS1sNjfxAAAAAElFTkSuQmCC\n",
2278
              "\">\n",
2279
              "        \n",
2280
              "      </div>\n",
2281
              "      <script></script>\n",
2282
              "      <script type=\"text/javascript\">\n",
2283
              "        (() => {\n",
2284
              "          const chartElement = document.getElementById(\"chart-6cf3702c-e000-45ee-83ec-c821e51a89b6\");\n",
2285
              "          async function getCodeForChartHandler(event) {\n",
2286
              "            const chartCodeResponse =  await google.colab.kernel.invokeFunction(\n",
2287
              "                'getCodeForChart', [\"chart-6cf3702c-e000-45ee-83ec-c821e51a89b6\"], {});\n",
2288
              "            const responseJson = chartCodeResponse.data['application/json'];\n",
2289
              "            await google.colab.notebook.addCell(responseJson.code, 'code');\n",
2290
              "          }\n",
2291
              "          chartElement.onclick = getCodeForChartHandler;\n",
2292
              "        })();\n",
2293
              "      </script>\n",
2294
              "      <style>\n",
2295
              "        .colab-quickchart-chart-with-code  {\n",
2296
              "            display: block;\n",
2297
              "            float: left;\n",
2298
              "            border: 1px solid transparent;\n",
2299
              "        }\n",
2300
              "\n",
2301
              "        .colab-quickchart-chart-with-code:hover {\n",
2302
              "            cursor: pointer;\n",
2303
              "            border: 1px solid #aaa;\n",
2304
              "        }\n",
2305
              "      </style>"
2306
            ]
2307
          },
2308
          "metadata": {}
2309
        },
2310
        {
2311
          "output_type": "display_data",
2312
          "data": {
2313
            "text/plain": [
2314
              "<google.colab._quickchart_helpers.SectionTitle at 0x7cdbda647280>"
2315
            ],
2316
            "text/html": [
2317
              "<h4 class=\"colab-quickchart-section-title\">Distributions</h4>\n",
2318
              "<style>\n",
2319
              "  .colab-quickchart-section-title {\n",
2320
              "      clear: both;\n",
2321
              "  }\n",
2322
              "</style>"
2323
            ]
2324
          },
2325
          "metadata": {}
2326
        },
2327
        {
2328
          "output_type": "display_data",
2329
          "data": {
2330
            "text/plain": [
2331
              "import numpy as np\n",
2332
              "from google.colab import autoviz\n",
2333
              "\n",
2334
              "def histogram(df, colname, num_bins=20, figscale=1):\n",
2335
              "  from matplotlib import pyplot as plt\n",
2336
              "  df[colname].plot(kind='hist', bins=num_bins, title=colname, figsize=(8*figscale, 4*figscale))\n",
2337
              "  plt.gca().spines[['top', 'right',]].set_visible(False)\n",
2338
              "  plt.tight_layout()\n",
2339
              "  return autoviz.MplChart.from_current_mpl_state()\n",
2340
              "\n",
2341
              "chart = histogram(_df_1, *['index'], **{})\n",
2342
              "chart"
2343
            ],
2344
            "text/html": [
2345
              "      <div class=\"colab-quickchart-chart-with-code\" id=\"chart-f1d9ad68-95de-4e16-aa2c-ecd0ed077302\">\n",
2346
              "        <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYsAAADECAYAAABumQ2GAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90\n",
2347
              "bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9h\n",
2348
              "AAAPYQGoP6dpAAAVpUlEQVR4nO3de1BU5/3H8c8KzcYLqwl4gSAiAtppCIjVMmpFJ+NETYMWbCrW\n",
2349
              "BqlGrMnQDpkxcVKraEdM0tqYdBzxMtbRGatV01qtpjaJUXsxXqImOl4QybIWwWpE2+LK5fz+8Jed\n",
2350
              "bAQPBzkssu/XzJnhnH322e+zZ4bPnMs+x2EYhiEAAO6hU6ALAAC0f4QFAMAUYQEAMEVYAABMERYA\n",
2351
              "AFOEBQDAFGEBADBFWAAATBEWAABThAXQiPHjx2vx4sUtfv/IkSO1cOHC1isICLDQQBcAtEe7d+8O\n",
2352
              "dAlAu8KRBQDAFGEBNGL06NH62c9+JklyOBx6++23NWLECHXr1k1JSUk6ePCgr21dXZ3mzp2rPn36\n",
2353
              "qGfPnpo3b95d/V26dElTp07VY489pl69eik7O1tXrlyRJO3bt09du3bV4cOHJUmGYejpp5/WM888\n",
2354
              "I+b5RHtBWADNsGbNGq1fv17Xr1/Xk08+qR/84Ae+115//XVt2bJF77//vjwej0JDQ3Xo0CHf616v\n",
2355
              "V08++aSioqJ07tw5lZaWKjQ0VFOnTpV0J5gWLlyoyZMn6+rVq1q8eLHOnDmjDRs2yOFwtPlYgUYZ\n",
2356
              "AO6Snp5uvPrqq4ZhGIYkY/369b7XPv30U0OScfnyZcMwDCM+Pt546623fK/X1dUZPXv2NBYsWGAY\n",
2357
              "hmFs27bNiIqKMhoaGnxtPB6PIckoLy/3bcvKyjKSk5ONrl27Gh9//LGNowOs4wI30AxRUVG+v7t2\n",
2358
              "7SpJunnzpnr37i2Px6P+/fv7Xg8JCVFMTIxv/fz586qsrNQjjzzi16fT6ZTb7VZ0dLQkqaCgQCNG\n",
2359
              "jFB2drZSUlJsHA1gHWEB3Kfo6GiVlZX51uvr61VeXu5b79Onj/r166cLFy402Ud1dbVycnI0Y8YM\n",
2360
              "bdmyRX/605/0zDPP2Fk2YAnXLID7lJOTo1/96lc6c+aMvF6vFi1apGvXrvlez8zMVG1trebPn6/q\n",
2361
              "6mpJUlVVlTZv3izpzgXtnJwcDRw4UKtXr1ZxcbGee+45lZaWBmQ8QGMIC+A+vfzyy8rMzFR6erqi\n",
2362
              "o6N1+/Ztfetb3/K9HhYWpn/84x9yu91KSkqSy+XS8OHDtX//fknSa6+9ppMnT/ouaGdnZ2vatGnK\n",
2363
              "yspSTU1NoIYF+HEYBvfmAQDujSMLAIApwgIAYIqwAACYIiwAAKYICwCAKcICAGCKsAAAmOoQYbF8\n",
2364
              "+fJAlwAAHVqHCIvPPvss0CUAQIfWIcICAGAv28Li1q1bmjRpkhITE5WcnKyxY8eqpKSk0bY7d+7U\n",
2365
              "oEGDlJCQoMzMTN24ccOusgAALWDrkcWsWbN09uxZnThxQhMnTtTMmTPvavOf//xHM2bM0B/+8Aed\n",
2366
              "P39eUVFRWrx4sZ1lAQAssi0sHn74YU2YMMH3WMi0tDS/Of+/sHv3bg0ePFiDBg2SJM2ZM0ebNm2y\n",
2367
              "qywAQAu02cOPli9frokTJ9613e12q1+/fr712NhYVVRUqK6uTqGhd5fn9Xrl9Xr9ttXX17d+wQAA\n",
2368
              "nzYJiyVLlqikpETvvffeffdVVFSkwsJCv21paWkt7i/2lV0tfm/Z0qdb/N4HFd9X8/FdWRNs39eD\n",
2369
              "Nl7b74b65S9/qe3bt2v37t3q0qXLXa/HxMT43fpaVlamyMjIRo8qJGnevHmqrq72W4YNG2Zb/QAA\n",
2370
              "m8Ni2bJl2rRpk/bu3asePXo02mbcuHE6duyYzpw5I0lasWKFpkyZ0mSfTqdTLpfLbwkJCbGjfADA\n",
2371
              "/7PtNJTH49FLL72kuLg4jRkzRtKdf/SHDh3Sz3/+c0VFRWn27NkKCwvTmjVrNGnSJNXV1enxxx/X\n",
2372
              "+vXr7SoLANACtoVFdHS0mnpi66JFi/zWMzIylJGRYVcpAID7xC+4AQCmCAsAgCnCAgBgirAAAJgi\n",
2373
              "LAAApggLAIApwgIAYIqwAACYIiwAAKYICwCAKcICAGCKsAAAmCIsAACmCAsAgCnCAgBgirAAAJgi\n",
2374
              "LAAApggLAIApwgIAYIqwAACYIiwAAKYICwCAKcICAGCKsAAAmLI1LPLz8xUbGyuHw6Hjx4832mbf\n",
2375
              "vn3q3LmzUlJSfEtNTY2dZQEALAq1s/PJkydr7ty5Gjly5D3bDRw4sMkwAQAEnq1hMWrUKDu7BwC0\n",
2376
              "EVvDorkuXLig1NRUhYSEKDc3V3PmzGmyrdfrldfr9dtWX19vd4kAENQCHhapqanyeDzq3r27PB6P\n",
2377
              "JkyYoIiICD377LONti8qKlJhYaHftrS0tLYoFQCCVsDvhnK5XOrevbskKTo6WtnZ2Tpw4ECT7efN\n",
2378
              "m6fq6mq/ZdiwYW1VLgAEpYCHRUVFhRoaGiRJN2/e1M6dOzV48OAm2zudTrlcLr8lJCSkrcoFgKBk\n",
2379
              "OSzefffdZrfNy8tTdHS0PB6PnnrqKcXHx0uSZs6cqR07dkiStm3bpqSkJCUnJystLU1jx45Vbm6u\n",
2380
              "1bIAADayfM1i0aJFys/P15w5c5SbmyuXy9Vk2+Li4ka3r1mzxvf3iy++qBdffNFqGQCANmT5yOJv\n",
2381
              "f/ubfve73+nTTz9VYmKi5syZo9OnT9tRGwCgnWjRNYvBgwdr9erV2rNnj3bu3KknnnhCY8eO1Sef\n",
2382
              "fNLa9QEA2oEWhcVf//pXTZw4UZmZmXrhhRd0+fJl5eXl6bvf/W5r1wcAaAcsX7P4+te/roiICOXn\n",
2383
              "5yszM9N3J9LkyZO1du3aVi8QABB4lsNi48aNGjJkSKOv7d69+74LAgC0P5ZPQx09elTXrl3zrV+9\n",
2384
              "elWrV69u1aIAAO2L5bBYsWKFHn30Ud96eHi4VqxY0apFAQDaF8thYRjGXduYyA8AOjbLYREZGakt\n",
2385
              "W7b41jdv3qzIyMhWLQoA0L5YvsD95ptvauLEiZo7d64kqUuXLvrjH//Y6oUBANoPy2ExaNAgnT59\n",
2386
              "WmfPnpV05yl3TOQHAB1bi55n4XA41KNHD9XV1enSpUuSpJiYmFYtDADQflgOi9/+9rfKz8/X1772\n",
2387
              "NXXqdOeSh8PhUFVVVasXBwBoHyyHxeLFi3X48GENHDjQjnoAAO2Q5buhIiIiCAoACDKWw2LSpEl6\n",
2388
              "8803VVVVpRs3bvgWAEDHZfk01KuvvipJKigokMPhkGEYcjgc/DAPADowy2HxxfOyAQDBo0XPszh6\n",
2389
              "9Kg2bNggSbp+/boqKipatSgAQPvSookEf/SjH2nhwoWS7sw6O3Xq1NauCwDQjlgOi1WrVumf//yn\n",
2390
              "XC6XJGnAgAG6cuVKqxcGAGg/LIeF0+lU586d/baFhrboh+AAgAeE5bDo2bOnzp07J4fDIenOL7qZ\n",
2391
              "6gMAOrYWzTqbnZ2tM2fOqG/fvnK5XNq5c6cdtQEA2gnLRxbx8fE6dOiQjh49qnfffVcnT55U//79\n",
2392
              "G22bn5+v2NhYORwOHT9+vMk+165dq4SEBA0YMEDPP/+8amtrrZYFALCR5bBwu93yeDzq2rWrunXr\n",
2393
              "pkuXLsntdjfadvLkyTp48KD69evXZH8XL17U/PnzdeDAAZWUlKiyslKrVq2yWhYAwEaWT0MNGTLE\n",
2394
              "98vtW7du6X//+5/Cw8MbnXV21KhRpv1t3bpVGRkZ6tOnjyRp9uzZWrJkiV544QWrpQEAbGI5LL56\n",
2395
              "m+z27dt14sSJFhfgdrv9jjxiY2ObPFKRJK/XK6/X67eNqUYAwF73fc9rZmamlixZosLCwtaox1RR\n",
2396
              "UdFdn5WWltYmn/1Vsa/sCsjnPqj4vpqP78oavi/7Wb5m8eWZZj///HPt2bPnvmadjYmJ0WeffeZb\n",
2397
              "Lysru+etuPPmzVN1dbXfMmzYsBZ/PgDAnOUjix49eviuWYSEhCghIUFvvfVWiwvIysrSyJEjtXDh\n",
2398
              "QvXu3VsrV67UlClTmmzvdDrldDr9tvEMcACwl+Uji4aGBtXX16uhoUG1tbU6ffq0xo0b12jbvLw8\n",
2399
              "RUdHy+Px6KmnnlJ8fLwkaebMmdqxY4ckKS4uToWFhRoxYoTi4+PVs2dP5eXl3ceQAACtzWEYhhHo\n",
2400
              "Iu5XQUGBli1b1qL3cq4TwIOmbOnTbf6Zlk9DderUyTfVx5fxECQA6Lgsh8WiRYtUU1OjH//4x5Kk\n",
2401
              "lStXqnPnzvrpT3/a2rUBANoJy2Hxzjvv6OjRo771X/ziFxoyZIjvcasAgI7H8gXumzdv+v1au6qq\n",
2402
              "Sjdv3mzVogAA7YvlI4uXXnpJycnJmjBhgiRpz549vqfmAQA6JsthkZeXpxEjRuiDDz6QdOdOpG98\n",
2403
              "4xutXhgAoP1o0XQf4eHhSkpK0ujRo1VXV6fbt2/roYceau3aAADthOVrFlu3blVaWppyc3MlSadO\n",
2404
              "ndKkSZNauy4AQDtiOSyKiop07Ngx9ejRQ5KUnJzsN7cTAKDjsRwWISEhCg8P99vGKSgA6Ngsh0VY\n",
2405
              "WJgqKyt9v+J+77339Oijj7Z6YQCA9sPyBe7XXntN48ePV2lpqUaOHKmLFy9q1y7mVwKAjsxSWHwx\n",
2406
              "4+wHH3ygv//97zIMQ8OHD/ddvwAAdEyWwqJTp06aNWuWTpw4ofHjx9tVEwCgnbF8zSIhIUElJSV2\n",
2407
              "1AIAaKcsX7O4du2aUlJSNHz4cHXr1s23ffv27a1aGACg/Wh2WMyaNUurVq1STk6OMjIy9Mgjj9hZ\n",
2408
              "FwCgHWl2WBw5ckSSlJOTo9TUVB07dsy2ogAA7YvlaxbSnafiAQCCR7OPLGpqavTJJ5/IMAzdunXL\n",
2409
              "9/cXnnjiCVsKBAAEnqWwyMjI8K1/+W+Hw6HS0tLWrQwA0G40OyzKyspsLAMA0J616JoFACC42BoW\n",
2410
              "58+f1/Dhw5WYmKihQ4fq1KlTd7XZt2+fOnfurJSUFN9SU1NjZ1kAAIta9KS85srLy9OsWbM0ffp0\n",
2411
              "bd26VdOnT9fhw4fvajdw4EAdP37czlIAAPfBtiOLqqoqHTlyRNOmTZMkZWVlqby8nKlCAOABZFtY\n",
2412
              "lJeXKzIyUqGhdw5eHA6HYmJi5Ha772p74cIFpaamaujQoVqxYsU9+/V6vbpx44bfUl9fb8sYAAB3\n",
2413
              "2HoaqjlSU1Pl8XjUvXt3eTweTZgwQREREXr22WcbbV9UVKTCwkK/bWlpaW1RKgAELduOLPr27auK\n",
2414
              "igrV1dVJuvOrb7fbrZiYGL92LpdL3bt3lyRFR0crOztbBw4caLLfefPmqbq62m8ZNmyYXcMAAMjG\n",
2415
              "sOjVq5dSU1O1ceNGSdK2bdsUHR2t+Ph4v3YVFRVqaGiQJN28eVM7d+7U4MGDm+zX6XTK5XL5LSEh\n",
2416
              "IXYNAwAgm2+dLS4uVnFxsRITE7V06VKtW7dOkjRz5kzt2LFD0p0QSUpKUnJystLS0jR27Fjl5uba\n",
2417
              "WRYAwCKH0QFmBSwoKNCyZcta9N7YV3h+OIAHS9nSp9v8M/kFNwDAFGEBADBFWAAATBEWAABThAUA\n",
2418
              "wBRhAQAwRVgAAEwRFgAAU4QFAMAUYQEAMEVYAABMERYAAFOEBQDAFGEBADBFWAAATBEWAABThAUA\n",
2419
              "wBRhAQAwRVgAAEwRFgAAU4QFAMAUYQEAMEVYAABMERYAAFO2hsX58+c1fPhwJSYmaujQoTp16lSj\n",
2420
              "7dauXauEhAQNGDBAzz//vGpra+0sCwBgka1hkZeXp1mzZuncuXN6+eWXNX369LvaXLx4UfPnz9eB\n",
2421
              "AwdUUlKiyspKrVq1ys6yAAAW2RYWVVVVOnLkiKZNmyZJysrKUnl5uUpKSvzabd26VRkZGerTp48c\n",
2422
              "Dodmz56tTZs22VUWAKAFQu3quLy8XJGRkQoNvfMRDodDMTExcrvdio+P97Vzu93q16+fbz02NlZu\n",
2423
              "t7vJfr1er7xer9+2+vr6Vq4eAPBltoWFXYqKilRYWOi3bdCgQSooKLDcV319vSI/+kjDhg1TSEhI\n",
2424
              "a5X4QKivr9dHjJ2xB5GONPaCgvcstf/y2OPi4vSTn/zE8mc6DMMwLL+rGaqqqhQfH69r164pNDRU\n",
2425
              "hmEoMjJSBw8e9DuyeOONN3ThwgWtXLlSkvTnP/9ZS5Ys0cGDBxvtt7EjC6fTKafTabnGGzduqHv3\n",
2426
              "7qqurpbL5bL8/gcZY2fsjD14tMbYbbtm0atXL6Wmpmrjxo2SpG3btik6OtovKKQ71zJ27Nihy5cv\n",
2427
              "yzAMrVy5UlOmTGmyX6fTKZfL5be0JCgAAM1n691QxcXFKi4uVmJiopYuXap169ZJkmbOnKkdO3ZI\n",
2428
              "kuLi4lRYWKgRI0YoPj5ePXv2VF5enp1lAQAssu001IOAw1LGztiDB2Nvp6ehHgROp1MLFiwIytNY\n",
2429
              "jJ2xBxvGfn9jD+ojCwBA8wT1kQUAoHkICwCAKcICAGAqaMOiuTPidkSxsbEaOHCgUlJSlJKSos2b\n",
2430
              "Nwe6JNvk5+crNjZWDodDx48f920Phv3f1NiDYf/funVLkyZNUmJiopKTkzV27FjfvHRVVVUaN26c\n",
2431
              "EhIS9Pjjj2v//v0BrrZ13Wvso0ePVv/+/X37/te//nXzOzaC1JgxY4x169YZhmEYv//9741vfvOb\n",
2432
              "gS2oDfXr18/4+OOPA11Gm/jwww+N8vLyu8YcDPu/qbEHw/6vqakxdu3aZTQ0NBiGYRhvv/22kZ6e\n",
2433
              "bhiGYeTm5hoLFiwwDMMwPvroI+Oxxx4zbt++HaBKW9+9xp6enm688847Leo3KI8smjsjLh58o0aN\n",
2434
              "UnR0tN+2YNn/jY09WDz88MOaMGGCHA6HJCktLU1lZWWSpC1btmj27NmSpKFDhyoqKkoffvhhoEpt\n",
2435
              "dfca+/0IyrC414y4weK5555TUlKSZsyYoStXrgS6nDbF/g++/b98+XJNnDhRV69eVW1trfr06eN7\n",
2436
              "zWym6wfdF2P/wiuvvKKkpCR9//vfV2lpabP7CcqwCHb79+/XyZMndezYMUVERCgnJyfQJaENBdv+\n",
2437
              "X7JkiUpKSlRUVBToUtrcV8e+YcMGnTlzRidPntS3v/1tfec732l+Z610muyBUllZaYSFhRm1tbWG\n",
2438
              "YRhGQ0OD0bt3b+P8+fMBrqzt/etf/zK6desW6DJs9+Xz9MG2/+91jaKj7/833njDGDJkiPH555/7\n",
2439
              "tnXp0sWoqKjwrQ8dOtTYu3dvAKqzV2Nj/yqn02n8+9//blZ/QXlk0dwZcTui//73v7p+/bpvfdOm\n",
2440
              "TRo8eHDgCgoA9v9133pH3v/Lli3Tpk2btHfvXvXo0cO3/Xvf+57vkQiHDx/WpUuXlJ6eHqAq7dHY\n",
2441
              "2Ovq6lRZWelrs23bNvXu3Vvh4eHN6jNop/s4e/aspk+frqtXr8rlcmndunVKSkoKdFm2Ky0tVVZW\n",
2442
              "lurr62UYhuLi4rR8+XLFxsYGujRb5OXladeuXbp8+bLCw8MVFhamkpKSoNj/jY39L3/5S1Dsf4/H\n",
2443
              "o759+youLk5hYWGS7syPdOjQIVVWVuqHP/yhLl68qIceeki/+c1vNGbMmABX3HqaGvv777+v9PR0\n",
2444
              "eb1ederUSREREVq2bJmSk5Ob1W/QhgUAoPmC8jQUAMAawgIAYIqwAACYIiwAAKYICwCAKcICAGCK\n",
2445
              "sAAAmCIsAACmCAsAgCnCAgBgirAAAJj6P2zzrqKZhleJAAAAAElFTkSuQmCC\n",
2446
              "\">\n",
2447
              "        \n",
2448
              "      </div>\n",
2449
              "      <script></script>\n",
2450
              "      <script type=\"text/javascript\">\n",
2451
              "        (() => {\n",
2452
              "          const chartElement = document.getElementById(\"chart-f1d9ad68-95de-4e16-aa2c-ecd0ed077302\");\n",
2453
              "          async function getCodeForChartHandler(event) {\n",
2454
              "            const chartCodeResponse =  await google.colab.kernel.invokeFunction(\n",
2455
              "                'getCodeForChart', [\"chart-f1d9ad68-95de-4e16-aa2c-ecd0ed077302\"], {});\n",
2456
              "            const responseJson = chartCodeResponse.data['application/json'];\n",
2457
              "            await google.colab.notebook.addCell(responseJson.code, 'code');\n",
2458
              "          }\n",
2459
              "          chartElement.onclick = getCodeForChartHandler;\n",
2460
              "        })();\n",
2461
              "      </script>\n",
2462
              "      <style>\n",
2463
              "        .colab-quickchart-chart-with-code  {\n",
2464
              "            display: block;\n",
2465
              "            float: left;\n",
2466
              "            border: 1px solid transparent;\n",
2467
              "        }\n",
2468
              "\n",
2469
              "        .colab-quickchart-chart-with-code:hover {\n",
2470
              "            cursor: pointer;\n",
2471
              "            border: 1px solid #aaa;\n",
2472
              "        }\n",
2473
              "      </style>"
2474
            ]
2475
          },
2476
          "metadata": {}
2477
        },
2478
        {
2479
          "output_type": "display_data",
2480
          "data": {
2481
            "text/plain": [
2482
              "<google.colab._quickchart_helpers.SectionTitle at 0x7cdbda541570>"
2483
            ],
2484
            "text/html": [
2485
              "<h4 class=\"colab-quickchart-section-title\">Time series</h4>\n",
2486
              "<style>\n",
2487
              "  .colab-quickchart-section-title {\n",
2488
              "      clear: both;\n",
2489
              "  }\n",
2490
              "</style>"
2491
            ]
2492
          },
2493
          "metadata": {}
2494
        },
2495
        {
2496
          "output_type": "display_data",
2497
          "data": {
2498
            "text/plain": [
2499
              "import numpy as np\n",
2500
              "from google.colab import autoviz\n",
2501
              "\n",
2502
              "def time_series_multiline(df, timelike_colname, value_colname, series_colname, figscale=1, mpl_palette_name='Dark2'):\n",
2503
              "  from matplotlib import pyplot as plt\n",
2504
              "  import seaborn as sns\n",
2505
              "  figsize = (10 * figscale, 5.2 * figscale)\n",
2506
              "  palette = list(sns.palettes.mpl_palette(mpl_palette_name))\n",
2507
              "  def _plot_series(series, series_name, series_index=0):\n",
2508
              "    if value_colname == 'count()':\n",
2509
              "      counted = (series[timelike_colname]\n",
2510
              "                 .value_counts()\n",
2511
              "                 .reset_index(name='counts')\n",
2512
              "                 .rename({'index': timelike_colname}, axis=1)\n",
2513
              "                 .sort_values(timelike_colname, ascending=True))\n",
2514
              "      xs = counted[timelike_colname]\n",
2515
              "      ys = counted['counts']\n",
2516
              "    else:\n",
2517
              "      xs = series[timelike_colname]\n",
2518
              "      ys = series[value_colname]\n",
2519
              "    plt.plot(xs, ys, label=series_name, color=palette[series_index % len(palette)])\n",
2520
              "\n",
2521
              "  fig, ax = plt.subplots(figsize=figsize, layout='constrained')\n",
2522
              "  df = df.sort_values(timelike_colname, ascending=True)\n",
2523
              "  if series_colname:\n",
2524
              "    for i, (series_name, series) in enumerate(df.groupby(series_colname)):\n",
2525
              "      _plot_series(series, series_name, i)\n",
2526
              "    fig.legend(title=series_colname, bbox_to_anchor=(1, 1), loc='upper left')\n",
2527
              "  else:\n",
2528
              "    _plot_series(df, '')\n",
2529
              "  sns.despine(fig=fig, ax=ax)\n",
2530
              "  plt.xlabel(timelike_colname)\n",
2531
              "  plt.ylabel(value_colname)\n",
2532
              "  return autoviz.MplChart.from_current_mpl_state()\n",
2533
              "\n",
2534
              "chart = time_series_multiline(_df_2, *['index', 'count()', None], **{})\n",
2535
              "chart"
2536
            ],
2537
            "text/html": [
2538
              "      <div class=\"colab-quickchart-chart-with-code\" id=\"chart-6f27e1e2-13ed-4911-84dd-fd64d306e6d4\">\n",
2539
              "        <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAf8AAAEPCAYAAABMY82nAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90\n",
2540
              "bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9h\n",
2541
              "AAAPYQGoP6dpAAAY/UlEQVR4nO3deVCU9x3H8c8Cuh4VNIpHiuuKiEZF8WLiEdEmHTGNRMUYm6ol\n",
2542
              "9cCZOFqp1TgNjSatJo3FUJMO2nFs1ampVZNxtO201VbxaNEq2uIRUXHBCB6jYKwgx9M/nOx04xFW\n",
2543
              "93GF3/s188x0dx+f/e4zT/NmHx52HZZlWQIAAMYICfYAAADg0SL+AAAYhvgDAGAY4g8AgGGIPwAA\n",
2544
              "hiH+AAAYhvgDAGAY4g8AgGEafPyzsrKCPQIAAI+VBh//c+fOBXsEAAAeKw0+/gAAwBfxBwDAMMQf\n",
2545
              "AADDEH8AAAxD/AEAMAzxBwDAMMQfAADDEH8AAAxD/AEAMAzxBwDAMMQfAADDEH8AAAxD/AEAMAzx\n",
2546
              "BwDAMMQfAADDEH8AAAxD/AEAMAzxBwDAMMQfAADDEH8AAAxD/AEAMAzxBwDAMMQfAADDEH8AAAxD\n",
2547
              "/AEAMIyt8Z89e7bcbrccDofy8vLuud7q1avVtWtXdenSRdOnT1dVVZXP45Zl6Rvf+IZatmxp57gA\n",
2548
              "ABjB1viPHz9ee/bsUadOne65ztmzZ5WRkaGcnBwVFBSotLRUq1at8lln+fLl6tKli52jAgBgDFvj\n",
2549
              "P2zYMEVFRd13nU2bNik5OVnt27eXw+HQzJkztWHDBu/j+fn5+uSTT/T6669/5fNVVlaqvLzcZ6mp\n",
2550
              "qXno1wEAQEMS9N/5ezwenzMDbrdbHo9HklRVVaXp06dr5cqVCg0N/cptLV26VBERET5Lbm6ubbMD\n",
2551
              "AFAfBT3+97N48WKNGzdOTz31VJ3WX7hwocrKynyWhIQEm6cEAKB+CQv2AC6XS6dPn/beLiwslMvl\n",
2552
              "kiTt2rVLHo9HH3zwgaqrq1VeXi63260DBw4oMjLyjm05nU45nU6f++pyxgAAAJME/Z1/SkqKtm7d\n",
2553
              "qpKSElmWpezsbE2cOFGSlJOTo3PnzqmwsFB79uxReHi4CgsL7xp+AABQN7bGPy0tTVFRUSouLtbI\n",
2554
              "kSMVExMjSZo2bZq2bt0qSYqOjtbixYs1ZMgQxcTEKDIyUmlpaXaOBQCA0RyWZVnBHsJO6enpyszM\n",
2555
              "DPYYAAA8NoJ+2h8AADxaxB8AAMMQfwAADEP8AQAwDPEHAMAwxB8AAMMQfwAADEP8AQAwDPEHAMAw\n",
2556
              "xB8AAMMQfwAADEP8AQAwDPEHAMAwxB8AAMMQfwAADEP8AQAwDPEHAMAwxB8AAMMQfwAADEP8AQAw\n",
2557
              "DPEHAMAwxB8AAMMQfwAADEP8AQAwDPEHAMAwxB8AAMMQfwAADEP8AQAwDPEHAMAwxB8AAMMQfwAA\n",
2558
              "DGNr/GfPni232y2Hw6G8vLx7rrd69Wp17dpVXbp00fTp01VVVSVJ2rlzpxISEtSjRw/17NlT8+fP\n",
2559
              "V21trZ0jAwDQ4Nka//Hjx2vPnj3q1KnTPdc5e/asMjIylJOTo4KCApWWlmrVqlWSpFatWumjjz7S\n",
2560
              "sWPH9K9//Uv79u3T2rVr7RwZAIAGz9b4Dxs2TFFRUfddZ9OmTUpOTlb79u3lcDg0c+ZMbdiwQZLU\n",
2561
              "t29fRUdHS5KaNGmi+Ph4FRYW2jkyAAANXliwB/B4PD5nBtxutzwezx3rlZSUaNOmTdq2bds9t1VZ\n",
2562
              "WanKykqf+2pqagI3LAAADUC9uOCvvLxco0eP1vz58zVgwIB7rrd06VJFRET4LLm5uY9wUgAAHn9B\n",
2563
              "j7/L5dK5c+e8twsLC+Vyuby3r1+/rqSkJL344otKT0+/77YWLlyosrIynyUhIcG22QEAqI+CHv+U\n",
2564
              "lBRt3bpVJSUlsixL2dnZmjhxoiTp888/V1JSkpKSkvTGG2985bacTqfCw8N9ltDQULtfAgAA9Yqt\n",
2565
              "8U9LS1NUVJSKi4s1cuRIxcTESJKmTZumrVu3SpKio6O1ePFiDRkyRDExMYqMjFRaWpokKSsrS7m5\n",
2566
              "udqyZYvi4+MVHx+vn/70p3aODABAg+ewLMsK9hB2Sk9PV2ZmZrDHAADgsRH00/4AAODRIv4AABiG\n",
2567
              "+AMAYBjiDwCAYYg/AACGIf4AABiG+AMAYBjiDwCAYYg/AACGIf4AABiG+AMAYBjiDwCAYYg/AACG\n",
2568
              "If4AABiG+AMAYBjiDwCAYYg/AACGCXuQf3Ts2DEVFxeradOmiouLU8uWLQM8FgAAsEud43/9+nUt\n",
2569
              "W7ZMv/rVr9SsWTO1a9dOFRUVOn36tBISErRgwQI9++yzds4KAAACoM7xHzFihKZMmaLDhw+rXbt2\n",
2570
              "3vtra2uVk5Oj7OxsFRQUKC0tzZZBAQBAYNQ5/nv37pXT6bzj/pCQECUmJioxMVGVlZUBHQ4AAARe\n",
2571
              "nS/4u1v4H2QdAAAQXHWO/wsvvKB9+/bd9bFr167p5z//uVauXBmwwQAAgD3qfNp/yZIlWrhwoY4d\n",
2572
              "O6aBAwd6L/g7ceKEzp8/r9dee03f+9737JwVAAAEQJ3j37t3b23fvl1FRUXatWuXiouL1axZM33n\n",
2573
              "O9/R0KFDFRb2QH81CAAAHjG/i3316lVNmjTJ576jR4+qd+/eARsKAADYx+9P+EtNTa3TfQAA4PFU\n",
2574
              "53f+Fy9eVElJiW7evKl///vfsixLklRWVqYbN27YNiAAAAisOsd/w4YNev/99/XZZ58pOTnZe39E\n",
2575
              "RITmz59vy3AAACDw6hz/OXPmaM6cOXr77beVkZFh50wAAMBGfl/wl5GRodraWpWUlKi6utp7v8vl\n",
2576
              "CuhgAADAHn5f8Peb3/xGLVu2VFxcnPr376/+/ftrwIABd1139uzZcrvdcjgcysvLu+c2V69era5d\n",
2577
              "u6pLly6aPn26qqqq6vQYAADwn9/xf+utt3TgwAFduXJFly5d0qVLl3Tx4sW7rjt+/Hjt2bNHnTp1\n",
2578
              "uuf2zp49q4yMDOXk5KigoEClpaVatWrVVz4GAAAejN+n/du0aaNu3brVad1hw4Z95TqbNm1ScnKy\n",
2579
              "2rdvL0maOXOmlixZotdee+2+jz1qlmXpZjVnHQAAD69pWCM5HI6gPb/f8R8zZozef/99vfLKK2rS\n",
2580
              "pIn3/vDw8AcawOPx+JwZcLvd8ng8X/nY3VRWVt7xzYI1NTUPNNeX3ayuUuz6HwdkWwAAs3066S01\n",
2581
              "a9Q4aM/v92n/H/3oR0pPT1f79u3VqlUrtWzZUq1atbJjNr8tXbpUERERPktubm6wxwIA4LHi9zv/\n",
2582
              "2tragA7gcrl0+vRp7+3CwkLvXw7c77G7WbhwodLT033uC9SfJTYNa6RPJ70VkG0BAMzWNKxRUJ8/\n",
2583
              "6N/Gk5KSoqFDh2rRokVq166dsrOzNXHixK987G6cTqecTqfPfaGhoQGZ0+FwBPUUDQAAgeL3af+Q\n",
2584
              "kBCFhobesdxNWlqaoqKiVFxcrJEjRyomJkaSNG3aNG3dulWSFB0drcWLF2vIkCGKiYlRZGSk0tLS\n",
2585
              "vvIxAADwYBzWFx/SX0f//zn+N2/e1Nq1a1VTU6Mf/vCHAR8uENLT05WZmRnsMQAAeGz4/c6/efPm\n",
2586
              "3qVNmzZKT0/Xpk2b7JgNAADYwO/4f9mJEyd0+fLlQMwCAAAeAb8v+GvVqpX3gwm++Gz/FStWBHYq\n",
2587
              "AABgG7/j//+f0R8WFqb27dsH7Ip6AABgP7/j36lTJ/33v//1/hDQqlUrNWvWLNBzAQAAm/gd/337\n",
2588
              "9iklJcX7efulpaXavHmzBg0aFPDhAABA4Pkd/y+u7h8yZIik2z8MzJ07V//4xz8CPhwAAAg8v6/2\n",
2589
              "v3nzpjf8kjR48GBVVFQEdCgAAGAfv+P/ta99TX/961+9t3fs2KHmzZsHdCgAAGAfv0/7/+IXv9C4\n",
2590
              "ceO8V/jX1tZqy5YtAR8MAADYw+/4f/bZZzp48KBKS0slSe3ateNrcwEAqEf8Pu2fkZGhyMhI9erV\n",
2591
              "S7169VKbNm0C9rW5AADAfg/98b4Oh0M1NTWBmAUAADwCfse/RYsW2rdvn/f23r171aJFi4AOBQAA\n",
2592
              "7OP37/x/9rOfaezYserevbsk6dSpU/r4448DPhgAALCH3/EfNGiQjh8/rv3790u6/Xf+LVu2DPRc\n",
2593
              "AADAJn7HX7r9ef7PP/98oGcBAACPwENf8AcAAOoX4g8AgGGIPwAAhiH+AAAYhvgDAGAY4g8AgGGI\n",
2594
              "PwAAhiH+AAAYhvgDAGAY4g8AgGGIPwAAhiH+AAAYhvgDAGAY4g8AgGFsjf+pU6c0ePBgxcbGauDA\n",
2595
              "gcrPz79jndraWs2bN0+9evVS9+7dNXXqVN26dcv7+LvvvqsePXooPj5eTz/9tHJzc+0cGQCABs/W\n",
2596
              "+KelpWnGjBn69NNPtWDBAqWmpt6xzurVq3Xo0CEdOnRIx48fV0hIiLKysiRJeXl5+uUvf6nc3Fzl\n",
2597
              "5eVp1qxZmjVrlp0jAwDQ4NkW/4sXL+rgwYOaNGmSJCklJUVFRUUqKCjwWe/IkSN67rnn1LhxYzkc\n",
2598
              "Do0aNUrr1q2TJDkcDlVVVenGjRuSpGvXrikqKsqukQEAMEKYXRsuKipShw4dFBZ2+ykcDodcLpc8\n",
2599
              "Ho9iYmK86/Xv318rV67UrFmz1LRpU23cuFGFhYWSpD59+mju3Lnq3LmznnjiCTmdTu3evfuez1lZ\n",
2600
              "WanKykqf+2pqagL/4gAAqMeCfsFfamqqkpKSlJiYqMTERMXGxnp/YDh79qy2bNmigoICFRcXa+7c\n",
2601
              "uXr55Zfvua2lS5cqIiLCZ+EaAQAAfNkW/44dO+rChQuqrq6WJFmWJY/HI5fL5bOew+HQokWLdPjw\n",
2602
              "Ye3bt089evRQz549JUmbN29WXFycnnzySUnSq6++qr179/pcEPj/Fi5cqLKyMp8lISHBrpcIAEC9\n",
2603
              "ZFv827Ztq379+mn9+vWSboc8KirK55S/JFVUVOjq1auSpMuXL+udd97R/PnzJUnR0dHau3evPv/8\n",
2604
              "c0nStm3bFBsbq8aNG9/1OZ1Op8LDw32W0NBQu14iAAD1km2/85eklStXKjU1VUuWLFF4eLjWrFkj\n",
2605
              "SZo2bZqSk5OVnJyssrIyDR8+XCEhIaqtrdWcOXM0evRoSdLYsWN14MABDRgwQE6nU82bN9dvf/tb\n",
2606
              "O0cGAKDBc1iWZQV7CDulp6crMzMz2GMAAPDYCPoFfwAA4NEi/gAAGIb4AwBgGOIPAIBhiD8AAIYh\n",
2607
              "/gAAGIb4AwBgGOIPAIBhiD8AAIYh/gAAGIb4AwBgGOIPAIBhiD8AAIYh/gAAGIb4AwBgGOIPAIBh\n",
2608
              "iD8AAIYh/gAAGIb4AwBgGOIPAIBhiD8AAIYh/gAAGIb4AwBgGOIPAIBhiD8AAIYh/gAAGIb4AwBg\n",
2609
              "GOIPAIBhiD8AAIYh/gAAGIb4AwBgGFvjf+rUKQ0ePFixsbEaOHCg8vPz71intrZW8+bNU69evdS9\n",
2610
              "e3dNnTpVt27d8j7u8Xg0evRodevWTT169NCKFSvsHBkAgAbP1vinpaVpxowZ+vTTT7VgwQKlpqbe\n",
2611
              "sc7q1at16NAhHTp0SMePH1dISIiysrIkSZZlaezYsZoyZYpOnjypY8eOacKECXaODABAg2db/C9e\n",
2612
              "vKiDBw9q0qRJkqSUlBQVFRWpoKDAZ70jR47oueeeU+PGjeVwODRq1CitW7dOkrRjxw45nU699NJL\n",
2613
              "3vXbtWtn18gAABjBtvgXFRWpQ4cOCgsLkyQ5HA65XC55PB6f9fr376+tW7eqvLxcVVVV2rhxowoL\n",
2614
              "CyVJx44dU2RkpCZOnKi+fftq7NixOnPmzD2fs7KyUuXl5T5LTU2NXS8RAIB6KegX/KWmpiopKUmJ\n",
2615
              "iYlKTExUbGys9weG6upq7dy5UxkZGTp8+LBGjhx539P+S5cuVUREhM+Sm5v7qF4KAAD1gm3x79ix\n",
2616
              "oy5cuKDq6mpJt39/7/F45HK5fNZzOBxatGiRDh8+rH379qlHjx7q2bOnJMnlcqlv377e25MnT9ah\n",
2617
              "Q4dUVVV11+dcuHChysrKfJaEhAS7XiIAAPWSbfFv27at+vXrp/Xr10uSNm/erKioKMXExPisV1FR\n",
2618
              "oatXr0qSLl++rHfeeUfz58+XJI0aNUrFxcU6f/68JOkPf/iDnnrqKTVq1Oiuz+l0OhUeHu6zhIaG\n",
2619
              "2vUSAQCol8Ls3PjKlSuVmpqqJUuWKDw8XGvWrJEkTZs2TcnJyUpOTlZZWZmGDx+ukJAQ1dbWas6c\n",
2620
              "ORo9erQkqXnz5srOzta3vvUtWZaliIgIffTRR3aODABAg+ewLMsK9hB2Sk9PV2ZmZrDHAADgsRH0\n",
2621
              "C/4AAMCjRfwBADAM8QcAwDDEHwAAwxB/AAAMQ/wBADAM8QcAwDDEHwAAwxB/AAAMQ/wBADAM8QcA\n",
2622
              "wDDEHwAAwxB/AAAMQ/wBADAM8QcAwDDEHwAAwxB/AAAMQ/wBADAM8QcAwDDEHwAAwxB/AAAMQ/wB\n",
2623
              "ADAM8QcAwDDEHwAAwxB/AAAM47Asywr2EHYaN26c3G53QLZVU1Oj3NxcJSQkKDQ0NCDbNBn7M3DY\n",
2624
              "l4HF/gws9mdgfXl/durUSXPmzPFrGw0+/oFUXl6uiIgIlZWVKTw8PNjj1Hvsz8BhXwYW+zOw2J+B\n",
2625
              "FYj9yWl/AAAMQ/wBADAM8QcAwDDE3w9Op1NvvvmmnE5nsEdpENifgcO+DCz2Z2CxPwMrEPuTC/4A\n",
2626
              "ADAM7/wBADAM8QcAwDDEHwAAwxD/Ojp16pQGDx6s2NhYDRw4UPn5+cEeqV5zu93q1q2b4uPjFR8f\n",
2627
              "r9/97nfBHqlemT17ttxutxwOh/Ly8rz3c5z67177kmP0wVRUVGjMmDGKjY1Vnz599M1vflMFBQWS\n",
2628
              "pIsXLyopKUldu3ZVr169tHv37iBP+3i7374cPny4Onfu7D0+ly9f7t/GLdTJiBEjrDVr1liWZVm/\n",
2629
              "//3vrQEDBgR3oHquU6dO1uHDh4M9Rr21a9cuq6io6I79yHHqv3vtS47RB3Pz5k1r+/btVm1trWVZ\n",
2630
              "lrVixQorMTHRsizLevXVV60333zTsizLys3Ntb7+9a9bt27dCtKkj7/77cvExETr448/fuBt886/\n",
2631
              "Di5evKiDBw9q0qRJkqSUlBQVFRV5fwIDHrVhw4YpKirK5z6O0wdzt32JB9ekSRM9//zzcjgckqSn\n",
2632
              "n35ahYWFkqSNGzdq5syZkqSBAwfqySef1K5du4I16mPvfvvyYRH/OigqKlKHDh0UFhYmSXI4HHK5\n",
2633
              "XPJ4PEGerH6bMmWK4uLiNHXqVF26dCnY49R7HKeBxzH68LKysvTiiy/qypUrqqqqUvv27b2Pud1u\n",
2634
              "jk8/fLEvv/D6668rLi5OL7/8ss6cOePXtog/gmL37t06evSoDh06pDZt2ui73/1usEcCfHCMPrwl\n",
2635
              "S5aooKBAS5cuDfYo9d6X9+W6det04sQJHT16VM8884xeeOEFv7ZH/OugY8eOunDhgqqrqyVJlmXJ\n",
2636
              "4/HI5XIFebL664t916hRI33/+99XTk5OkCeq/zhOA4tj9OEsW7ZMW7Zs0R//+Ec1a9ZMrVu3VlhY\n",
2637
              "mEpKSrzrFBYWcnzWwZf3pXT7/+/S7TN8s2bN0pkzZ3TlypU6b5P410Hbtm3Vr18/rV+/XpK0efNm\n",
2638
              "RUVFKSYmJsiT1U83btzQtWvXvLc3bNigvn37Bm+gBoLjNHA4Rh9OZmamNmzYoL/85S9q2bKl9/6X\n",
2639
              "XnpJ2dnZkqQDBw7o/PnzSkxMDNKU9cPd9mV1dbVKS0u962zevFnt2rVT69at67xdPt63jk6ePKnU\n",
2640
              "1FRduXJF4eHhWrNmjeLi4oI9Vr105swZpaSkqKamRpZlKTo6WllZWXK73cEerd5IS0vT9u3bVVJS\n",
2641
              "otatW6tFixYqKCjgOH0Ad9uXf/7znzlGH1BxcbE6duyo6OhotWjRQtLtz6L/5z//qdLSUk2ePFln\n",
2642
              "z55V48aN9cEHH2jEiBFBnvjxda99uXPnTiUmJqqyslIhISFq06aNMjMz1adPnzpvm/gDAGAYTvsD\n",
2643
              "AGAY4g8AgGGIPwAAhiH+AO4qPj5e169f9/vfjR8/Xr/+9a8DPxCAgAkL9gAAHk///yU3ABoW3vkD\n",
2644
              "uCuHw+H9W3e3260f//jHGjRokDp37qyf/OQn3vVOnDihwYMHq2fPnhozZozKy8u9j12/fl3Tp09X\n",
2645
              "QkKCevfurRkzZujWrVs6efKkoqKivB9JumzZMiUlJam2tvaRvkbAVMQfQJ1cu3ZN+/fv14EDB/Te\n",
2646
              "e+/p/PnzkqTJkydr6tSpys/P19tvv+3zRS0/+MEP9Mwzzyg3N1dHjhxRbW2tsrKy1K1bN7333nua\n",
2647
              "MGGC/v73v+vDDz/UunXrFBLCf5KAR4HT/gDq5JVXXpEktWnTRtHR0Tp79qxatGihvLw8paamSpLi\n",
2648
              "4uI0dOhQ77/55JNPtH//fmVmZkqSbt68qdDQUEnSt7/9bf3tb3/TyJEjtWPHDkVGRj7aFwQYjPgD\n",
2649
              "qJMmTZp4/3doaKj3OwS+7IuvH5Vuf7/A5s2bFRsbe8d61dXV+s9//qMnnnjCexYBwKPBOTYADyw8\n",
2650
              "PFx9+/bV2rVrJUn5+fnas2eP9/ExY8bo3Xff9f6gcPXqVRUUFEi6/XWk3bp1U05OjubNm+e9H4D9\n",
2651
              "iD+Ah7J27VqtWrVKvXr10htvvKFhw4Z5H1u+fLmaNm2q+Ph49e7dW88++6wKCwu1bds2/elPf9KH\n",
2652
              "H36omJgYZWZmasKECaqoqAjiKwHMwWf7AwBgGN75AwBgGOIPAIBhiD8AAIYh/gAAGIb4AwBgGOIP\n",
2653
              "AIBhiD8AAIYh/gAAGIb4AwBgGOIPAIBh/gdT0TI3fq3c8gAAAABJRU5ErkJggg==\n",
2654
              "\">\n",
2655
              "        \n",
2656
              "      </div>\n",
2657
              "      <script></script>\n",
2658
              "      <script type=\"text/javascript\">\n",
2659
              "        (() => {\n",
2660
              "          const chartElement = document.getElementById(\"chart-6f27e1e2-13ed-4911-84dd-fd64d306e6d4\");\n",
2661
              "          async function getCodeForChartHandler(event) {\n",
2662
              "            const chartCodeResponse =  await google.colab.kernel.invokeFunction(\n",
2663
              "                'getCodeForChart', [\"chart-6f27e1e2-13ed-4911-84dd-fd64d306e6d4\"], {});\n",
2664
              "            const responseJson = chartCodeResponse.data['application/json'];\n",
2665
              "            await google.colab.notebook.addCell(responseJson.code, 'code');\n",
2666
              "          }\n",
2667
              "          chartElement.onclick = getCodeForChartHandler;\n",
2668
              "        })();\n",
2669
              "      </script>\n",
2670
              "      <style>\n",
2671
              "        .colab-quickchart-chart-with-code  {\n",
2672
              "            display: block;\n",
2673
              "            float: left;\n",
2674
              "            border: 1px solid transparent;\n",
2675
              "        }\n",
2676
              "\n",
2677
              "        .colab-quickchart-chart-with-code:hover {\n",
2678
              "            cursor: pointer;\n",
2679
              "            border: 1px solid #aaa;\n",
2680
              "        }\n",
2681
              "      </style>"
2682
            ]
2683
          },
2684
          "metadata": {}
2685
        }
2686
      ]
2687
    },
2688
    {
2689
      "cell_type": "code",
2690
      "source": [
2691
        "df['text'][15]"
2692
      ],
2693
      "metadata": {
2694
        "colab": {
2695
          "base_uri": "https://localhost:8080/",
2696
          "height": 35
2697
        },
2698
        "id": "3mr4WrwHZ0pv",
2699
        "outputId": "6934e624-7111-4fe1-cdf2-74e0d4bff778"
2700
      },
2701
      "execution_count": 7,
2702
      "outputs": [
2703
        {
2704
          "output_type": "execute_result",
2705
          "data": {
2706
            "text/plain": [
2707
              "'###Human:\\ngenerate a midjourney prompt for A turtle sunbathing on a rock\\n\\n###Assistant:\\nA turtle with sunglasses on, sunbathing on a rock, with a mini fan and a drink beside it.'"
2708
            ],
2709
            "application/vnd.google.colaboratory.intrinsic+json": {
2710
              "type": "string"
2711
            }
2712
          },
2713
          "metadata": {},
2714
          "execution_count": 7
2715
        }
2716
      ]
2717
    },
2718
    {
2719
      "cell_type": "markdown",
2720
      "source": [
2721
        "## Step 4: Overview of AutoTrain command\n",
2722
        "\n",
2723
        "#### Short overview of what the command flags do.\n",
2724
        "\n",
2725
        "- `!autotrain`: Command executed in environments like a Jupyter notebook to run shell commands directly. `autotrain` is an automatic training utility.\n",
2726
        "\n",
2727
        "- `llm`: A sub-command or argument specifying the type of task\n",
2728
        "\n",
2729
        "- `--train`: Initiates the training process.\n",
2730
        "\n",
2731
        "- `--project_name`: Sets the name of the project\n",
2732
        "\n",
2733
        "- `--model abhishek/llama-2-7b-hf-small-shards`: Specifies original model that is hosted on Hugging Face named \"llama-2-7b-hf-small-shards\" under the \"abhishek\".\n",
2734
        "\n",
2735
        "- `--data_path .`: The path to the dataset for training. The \".\" refers to the current directory. The `train.csv` file needs to be located in this directory.\n",
2736
        "\n",
2737
        "- `--use_int4`: Use of INT4 quantization to reduce model size and speed up inference times at the cost of some precision.\n",
2738
        "\n",
2739
        "- `--learning_rate 2e-4`: Sets the learning rate for training to 0.0002.\n",
2740
        "\n",
2741
        "- `--train_batch_size 12`: Sets the batch size for training to 12.\n",
2742
        "\n",
2743
        "- `--num_train_epochs 3`: The training process will iterate over the dataset 3 times.\n",
2744
        "\n",
2745
        "### Steps needed before running\n",
2746
        "Go to the `!autotrain` code cell below and update it by following the steps below:\n",
2747
        "\n",
2748
        "1. After `--project_name` replace `*enter-a-project-name*` with the name that you'd like to call the project\n",
2749
        "2. After `--repo_id` replace `*username*/*repository*`. Replace `*username*` with your Hugging Face username and `*repository*` with the repository name you'd like it to be created under. You don't need to create this repository before hand, it will automatically be created and uploaded once the training is completed.\n",
2750
        "3. Confirm that `train.csv` is in the root directory in the Colab. The `--data_path .` flag will make it so that AutoTrain looks for your data there.\n",
2751
        "4. Make sure to add the LoRA Target Modules to be trained `--target-modules q_proj, v_proj`\n",
2752
        "5. Once you've made these changes you're all set, run the command below!"
2753
      ],
2754
      "metadata": {
2755
        "id": "LEFbHxoPaDE_"
2756
      }
2757
    },
2758
    {
2759
      "cell_type": "code",
2760
      "source": [
2761
        "!autotrain llm --train --project_name mistral-7b-mj-finetuned --model bn22/Mistral-7B-Instruct-v0.1-sharded --data_path . --use_peft --use_int4 --learning_rate 2e-4 --train_batch_size 12 --num_train_epochs 3 --trainer sft --target_modules q_proj,v_proj --push_to_hub --repo_id ashishpatel26/mistral-7b-mj-finetuned"
2762
      ],
2763
      "metadata": {
2764
        "id": "wFS31VJsZ-pa"
2765
      },
2766
      "execution_count": 8,
2767
      "outputs": []
2768
    },
2769
    {
2770
      "cell_type": "markdown",
2771
      "source": [
2772
        "## Step 5: Completed 🎉\n",
2773
        "After the command above is completed your Model will be uploaded to Hugging Face.\n",
2774
        "\n",
2775
        "#### Learn more about AutoTrain (optional)\n",
2776
        "If you want to learn more about what command-line flags are available"
2777
      ],
2778
      "metadata": {
2779
        "id": "gEf6G0iPc0Nr"
2780
      }
2781
    },
2782
    {
2783
      "cell_type": "markdown",
2784
      "source": [
2785
        "## Step 6: Inference Engine"
2786
      ],
2787
      "metadata": {
2788
        "id": "FIoxuAEAfJ4z"
2789
      }
2790
    },
2791
    {
2792
      "cell_type": "code",
2793
      "source": [
2794
        "!autotrain llm -h"
2795
      ],
2796
      "metadata": {
2797
        "id": "aYsYyXmrc0xu"
2798
      },
2799
      "execution_count": 9,
2800
      "outputs": []
2801
    },
2802
    {
2803
      "cell_type": "code",
2804
      "source": [
2805
        "!pip install -q peft  accelerate bitsandbytes safetensors"
2806
      ],
2807
      "metadata": {
2808
        "id": "5m1ouhWhc2fr"
2809
      },
2810
      "execution_count": 1,
2811
      "outputs": []
2812
    },
2813
    {
2814
      "cell_type": "code",
2815
      "source": [
2816
        "import torch\n",
2817
        "from peft import PeftModel\n",
2818
        "from transformers import AutoModelForCausalLM, AutoTokenizer\n",
2819
        "import transformers\n",
2820
        "adapters_name = \"ashishpatel26/mistral-7b-mj-finetuned\"\n",
2821
        "model_name = \"bn22/Mistral-7B-Instruct-v0.1-sharded\" #\"mistralai/Mistral-7B-Instruct-v0.1\"\n",
2822
        "\n",
2823
        "\n",
2824
        "device = \"cuda\" # the device to load the model onto"
2825
      ],
2826
      "metadata": {
2827
        "id": "8s-nDnnPc--U"
2828
      },
2829
      "execution_count": 2,
2830
      "outputs": []
2831
    },
2832
    {
2833
      "cell_type": "code",
2834
      "source": [
2835
        "bnb_config = transformers.BitsAndBytesConfig(\n",
2836
        "    load_in_4bit=True,\n",
2837
        "    bnb_4bit_use_double_quant=True,\n",
2838
        "    bnb_4bit_quant_type=\"nf4\",\n",
2839
        "    bnb_4bit_compute_dtype=torch.bfloat16\n",
2840
        ")"
2841
      ],
2842
      "metadata": {
2843
        "id": "HosPywN_dEpl"
2844
      },
2845
      "execution_count": 3,
2846
      "outputs": []
2847
    },
2848
    {
2849
      "cell_type": "code",
2850
      "source": [
2851
        "model = AutoModelForCausalLM.from_pretrained(\n",
2852
        "    model_name,\n",
2853
        "    load_in_4bit=True,\n",
2854
        "    torch_dtype=torch.bfloat16,\n",
2855
        "    quantization_config=bnb_config,\n",
2856
        "    device_map='auto'\n",
2857
        ")"
2858
      ],
2859
      "metadata": {
2860
        "colab": {
2861
          "base_uri": "https://localhost:8080/",
2862
          "height": 49,
2863
          "referenced_widgets": [
2864
            "fcb820b4909e413e98603c195818e0d4",
2865
            "6b0a6739adbe41e8a5c34f8a8868b977",
2866
            "0b9514defba84991b4f36485b7e630fb",
2867
            "6a7973751e4d4ca08ef4c53c97103868",
2868
            "0deb9610aaff49c488b6e89139fe31df",
2869
            "89f149a2080f4721a483ff535b6e6602",
2870
            "4f62c475347944d6b18ce79d125386fc",
2871
            "996db8f083904106913a3e4b4d6627c9",
2872
            "f6b2ea40822a41899aae6768c5a34c73",
2873
            "4523834103534e2b9fb804bdb5265a1e",
2874
            "3912010e0694457f9f777c1bbb996967"
2875
          ]
2876
        },
2877
        "id": "GtZx4CZUdt1f",
2878
        "outputId": "c01df71d-a70e-48d3-d651-0061856f1b57"
2879
      },
2880
      "execution_count": 4,
2881
      "outputs": [
2882
        {
2883
          "output_type": "display_data",
2884
          "data": {
2885
            "text/plain": [
2886
              "Loading checkpoint shards:   0%|          | 0/11 [00:00<?, ?it/s]"
2887
            ],
2888
            "application/vnd.jupyter.widget-view+json": {
2889
              "version_major": 2,
2890
              "version_minor": 0,
2891
              "model_id": "fcb820b4909e413e98603c195818e0d4"
2892
            }
2893
          },
2894
          "metadata": {}
2895
        }
2896
      ]
2897
    },
2898
    {
2899
      "cell_type": "markdown",
2900
      "source": [
2901
        "## Step 7: Peft Model Loading with upload model"
2902
      ],
2903
      "metadata": {
2904
        "id": "Uh5Xc0clfQkZ"
2905
      }
2906
    },
2907
    {
2908
      "cell_type": "code",
2909
      "source": [
2910
        "model = PeftModel.from_pretrained(model, adapters_name)"
2911
      ],
2912
      "metadata": {
2913
        "id": "Rt6sOPFVdvWX"
2914
      },
2915
      "execution_count": 5,
2916
      "outputs": []
2917
    },
2918
    {
2919
      "cell_type": "code",
2920
      "source": [
2921
        "tokenizer = AutoTokenizer.from_pretrained(model_name)\n",
2922
        "tokenizer.bos_token_id = 1\n",
2923
        "\n",
2924
        "stop_token_ids = [0]\n",
2925
        "\n",
2926
        "print(f\"Successfully loaded the model {model_name} into memory\")"
2927
      ],
2928
      "metadata": {
2929
        "colab": {
2930
          "base_uri": "https://localhost:8080/"
2931
        },
2932
        "id": "q3OArVILeoZH",
2933
        "outputId": "af68bc96-c9a8-4801-f8d6-5f2095101988"
2934
      },
2935
      "execution_count": 6,
2936
      "outputs": [
2937
        {
2938
          "output_type": "stream",
2939
          "name": "stderr",
2940
          "text": [
2941
            "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n"
2942
          ]
2943
        },
2944
        {
2945
          "output_type": "stream",
2946
          "name": "stdout",
2947
          "text": [
2948
            "Successfully loaded the model bn22/Mistral-7B-Instruct-v0.1-sharded into memory\n"
2949
          ]
2950
        }
2951
      ]
2952
    },
2953
    {
2954
      "cell_type": "code",
2955
      "source": [
2956
        "text = \"[INST] generate a midjourney prompt for A person walks in the rain [/INST]\"\n",
2957
        "\n",
2958
        "encoded = tokenizer(text, return_tensors=\"pt\", add_special_tokens=False)\n",
2959
        "model_input = encoded\n",
2960
        "model.to(device)\n",
2961
        "generated_ids = model.generate(**model_input, max_new_tokens=200, do_sample=True)\n",
2962
        "decoded = tokenizer.batch_decode(generated_ids)\n",
2963
        "print(decoded[0])"
2964
      ],
2965
      "metadata": {
2966
        "colab": {
2967
          "base_uri": "https://localhost:8080/"
2968
        },
2969
        "id": "ZbOOX8cve0lR",
2970
        "outputId": "3052b329-7bf5-4bb4-bec5-b71e881bbc21"
2971
      },
2972
      "execution_count": 7,
2973
      "outputs": [
2974
        {
2975
          "output_type": "stream",
2976
          "name": "stderr",
2977
          "text": [
2978
            "Setting `pad_token_id` to `eos_token_id`:2 for open-end generation.\n",
2979
            "/usr/local/lib/python3.10/dist-packages/transformers/generation/utils.py:1539: UserWarning: You are calling .generate() with the `input_ids` being on a device type different than your model's device. `input_ids` is on cpu, whereas the model is on cuda. You may experience unexpected behaviors or slower generation. Please make sure that you have put `input_ids` to the correct device by calling for example input_ids = input_ids.to('cuda') before running `.generate()`.\n",
2980
            "  warnings.warn(\n"
2981
          ]
2982
        },
2983
        {
2984
          "output_type": "stream",
2985
          "name": "stdout",
2986
          "text": [
2987
            "[INST] generate a midjourney prompt for A person walks in the rain [/INST] \"As you wander through the pouring rain, you can't help but wonder what the world would be like if things were different. What if the rain was a symbol of the turmoil in your life, and the sunshine promised a brighter future? What if you suddenly found yourself lost in a small town where time stood still, and the people were trapped in a time loop? As you struggle to find your way back to reality, you discover a mysterious stranger who seems to hold the key to unlocking the secrets of the town and your own past.\"</s>\n"
2988
          ]
2989
        }
2990
      ]
2991
    }
2992
  ]
2993
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.