tutorial.ipynb 52 KB
Newer Older
Glenn Jocher's avatar
Glenn Jocher committed
1
2
3
4
5
6
7
8
{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "YOLOv5 Tutorial",
      "provenance": [],
      "collapsed_sections": [],
Glenn Jocher's avatar
Glenn Jocher committed
9
      "toc_visible": true,
Glenn Jocher's avatar
Glenn Jocher committed
10
11
12
13
14
15
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
Glenn Jocher's avatar
Glenn Jocher committed
16
17
18
    "accelerator": "GPU",
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
Glenn Jocher's avatar
Glenn Jocher committed
19
        "2e915d9016c846e095e382b6a02ee773": {
Glenn Jocher's avatar
Glenn Jocher committed
20
21
22
23
24
25
26
27
28
29
30
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
Glenn Jocher's avatar
Glenn Jocher committed
31
            "layout": "IPY_MODEL_cb7fc3a5c6cc4fde8d2c83e594a7c86e",
Glenn Jocher's avatar
Glenn Jocher committed
32
33
            "_model_module": "@jupyter-widgets/controls",
            "children": [
Glenn Jocher's avatar
Glenn Jocher committed
34
35
              "IPY_MODEL_ac3edef4e3434f4587e6cbf8aa048770",
              "IPY_MODEL_853ac234cc2a4236946fc516871e10eb"
Glenn Jocher's avatar
Glenn Jocher committed
36
37
38
            ]
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
39
        "cb7fc3a5c6cc4fde8d2c83e594a7c86e": {
Glenn Jocher's avatar
Glenn Jocher committed
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
90
        "ac3edef4e3434f4587e6cbf8aa048770": {
Glenn Jocher's avatar
Glenn Jocher committed
91
92
93
94
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
Glenn Jocher's avatar
Glenn Jocher committed
95
            "style": "IPY_MODEL_13842ca90c0047e584b8d68d99dad2b1",
Glenn Jocher's avatar
Glenn Jocher committed
96
97
98
99
            "_dom_classes": [],
            "description": "100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
Glenn Jocher's avatar
Glenn Jocher committed
100
            "max": 818322941,
Glenn Jocher's avatar
Glenn Jocher committed
101
102
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
Glenn Jocher's avatar
Glenn Jocher committed
103
            "value": 818322941,
Glenn Jocher's avatar
Glenn Jocher committed
104
105
106
107
108
109
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
Glenn Jocher's avatar
Glenn Jocher committed
110
            "layout": "IPY_MODEL_f454999c3a924c7bad0746fb453dec36"
Glenn Jocher's avatar
Glenn Jocher committed
111
112
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
113
        "853ac234cc2a4236946fc516871e10eb": {
Glenn Jocher's avatar
Glenn Jocher committed
114
115
116
117
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
Glenn Jocher's avatar
Glenn Jocher committed
118
            "style": "IPY_MODEL_f94a7ca8c1f04761bf38fdc5f99664b8",
Glenn Jocher's avatar
Glenn Jocher committed
119
120
121
122
123
124
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
Glenn Jocher's avatar
Glenn Jocher committed
125
            "value": " 780M/780M [03:59<00:00, 3.42MB/s]",
Glenn Jocher's avatar
Glenn Jocher committed
126
127
128
129
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
Glenn Jocher's avatar
Glenn Jocher committed
130
            "layout": "IPY_MODEL_9da1a23b042c41618dd14b0e30aa7cbe"
Glenn Jocher's avatar
Glenn Jocher committed
131
132
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
133
        "13842ca90c0047e584b8d68d99dad2b1": {
Glenn Jocher's avatar
Glenn Jocher committed
134
135
136
137
138
139
140
141
142
143
144
145
146
147
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
148
        "f454999c3a924c7bad0746fb453dec36": {
Glenn Jocher's avatar
Glenn Jocher committed
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
199
        "f94a7ca8c1f04761bf38fdc5f99664b8": {
Glenn Jocher's avatar
Glenn Jocher committed
200
201
202
203
204
205
206
207
208
209
210
211
212
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
213
        "9da1a23b042c41618dd14b0e30aa7cbe": {
Glenn Jocher's avatar
Glenn Jocher committed
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
264
        "6ff8a710ded44391a624dec5c460b771": {
Glenn Jocher's avatar
Glenn Jocher committed
265
266
267
268
269
270
271
272
273
274
275
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
Glenn Jocher's avatar
Glenn Jocher committed
276
            "layout": "IPY_MODEL_3c19729b51cd45d4848035da06e96ff8",
Glenn Jocher's avatar
Glenn Jocher committed
277
278
            "_model_module": "@jupyter-widgets/controls",
            "children": [
Glenn Jocher's avatar
Glenn Jocher committed
279
280
              "IPY_MODEL_23b2f0ae3d46438c8de375987c77f580",
              "IPY_MODEL_dd9498c321a9422da6faf17a0be026d4"
Glenn Jocher's avatar
Glenn Jocher committed
281
282
283
            ]
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
284
        "3c19729b51cd45d4848035da06e96ff8": {
Glenn Jocher's avatar
Glenn Jocher committed
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
335
        "23b2f0ae3d46438c8de375987c77f580": {
Glenn Jocher's avatar
Glenn Jocher committed
336
337
338
339
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
Glenn Jocher's avatar
Glenn Jocher committed
340
            "style": "IPY_MODEL_d8dda4b2ce864fd682e558b9a48f602e",
Glenn Jocher's avatar
Glenn Jocher committed
341
342
343
344
            "_dom_classes": [],
            "description": "100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
Glenn Jocher's avatar
Glenn Jocher committed
345
            "max": 6984509,
Glenn Jocher's avatar
Glenn Jocher committed
346
347
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
Glenn Jocher's avatar
Glenn Jocher committed
348
            "value": 6984509,
Glenn Jocher's avatar
Glenn Jocher committed
349
350
351
352
353
354
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
Glenn Jocher's avatar
Glenn Jocher committed
355
            "layout": "IPY_MODEL_ff8151449e444a14869684212b9ab14e"
Glenn Jocher's avatar
Glenn Jocher committed
356
357
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
358
        "dd9498c321a9422da6faf17a0be026d4": {
Glenn Jocher's avatar
Glenn Jocher committed
359
360
361
362
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
Glenn Jocher's avatar
Glenn Jocher committed
363
            "style": "IPY_MODEL_0f84fe609bcf4aa9afdc32a8cf076909",
Glenn Jocher's avatar
Glenn Jocher committed
364
365
366
367
368
369
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
Glenn Jocher's avatar
Glenn Jocher committed
370
            "value": " 6.66M/6.66M [00:01<00:00, 6.08MB/s]",
Glenn Jocher's avatar
Glenn Jocher committed
371
372
373
374
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
Glenn Jocher's avatar
Glenn Jocher committed
375
            "layout": "IPY_MODEL_8fda673769984e2b928ef820d34c85c3"
Glenn Jocher's avatar
Glenn Jocher committed
376
377
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
378
        "d8dda4b2ce864fd682e558b9a48f602e": {
Glenn Jocher's avatar
Glenn Jocher committed
379
380
381
382
383
384
385
386
387
388
389
390
391
392
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
393
        "ff8151449e444a14869684212b9ab14e": {
Glenn Jocher's avatar
Glenn Jocher committed
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
444
        "0f84fe609bcf4aa9afdc32a8cf076909": {
Glenn Jocher's avatar
Glenn Jocher committed
445
446
447
448
449
450
451
452
453
454
455
456
457
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
458
        "8fda673769984e2b928ef820d34c85c3": {
Glenn Jocher's avatar
Glenn Jocher committed
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        }
      }
    }
Glenn Jocher's avatar
Glenn Jocher committed
511
512
513
514
515
516
517
518
519
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
520
        "<a href=\"https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
Glenn Jocher's avatar
Glenn Jocher committed
521
522
523
524
525
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
526
        "id": "t6MPjfT5NrKQ"
Glenn Jocher's avatar
Glenn Jocher committed
527
528
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
529
        "<a align=\"left\" href=\"https://ultralytics.com/yolov5\" target=\"_blank\">\n",
Glenn Jocher's avatar
Glenn Jocher committed
530
        "<img src=\"https://user-images.githubusercontent.com/26833433/125273437-35b3fc00-e30d-11eb-9079-46f313325424.png\"></a>\n",
Glenn Jocher's avatar
Glenn Jocher committed
531
        "\n",
Glenn Jocher's avatar
Glenn Jocher committed
532
        "This is the **official YOLOv5 🚀 notebook** authored by **Ultralytics**, and is freely available for redistribution under the [GPL-3.0 license](https://choosealicense.com/licenses/gpl-3.0/). \n",
533
        "For more information please visit https://github.com/ultralytics/yolov5 and https://ultralytics.com. Thank you!"
Glenn Jocher's avatar
Glenn Jocher committed
534
535
536
537
538
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
539
        "id": "7mGmQbAO5pQb"
Glenn Jocher's avatar
Glenn Jocher committed
540
541
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
542
        "# Setup\n",
Glenn Jocher's avatar
Glenn Jocher committed
543
        "\n",
Glenn Jocher's avatar
Glenn Jocher committed
544
        "Clone repo, install dependencies and check PyTorch and GPU."
Glenn Jocher's avatar
Glenn Jocher committed
545
546
547
548
549
550
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wbvMlHd_QwMG",
Glenn Jocher's avatar
Glenn Jocher committed
551
        "colab": {
Glenn Jocher's avatar
Glenn Jocher committed
552
          "base_uri": "https://localhost:8080/"
Glenn Jocher's avatar
Glenn Jocher committed
553
        },
Glenn Jocher's avatar
Glenn Jocher committed
554
        "outputId": "ada1dd8d-e0aa-4858-e893-dc320319ca30"
Glenn Jocher's avatar
Glenn Jocher committed
555
556
557
      },
      "source": [
        "!git clone https://github.com/ultralytics/yolov5  # clone repo\n",
Glenn Jocher's avatar
Glenn Jocher committed
558
        "%cd yolov5\n",
Glenn Jocher's avatar
Glenn Jocher committed
559
        "%pip install -qr requirements.txt  # install dependencies\n",
Glenn Jocher's avatar
Glenn Jocher committed
560
        "\n",
Glenn Jocher's avatar
Glenn Jocher committed
561
        "import torch\n",
Glenn Jocher's avatar
Glenn Jocher committed
562
        "from IPython.display import Image, clear_output  # to display images\n",
Glenn Jocher's avatar
Glenn Jocher committed
563
        "\n",
Glenn Jocher's avatar
Glenn Jocher committed
564
        "clear_output()\n",
Glenn Jocher's avatar
Glenn Jocher committed
565
        "print(f\"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})\")"
Glenn Jocher's avatar
Glenn Jocher committed
566
      ],
Glenn Jocher's avatar
Glenn Jocher committed
567
      "execution_count": 1,
Glenn Jocher's avatar
Glenn Jocher committed
568
569
570
571
      "outputs": [
        {
          "output_type": "stream",
          "text": [
Glenn Jocher's avatar
Glenn Jocher committed
572
            "Setup complete. Using torch 1.9.0+cu102 (Tesla V100-SXM2-16GB)\n"
Glenn Jocher's avatar
Glenn Jocher committed
573
574
575
576
          ],
          "name": "stdout"
        }
      ]
Glenn Jocher's avatar
Glenn Jocher committed
577
578
579
580
    },
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
581
        "id": "4JnkELT0cIJg"
Glenn Jocher's avatar
Glenn Jocher committed
582
583
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
584
        "# 1. Inference\n",
Glenn Jocher's avatar
Glenn Jocher committed
585
        "\n",
Glenn Jocher's avatar
Glenn Jocher committed
586
587
        "`detect.py` runs YOLOv5 inference on a variety of sources, downloading models automatically from the [latest YOLOv5 release](https://github.com/ultralytics/yolov5/releases), and saving results to `runs/detect`. Example inference sources are:\n",
        "\n",
Glenn Jocher's avatar
Glenn Jocher committed
588
        "<img align=\"left\" src=\"https://user-images.githubusercontent.com/26833433/114307955-5c7e4e80-9ae2-11eb-9f50-a90e39bee53f.png\" width=\"900\"> "
Glenn Jocher's avatar
Glenn Jocher committed
589
590
591
592
593
594
595
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zR9ZbuQCH7FX",
        "colab": {
Glenn Jocher's avatar
Glenn Jocher committed
596
          "base_uri": "https://localhost:8080/"
Glenn Jocher's avatar
Glenn Jocher committed
597
        },
Glenn Jocher's avatar
Glenn Jocher committed
598
        "outputId": "a7a37616-a82b-4bdb-a463-6ead850b5615"
Glenn Jocher's avatar
Glenn Jocher committed
599
600
      },
      "source": [
601
        "!python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/\n",
602
        "Image(filename='runs/detect/exp/zidane.jpg', width=600)"
Glenn Jocher's avatar
Glenn Jocher committed
603
      ],
Glenn Jocher's avatar
Glenn Jocher committed
604
      "execution_count": 9,
Glenn Jocher's avatar
Glenn Jocher committed
605
606
607
608
      "outputs": [
        {
          "output_type": "stream",
          "text": [
Glenn Jocher's avatar
Glenn Jocher committed
609
610
            "\u001b[34m\u001b[1mdetect: \u001b[0mweights=['yolov5s.pt'], source=data/images/, imgsz=640, conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs/detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False\n",
            "YOLOv5 🚀 v5.0-330-g18f6ba7 torch 1.9.0+cu102 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
Glenn Jocher's avatar
Glenn Jocher committed
611
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
612
            "Fusing layers... \n",
Glenn Jocher's avatar
Glenn Jocher committed
613
614
            "Model Summary: 224 layers, 7266973 parameters, 0 gradients\n",
            "image 1/2 /content/yolov5/data/images/bus.jpg: 640x480 4 persons, 1 bus, 1 fire hydrant, Done. (0.008s)\n",
Glenn Jocher's avatar
Glenn Jocher committed
615
            "image 2/2 /content/yolov5/data/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.008s)\n",
616
            "Results saved to runs/detect/exp\n",
Glenn Jocher's avatar
Glenn Jocher committed
617
            "Done. (0.091s)\n"
Glenn Jocher's avatar
Glenn Jocher committed
618
619
620
621
622
          ],
          "name": "stdout"
        }
      ]
    },
Glenn Jocher's avatar
Glenn Jocher committed
623
624
625
626
627
628
629
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "hkAzDWJ7cWTr"
      },
      "source": [
        "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n",
Glenn Jocher's avatar
Glenn Jocher committed
630
        "<img align=\"left\" src=\"https://user-images.githubusercontent.com/26833433/127574988-6a558aa1-d268-44b9-bf6b-62d4c605cc72.jpg\" width=\"600\">"
Glenn Jocher's avatar
Glenn Jocher committed
631
632
      ]
    },
Glenn Jocher's avatar
Glenn Jocher committed
633
634
635
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
636
        "id": "0eq1SMWl6Sfn"
Glenn Jocher's avatar
Glenn Jocher committed
637
638
      },
      "source": [
639
640
        "# 2. Validate\n",
        "Validate a model's accuracy on [COCO](https://cocodataset.org/#home) val or test-dev datasets. Models are downloaded automatically from the [latest YOLOv5 release](https://github.com/ultralytics/yolov5/releases). To show results by class use the `--verbose` flag. Note that `pycocotools` metrics may be ~1% better than the equivalent repo metrics, as is visible below, due to slight differences in mAP computation."
Glenn Jocher's avatar
Glenn Jocher committed
641
642
643
644
645
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
646
        "id": "eyTZYGgRjnMc"
Glenn Jocher's avatar
Glenn Jocher committed
647
648
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
649
        "## COCO val2017\n",
Glenn Jocher's avatar
Glenn Jocher committed
650
        "Download [COCO val 2017](https://github.com/ultralytics/yolov5/blob/74b34872fdf41941cddcf243951cdb090fbac17b/data/coco.yaml#L14) dataset (1GB - 5000 images), and test model accuracy."
Glenn Jocher's avatar
Glenn Jocher committed
651
652
653
654
655
656
657
658
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WQPtK1QYVaD_",
        "colab": {
          "base_uri": "https://localhost:8080/",
Glenn Jocher's avatar
Glenn Jocher committed
659
          "height": 66,
Glenn Jocher's avatar
Glenn Jocher committed
660
          "referenced_widgets": [
Glenn Jocher's avatar
Glenn Jocher committed
661
662
663
664
665
666
667
668
            "2e915d9016c846e095e382b6a02ee773",
            "cb7fc3a5c6cc4fde8d2c83e594a7c86e",
            "ac3edef4e3434f4587e6cbf8aa048770",
            "853ac234cc2a4236946fc516871e10eb",
            "13842ca90c0047e584b8d68d99dad2b1",
            "f454999c3a924c7bad0746fb453dec36",
            "f94a7ca8c1f04761bf38fdc5f99664b8",
            "9da1a23b042c41618dd14b0e30aa7cbe"
Glenn Jocher's avatar
Glenn Jocher committed
669
          ]
Glenn Jocher's avatar
Glenn Jocher committed
670
        },
Glenn Jocher's avatar
Glenn Jocher committed
671
        "outputId": "3606f305-aa67-43fd-d5d6-93d1f311768c"
Glenn Jocher's avatar
Glenn Jocher committed
672
673
674
      },
      "source": [
        "# Download COCO val2017\n",
Glenn Jocher's avatar
Glenn Jocher committed
675
        "torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017val.zip', 'tmp.zip')\n",
Glenn Jocher's avatar
Glenn Jocher committed
676
        "!unzip -q tmp.zip -d ../datasets && rm tmp.zip"
Glenn Jocher's avatar
Glenn Jocher committed
677
      ],
Glenn Jocher's avatar
Glenn Jocher committed
678
      "execution_count": 10,
Glenn Jocher's avatar
Glenn Jocher committed
679
      "outputs": [
Glenn Jocher's avatar
Glenn Jocher committed
680
681
682
683
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
Glenn Jocher's avatar
Glenn Jocher committed
684
              "model_id": "2e915d9016c846e095e382b6a02ee773",
Glenn Jocher's avatar
Glenn Jocher committed
685
686
687
688
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
Glenn Jocher's avatar
Glenn Jocher committed
689
              "HBox(children=(FloatProgress(value=0.0, max=818322941.0), HTML(value='')))"
Glenn Jocher's avatar
Glenn Jocher committed
690
691
692
693
694
695
            ]
          },
          "metadata": {
            "tags": []
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
696
697
698
        {
          "output_type": "stream",
          "text": [
Glenn Jocher's avatar
Glenn Jocher committed
699
            "\n"
Glenn Jocher's avatar
Glenn Jocher committed
700
701
702
703
704
705
706
707
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
708
709
        "id": "X58w8JLpMnjH",
        "colab": {
Glenn Jocher's avatar
Glenn Jocher committed
710
          "base_uri": "https://localhost:8080/"
Glenn Jocher's avatar
Glenn Jocher committed
711
        },
Glenn Jocher's avatar
Glenn Jocher committed
712
        "outputId": "20fbc423-f536-43ff-e70b-3acf6aeade99"
Glenn Jocher's avatar
Glenn Jocher committed
713
714
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
715
        "# Run YOLOv5x on COCO val2017\n",
716
        "!python val.py --weights yolov5x.pt --data coco.yaml --img 640 --iou 0.65 --half"
Glenn Jocher's avatar
Glenn Jocher committed
717
      ],
Glenn Jocher's avatar
Glenn Jocher committed
718
      "execution_count": 11,
Glenn Jocher's avatar
Glenn Jocher committed
719
720
721
722
      "outputs": [
        {
          "output_type": "stream",
          "text": [
Glenn Jocher's avatar
Glenn Jocher committed
723
724
            "\u001b[34m\u001b[1mval: \u001b[0mdata=./data/coco.yaml, weights=['yolov5x.pt'], batch_size=32, imgsz=640, conf_thres=0.001, iou_thres=0.65, task=val, device=, single_cls=False, augment=False, verbose=False, save_txt=False, save_hybrid=False, save_conf=False, save_json=True, project=runs/val, name=exp, exist_ok=False, half=True\n",
            "YOLOv5 🚀 v5.0-330-g18f6ba7 torch 1.9.0+cu102 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
Glenn Jocher's avatar
Glenn Jocher committed
725
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
726
            "Downloading https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5x.pt to yolov5x.pt...\n",
Glenn Jocher's avatar
Glenn Jocher committed
727
            "100% 168M/168M [00:05<00:00, 31.9MB/s]\n",
Glenn Jocher's avatar
Glenn Jocher committed
728
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
729
            "Fusing layers... \n",
Glenn Jocher's avatar
Glenn Jocher committed
730
            "Model Summary: 476 layers, 87730285 parameters, 0 gradients\n",
Glenn Jocher's avatar
Glenn Jocher committed
731
732
733
            "\u001b[34m\u001b[1mval: \u001b[0mScanning '../datasets/coco/val2017' images and labels...4952 found, 48 missing, 0 empty, 0 corrupted: 100% 5000/5000 [00:01<00:00, 2653.03it/s]\n",
            "\u001b[34m\u001b[1mval: \u001b[0mNew cache created: ../datasets/coco/val2017.cache\n",
            "               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100% 157/157 [01:18<00:00,  2.00it/s]\n",
Glenn Jocher's avatar
Glenn Jocher committed
734
            "                 all       5000      36335      0.746      0.626       0.68       0.49\n",
Glenn Jocher's avatar
Glenn Jocher committed
735
            "Speed: 0.1ms pre-process, 5.1ms inference, 1.5ms NMS per image at shape (32, 3, 640, 640)\n",
Glenn Jocher's avatar
Glenn Jocher committed
736
            "\n",
737
            "Evaluating pycocotools mAP... saving runs/val/exp/yolov5x_predictions.json...\n",
Glenn Jocher's avatar
Glenn Jocher committed
738
            "loading annotations into memory...\n",
Glenn Jocher's avatar
Glenn Jocher committed
739
            "Done (t=0.44s)\n",
Glenn Jocher's avatar
Glenn Jocher committed
740
741
742
            "creating index...\n",
            "index created!\n",
            "Loading and preparing results...\n",
Glenn Jocher's avatar
Glenn Jocher committed
743
            "DONE (t=4.82s)\n",
Glenn Jocher's avatar
Glenn Jocher committed
744
745
746
747
            "creating index...\n",
            "index created!\n",
            "Running per image evaluation...\n",
            "Evaluate annotation type *bbox*\n",
Glenn Jocher's avatar
Glenn Jocher committed
748
            "DONE (t=84.52s).\n",
Glenn Jocher's avatar
Glenn Jocher committed
749
            "Accumulating evaluation results...\n",
Glenn Jocher's avatar
Glenn Jocher committed
750
            "DONE (t=13.82s).\n",
Glenn Jocher's avatar
Glenn Jocher committed
751
752
753
754
755
756
757
758
759
760
761
762
            " Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.504\n",
            " Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.688\n",
            " Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.546\n",
            " Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.351\n",
            " Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.551\n",
            " Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.644\n",
            " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.382\n",
            " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.629\n",
            " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.681\n",
            " Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.524\n",
            " Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.735\n",
            " Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.827\n",
763
            "Results saved to runs/val/exp\n"
Glenn Jocher's avatar
Glenn Jocher committed
764
765
766
767
          ],
          "name": "stdout"
        }
      ]
Glenn Jocher's avatar
Glenn Jocher committed
768
769
770
771
    },
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
772
        "id": "rc_KbFk0juX2"
Glenn Jocher's avatar
Glenn Jocher committed
773
774
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
775
        "## COCO test-dev2017\n",
Glenn Jocher's avatar
Glenn Jocher committed
776
        "Download [COCO test2017](https://github.com/ultralytics/yolov5/blob/74b34872fdf41941cddcf243951cdb090fbac17b/data/coco.yaml#L15) dataset (7GB - 40,000 images), to test model accuracy on test-dev set (**20,000 images, no labels**). Results are saved to a `*.json` file which should be **zipped** and submitted to the evaluation server at https://competitions.codalab.org/competitions/20794."
Glenn Jocher's avatar
Glenn Jocher committed
777
778
779
780
781
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
782
        "id": "V0AJnSeCIHyJ"
Glenn Jocher's avatar
Glenn Jocher committed
783
784
785
      },
      "source": [
        "# Download COCO test-dev2017\n",
Glenn Jocher's avatar
Glenn Jocher committed
786
        "torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017labels.zip', 'tmp.zip')\n",
787
        "!unzip -q tmp.zip -d ../ && rm tmp.zip # unzip labels\n",
Glenn Jocher's avatar
Glenn Jocher committed
788
        "!f=\"test2017.zip\" && curl http://images.cocodataset.org/zips/$f -o $f && unzip -q $f && rm $f  # 7GB,  41k images\n",
789
        "%mv ./test2017 ../coco/images  # move to /coco"
Glenn Jocher's avatar
Glenn Jocher committed
790
      ],
Glenn Jocher's avatar
Glenn Jocher committed
791
      "execution_count": null,
Glenn Jocher's avatar
Glenn Jocher committed
792
      "outputs": []
Glenn Jocher's avatar
Glenn Jocher committed
793
794
795
796
    },
    {
      "cell_type": "code",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
797
        "id": "29GJXAP_lPrt"
Glenn Jocher's avatar
Glenn Jocher committed
798
799
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
800
        "# Run YOLOv5s on COCO test-dev2017 using --task test\n",
801
        "!python val.py --weights yolov5s.pt --data coco.yaml --task test"
Glenn Jocher's avatar
Glenn Jocher committed
802
      ],
Glenn Jocher's avatar
Glenn Jocher committed
803
      "execution_count": null,
Glenn Jocher's avatar
Glenn Jocher committed
804
805
806
807
808
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
809
        "id": "VUOiNLtMP5aG"
Glenn Jocher's avatar
Glenn Jocher committed
810
811
812
813
      },
      "source": [
        "# 3. Train\n",
        "\n",
Glenn Jocher's avatar
Glenn Jocher committed
814
        "Download [COCO128](https://www.kaggle.com/ultralytics/coco128), a small 128-image tutorial dataset, start tensorboard and train YOLOv5s from a pretrained checkpoint for 3 epochs (note actual training is typically much longer, around **300-1000 epochs**, depending on your dataset)."
Glenn Jocher's avatar
Glenn Jocher committed
815
816
817
818
819
820
821
822
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Knxi2ncxWffW",
        "colab": {
          "base_uri": "https://localhost:8080/",
Glenn Jocher's avatar
Glenn Jocher committed
823
          "height": 66,
Glenn Jocher's avatar
Glenn Jocher committed
824
          "referenced_widgets": [
Glenn Jocher's avatar
Glenn Jocher committed
825
826
827
828
829
830
831
832
            "6ff8a710ded44391a624dec5c460b771",
            "3c19729b51cd45d4848035da06e96ff8",
            "23b2f0ae3d46438c8de375987c77f580",
            "dd9498c321a9422da6faf17a0be026d4",
            "d8dda4b2ce864fd682e558b9a48f602e",
            "ff8151449e444a14869684212b9ab14e",
            "0f84fe609bcf4aa9afdc32a8cf076909",
            "8fda673769984e2b928ef820d34c85c3"
Glenn Jocher's avatar
Glenn Jocher committed
833
          ]
Glenn Jocher's avatar
Glenn Jocher committed
834
        },
Glenn Jocher's avatar
Glenn Jocher committed
835
        "outputId": "4510c6b0-8d2a-436c-d3f4-c8f8470d913a"
Glenn Jocher's avatar
Glenn Jocher committed
836
837
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
838
839
840
        "# Download COCO128\n",
        "torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip', 'tmp.zip')\n",
        "!unzip -q tmp.zip -d ../ && rm tmp.zip"
Glenn Jocher's avatar
Glenn Jocher committed
841
      ],
Glenn Jocher's avatar
Glenn Jocher committed
842
      "execution_count": 12,
Glenn Jocher's avatar
Glenn Jocher committed
843
      "outputs": [
Glenn Jocher's avatar
Glenn Jocher committed
844
845
846
847
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
Glenn Jocher's avatar
Glenn Jocher committed
848
              "model_id": "6ff8a710ded44391a624dec5c460b771",
Glenn Jocher's avatar
Glenn Jocher committed
849
850
851
852
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
Glenn Jocher's avatar
Glenn Jocher committed
853
              "HBox(children=(FloatProgress(value=0.0, max=6984509.0), HTML(value='')))"
Glenn Jocher's avatar
Glenn Jocher committed
854
855
856
857
858
859
            ]
          },
          "metadata": {
            "tags": []
          }
        },
Glenn Jocher's avatar
Glenn Jocher committed
860
861
862
        {
          "output_type": "stream",
          "text": [
Glenn Jocher's avatar
Glenn Jocher committed
863
            "\n"
Glenn Jocher's avatar
Glenn Jocher committed
864
865
866
867
868
          ],
          "name": "stdout"
        }
      ]
    },
Glenn Jocher's avatar
Glenn Jocher committed
869
870
871
    {
      "cell_type": "markdown",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
872
        "id": "_pOkGLv1dMqh"
Glenn Jocher's avatar
Glenn Jocher committed
873
874
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
875
        "Train a YOLOv5s model on [COCO128](https://www.kaggle.com/ultralytics/coco128) with `--data coco128.yaml`, starting from pretrained `--weights yolov5s.pt`, or from randomly initialized `--weights '' --cfg yolov5s.yaml`. Models are downloaded automatically from the [latest YOLOv5 release](https://github.com/ultralytics/yolov5/releases), and **COCO, COCO128, and VOC datasets are downloaded automatically** on first use.\n",
Glenn Jocher's avatar
Glenn Jocher committed
876
        "\n",
877
        "All training results are saved to `runs/train/` with incrementing run directories, i.e. `runs/train/exp2`, `runs/train/exp3` etc.\n"
Glenn Jocher's avatar
Glenn Jocher committed
878
879
      ]
    },
Glenn Jocher's avatar
Glenn Jocher committed
880
881
882
    {
      "cell_type": "code",
      "metadata": {
Glenn Jocher's avatar
Glenn Jocher committed
883
        "id": "bOy5KI2ncnWd"
Glenn Jocher's avatar
Glenn Jocher committed
884
885
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
886
        "# Tensorboard  (optional)\n",
Glenn Jocher's avatar
Glenn Jocher committed
887
        "%load_ext tensorboard\n",
Glenn Jocher's avatar
Glenn Jocher committed
888
        "%tensorboard --logdir runs/train"
Glenn Jocher's avatar
Glenn Jocher committed
889
      ],
Glenn Jocher's avatar
Glenn Jocher committed
890
      "execution_count": null,
Glenn Jocher's avatar
Glenn Jocher committed
891
892
      "outputs": []
    },
Glenn Jocher's avatar
Glenn Jocher committed
893
894
895
896
897
898
    {
      "cell_type": "code",
      "metadata": {
        "id": "2fLAV42oNb7M"
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
899
900
901
902
        "# Weights & Biases  (optional)\n",
        "%pip install -q wandb\n",
        "import wandb\n",
        "wandb.login()"
Glenn Jocher's avatar
Glenn Jocher committed
903
904
905
906
      ],
      "execution_count": null,
      "outputs": []
    },
Glenn Jocher's avatar
Glenn Jocher committed
907
908
909
910
911
    {
      "cell_type": "code",
      "metadata": {
        "id": "1NcFxRcFdJ_O",
        "colab": {
Glenn Jocher's avatar
Glenn Jocher committed
912
          "base_uri": "https://localhost:8080/"
Glenn Jocher's avatar
Glenn Jocher committed
913
        },
Glenn Jocher's avatar
Glenn Jocher committed
914
        "outputId": "cd8ac17d-19a8-4e87-ab6a-31af1edac1ef"
Glenn Jocher's avatar
Glenn Jocher committed
915
916
      },
      "source": [
Glenn Jocher's avatar
Glenn Jocher committed
917
        "# Train YOLOv5s on COCO128 for 3 epochs\n",
Glenn Jocher's avatar
Glenn Jocher committed
918
        "!python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache"
Glenn Jocher's avatar
Glenn Jocher committed
919
      ],
Glenn Jocher's avatar
Glenn Jocher committed
920
      "execution_count": 13,
Glenn Jocher's avatar
Glenn Jocher committed
921
922
923
924
      "outputs": [
        {
          "output_type": "stream",
          "text": [
Glenn Jocher's avatar
Glenn Jocher committed
925
            "\u001b[34m\u001b[1mtrain: \u001b[0mweights=yolov5s.pt, cfg=, data=coco128.yaml, hyp=data/hyps/hyp.scratch.yaml, epochs=3, batch_size=16, imgsz=640, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, evolve=None, bucket=, cache_images=True, image_weights=False, device=, multi_scale=False, single_cls=False, adam=False, sync_bn=False, workers=8, project=runs/train, entity=None, name=exp, exist_ok=False, quad=False, linear_lr=False, label_smoothing=0.0, upload_dataset=False, bbox_interval=-1, save_period=-1, artifact_alias=latest, local_rank=-1\n",
Glenn Jocher's avatar
Glenn Jocher committed
926
            "\u001b[34m\u001b[1mgithub: \u001b[0mup to date with https://github.com/ultralytics/yolov5 ✅\n",
Glenn Jocher's avatar
Glenn Jocher committed
927
928
929
930
931
932
933
934
935
936
937
            "YOLOv5 🚀 v5.0-330-g18f6ba7 torch 1.9.0+cu102 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
            "\n",
            "\u001b[34m\u001b[1mhyperparameters: \u001b[0mlr0=0.01, lrf=0.2, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.5, cls_pw=1.0, obj=1.0, obj_pw=1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0\n",
            "\u001b[34m\u001b[1mWeights & Biases: \u001b[0mrun 'pip install wandb' to automatically track and visualize YOLOv5 🚀 runs (RECOMMENDED)\n",
            "\u001b[34m\u001b[1mTensorBoard: \u001b[0mStart with 'tensorboard --logdir runs/train', view at http://localhost:6006/\n",
            "2021-07-29 22:56:52.096481: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0\n",
            "\n",
            "WARNING: Dataset not found, nonexistent paths: ['/content/datasets/coco128/images/train2017']\n",
            "Downloading https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip ...\n",
            "100% 6.66M/6.66M [00:00<00:00, 44.0MB/s]\n",
            "Dataset autodownload success\n",
Glenn Jocher's avatar
Glenn Jocher committed
938
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
939
940
941
942
            "\n",
            "                 from  n    params  module                                  arguments                     \n",
            "  0                -1  1      3520  models.common.Focus                     [3, 32, 3]                    \n",
            "  1                -1  1     18560  models.common.Conv                      [32, 64, 3, 2]                \n",
Glenn Jocher's avatar
Glenn Jocher committed
943
            "  2                -1  1     18816  models.common.C3                        [64, 64, 1]                   \n",
Glenn Jocher's avatar
Glenn Jocher committed
944
            "  3                -1  1     73984  models.common.Conv                      [64, 128, 3, 2]               \n",
Glenn Jocher's avatar
Glenn Jocher committed
945
            "  4                -1  1    156928  models.common.C3                        [128, 128, 3]                 \n",
Glenn Jocher's avatar
Glenn Jocher committed
946
            "  5                -1  1    295424  models.common.Conv                      [128, 256, 3, 2]              \n",
Glenn Jocher's avatar
Glenn Jocher committed
947
            "  6                -1  1    625152  models.common.C3                        [256, 256, 3]                 \n",
Glenn Jocher's avatar
Glenn Jocher committed
948
949
            "  7                -1  1   1180672  models.common.Conv                      [256, 512, 3, 2]              \n",
            "  8                -1  1    656896  models.common.SPP                       [512, 512, [5, 9, 13]]        \n",
Glenn Jocher's avatar
Glenn Jocher committed
950
            "  9                -1  1   1182720  models.common.C3                        [512, 512, 1, False]          \n",
Glenn Jocher's avatar
Glenn Jocher committed
951
952
953
            " 10                -1  1    131584  models.common.Conv                      [512, 256, 1, 1]              \n",
            " 11                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']          \n",
            " 12           [-1, 6]  1         0  models.common.Concat                    [1]                           \n",
Glenn Jocher's avatar
Glenn Jocher committed
954
            " 13                -1  1    361984  models.common.C3                        [512, 256, 1, False]          \n",
Glenn Jocher's avatar
Glenn Jocher committed
955
956
957
            " 14                -1  1     33024  models.common.Conv                      [256, 128, 1, 1]              \n",
            " 15                -1  1         0  torch.nn.modules.upsampling.Upsample    [None, 2, 'nearest']          \n",
            " 16           [-1, 4]  1         0  models.common.Concat                    [1]                           \n",
Glenn Jocher's avatar
Glenn Jocher committed
958
            " 17                -1  1     90880  models.common.C3                        [256, 128, 1, False]          \n",
Glenn Jocher's avatar
Glenn Jocher committed
959
960
            " 18                -1  1    147712  models.common.Conv                      [128, 128, 3, 2]              \n",
            " 19          [-1, 14]  1         0  models.common.Concat                    [1]                           \n",
Glenn Jocher's avatar
Glenn Jocher committed
961
            " 20                -1  1    296448  models.common.C3                        [256, 256, 1, False]          \n",
Glenn Jocher's avatar
Glenn Jocher committed
962
963
            " 21                -1  1    590336  models.common.Conv                      [256, 256, 3, 2]              \n",
            " 22          [-1, 10]  1         0  models.common.Concat                    [1]                           \n",
Glenn Jocher's avatar
Glenn Jocher committed
964
            " 23                -1  1   1182720  models.common.C3                        [512, 512, 1, False]          \n",
Glenn Jocher's avatar
Glenn Jocher committed
965
            " 24      [17, 20, 23]  1    229245  models.yolo.Detect                      [80, [[10, 13, 16, 30, 33, 23], [30, 61, 62, 45, 59, 119], [116, 90, 156, 198, 373, 326]], [128, 256, 512]]\n",
966
            "Model Summary: 283 layers, 7276605 parameters, 7276605 gradients, 17.1 GFLOPs\n",
Glenn Jocher's avatar
Glenn Jocher committed
967
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
968
969
            "Transferred 362/362 items from yolov5s.pt\n",
            "Scaled weight_decay = 0.0005\n",
Glenn Jocher's avatar
Glenn Jocher committed
970
971
972
973
974
975
976
977
978
            "\u001b[34m\u001b[1moptimizer:\u001b[0m SGD with parameter groups 59 weight, 62 weight (no decay), 62 bias\n",
            "\u001b[34m\u001b[1malbumentations: \u001b[0mversion 1.0.3 required by YOLOv5, but version 0.1.12 is currently installed\n",
            "\u001b[34m\u001b[1mtrain: \u001b[0mScanning '../datasets/coco128/labels/train2017' images and labels...128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 2021.98it/s]\n",
            "\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: ../datasets/coco128/labels/train2017.cache\n",
            "\u001b[34m\u001b[1mtrain: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:00<00:00, 273.58it/s]\n",
            "\u001b[34m\u001b[1mval: \u001b[0mScanning '../datasets/coco128/labels/train2017.cache' images and labels... 128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 506004.63it/s]\n",
            "\u001b[34m\u001b[1mval: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:01<00:00, 121.71it/s]\n",
            "[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)\n",
            "[W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)\n",
Glenn Jocher's avatar
Glenn Jocher committed
979
            "Plotting labels... \n",
Glenn Jocher's avatar
Glenn Jocher committed
980
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
981
            "\u001b[34m\u001b[1mautoanchor: \u001b[0mAnalyzing anchors... anchors/target = 4.27, Best Possible Recall (BPR) = 0.9935\n",
982
            "Image sizes 640 train, 640 val\n",
Glenn Jocher's avatar
Glenn Jocher committed
983
            "Using 2 dataloader workers\n",
984
            "Logging results to runs/train/exp\n",
Glenn Jocher's avatar
Glenn Jocher committed
985
            "Starting training for 3 epochs...\n",
Glenn Jocher's avatar
Glenn Jocher committed
986
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
987
988
989
990
            "     Epoch   gpu_mem       box       obj       cls    labels  img_size\n",
            "       0/2     3.64G    0.0441   0.06646   0.02229       290       640: 100% 8/8 [00:04<00:00,  1.93it/s]\n",
            "               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100% 4/4 [00:01<00:00,  3.45it/s]\n",
            "                 all        128        929      0.696      0.562      0.644      0.419\n",
Glenn Jocher's avatar
Glenn Jocher committed
991
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
992
993
994
995
            "     Epoch   gpu_mem       box       obj       cls    labels  img_size\n",
            "       1/2     5.04G   0.04573   0.06289     0.021       226       640: 100% 8/8 [00:01<00:00,  5.46it/s]\n",
            "               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100% 4/4 [00:01<00:00,  3.16it/s]\n",
            "                 all        128        929       0.71      0.567      0.654      0.424\n",
Glenn Jocher's avatar
Glenn Jocher committed
996
            "\n",
Glenn Jocher's avatar
Glenn Jocher committed
997
998
999
1000
            "     Epoch   gpu_mem       box       obj       cls    labels  img_size\n",
            "       2/2     5.04G   0.04542    0.0715   0.02028       242       640: 100% 8/8 [00:01<00:00,  5.12it/s]\n",
            "               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100% 4/4 [00:02<00:00,  1.46it/s]\n",
            "                 all        128        929      0.731      0.563      0.658      0.427\n",
For faster browsing, not all history is shown. View entire blame