glenn-jocher commited on
Commit
78cf488
β€’
1 Parent(s): c6b51f4

Created using Colaboratory

Browse files
Files changed (1) hide show
  1. tutorial.ipynb +164 -95
tutorial.ipynb CHANGED
@@ -16,7 +16,7 @@
16
  "accelerator": "GPU",
17
  "widgets": {
18
  "application/vnd.jupyter.widget-state+json": {
19
- "8815626359d84416a2f44a95500580a4": {
20
  "model_module": "@jupyter-widgets/controls",
21
  "model_name": "HBoxModel",
22
  "state": {
@@ -28,15 +28,15 @@
28
  "_view_count": null,
29
  "_view_module_version": "1.5.0",
30
  "box_style": "",
31
- "layout": "IPY_MODEL_3b85609c4ce94a74823f2cfe141ce68e",
32
  "_model_module": "@jupyter-widgets/controls",
33
  "children": [
34
- "IPY_MODEL_876609753c2946248890344722963d44",
35
- "IPY_MODEL_8abfdd8778e44b7ca0d29881cb1ada05"
36
  ]
37
  }
38
  },
39
- "3b85609c4ce94a74823f2cfe141ce68e": {
40
  "model_module": "@jupyter-widgets/base",
41
  "model_name": "LayoutModel",
42
  "state": {
@@ -87,12 +87,12 @@
87
  "left": null
88
  }
89
  },
90
- "876609753c2946248890344722963d44": {
91
  "model_module": "@jupyter-widgets/controls",
92
  "model_name": "FloatProgressModel",
93
  "state": {
94
  "_view_name": "ProgressView",
95
- "style": "IPY_MODEL_78c6c3d97c484916b8ee167c63556800",
96
  "_dom_classes": [],
97
  "description": "100%",
98
  "_model_name": "FloatProgressModel",
@@ -107,30 +107,30 @@
107
  "min": 0,
108
  "description_tooltip": null,
109
  "_model_module": "@jupyter-widgets/controls",
110
- "layout": "IPY_MODEL_9dd0f182db5d45378ceafb855e486eb8"
111
  }
112
  },
113
- "8abfdd8778e44b7ca0d29881cb1ada05": {
114
  "model_module": "@jupyter-widgets/controls",
115
  "model_name": "HTMLModel",
116
  "state": {
117
  "_view_name": "HTMLView",
118
- "style": "IPY_MODEL_a3dab28b45c247089a3d1b8b09f327de",
119
  "_dom_classes": [],
120
  "description": "",
121
  "_model_name": "HTMLModel",
122
  "placeholder": "​",
123
  "_view_module": "@jupyter-widgets/controls",
124
  "_model_module_version": "1.5.0",
125
- "value": " 781M/781M [08:43<00:00, 1.56MB/s]",
126
  "_view_count": null,
127
  "_view_module_version": "1.5.0",
128
  "description_tooltip": null,
129
  "_model_module": "@jupyter-widgets/controls",
130
- "layout": "IPY_MODEL_32451332b7a94ba9aacddeaa6ac94d50"
131
  }
132
  },
133
- "78c6c3d97c484916b8ee167c63556800": {
134
  "model_module": "@jupyter-widgets/controls",
135
  "model_name": "ProgressStyleModel",
136
  "state": {
@@ -145,7 +145,7 @@
145
  "_model_module": "@jupyter-widgets/controls"
146
  }
147
  },
148
- "9dd0f182db5d45378ceafb855e486eb8": {
149
  "model_module": "@jupyter-widgets/base",
150
  "model_name": "LayoutModel",
151
  "state": {
@@ -196,7 +196,7 @@
196
  "left": null
197
  }
198
  },
199
- "a3dab28b45c247089a3d1b8b09f327de": {
200
  "model_module": "@jupyter-widgets/controls",
201
  "model_name": "DescriptionStyleModel",
202
  "state": {
@@ -210,7 +210,7 @@
210
  "_model_module": "@jupyter-widgets/controls"
211
  }
212
  },
213
- "32451332b7a94ba9aacddeaa6ac94d50": {
214
  "model_module": "@jupyter-widgets/base",
215
  "model_name": "LayoutModel",
216
  "state": {
@@ -261,7 +261,7 @@
261
  "left": null
262
  }
263
  },
264
- "0fffa335322b41658508e06aed0acbf0": {
265
  "model_module": "@jupyter-widgets/controls",
266
  "model_name": "HBoxModel",
267
  "state": {
@@ -273,15 +273,15 @@
273
  "_view_count": null,
274
  "_view_module_version": "1.5.0",
275
  "box_style": "",
276
- "layout": "IPY_MODEL_a354c6f80ce347e5a3ef64af87c0eccb",
277
  "_model_module": "@jupyter-widgets/controls",
278
  "children": [
279
- "IPY_MODEL_85823e71fea54c39bd11e2e972348836",
280
- "IPY_MODEL_fb11acd663fa4e71b041d67310d045fd"
281
  ]
282
  }
283
  },
284
- "a354c6f80ce347e5a3ef64af87c0eccb": {
285
  "model_module": "@jupyter-widgets/base",
286
  "model_name": "LayoutModel",
287
  "state": {
@@ -332,12 +332,12 @@
332
  "left": null
333
  }
334
  },
335
- "85823e71fea54c39bd11e2e972348836": {
336
  "model_module": "@jupyter-widgets/controls",
337
  "model_name": "FloatProgressModel",
338
  "state": {
339
  "_view_name": "ProgressView",
340
- "style": "IPY_MODEL_8a919053b780449aae5523658ad611fa",
341
  "_dom_classes": [],
342
  "description": "100%",
343
  "_model_name": "FloatProgressModel",
@@ -352,30 +352,30 @@
352
  "min": 0,
353
  "description_tooltip": null,
354
  "_model_module": "@jupyter-widgets/controls",
355
- "layout": "IPY_MODEL_5bae9393a58b44f7b69fb04816f94f6f"
356
  }
357
  },
358
- "fb11acd663fa4e71b041d67310d045fd": {
359
  "model_module": "@jupyter-widgets/controls",
360
  "model_name": "HTMLModel",
361
  "state": {
362
  "_view_name": "HTMLView",
363
- "style": "IPY_MODEL_d26c6d16c7f24030ab2da5285bf198ee",
364
  "_dom_classes": [],
365
  "description": "",
366
  "_model_name": "HTMLModel",
367
  "placeholder": "​",
368
  "_view_module": "@jupyter-widgets/controls",
369
  "_model_module_version": "1.5.0",
370
- "value": " 21.1M/21.1M [00:02<00:00, 9.36MB/s]",
371
  "_view_count": null,
372
  "_view_module_version": "1.5.0",
373
  "description_tooltip": null,
374
  "_model_module": "@jupyter-widgets/controls",
375
- "layout": "IPY_MODEL_f7767886b2364c8d9efdc79e175ad8eb"
376
  }
377
  },
378
- "8a919053b780449aae5523658ad611fa": {
379
  "model_module": "@jupyter-widgets/controls",
380
  "model_name": "ProgressStyleModel",
381
  "state": {
@@ -390,7 +390,7 @@
390
  "_model_module": "@jupyter-widgets/controls"
391
  }
392
  },
393
- "5bae9393a58b44f7b69fb04816f94f6f": {
394
  "model_module": "@jupyter-widgets/base",
395
  "model_name": "LayoutModel",
396
  "state": {
@@ -441,7 +441,7 @@
441
  "left": null
442
  }
443
  },
444
- "d26c6d16c7f24030ab2da5285bf198ee": {
445
  "model_module": "@jupyter-widgets/controls",
446
  "model_name": "DescriptionStyleModel",
447
  "state": {
@@ -455,7 +455,7 @@
455
  "_model_module": "@jupyter-widgets/controls"
456
  }
457
  },
458
- "f7767886b2364c8d9efdc79e175ad8eb": {
459
  "model_module": "@jupyter-widgets/base",
460
  "model_name": "LayoutModel",
461
  "state": {
@@ -517,8 +517,7 @@
517
  "colab_type": "text"
518
  },
519
  "source": [
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>",
521
- "<a href=\"https://kaggle.com/kernels/welcome?src=https://github.com/ultralytics/yolov5/blob/master/tutorial.ipynb\" target=\"_parent\"><img alt=\"Kaggle\" title=\"Open in Kaggle\" src=\"https://kaggle.com/static/images/open-in-kaggle.svg\"></a>"
522
  ]
523
  },
524
  {
@@ -551,7 +550,7 @@
551
  "colab": {
552
  "base_uri": "https://localhost:8080/"
553
  },
554
- "outputId": "9b022435-4197-41fc-abea-81f86ce857d0"
555
  },
556
  "source": [
557
  "!git clone https://github.com/ultralytics/yolov5 # clone repo\n",
@@ -564,7 +563,7 @@
564
  "clear_output()\n",
565
  "print(f\"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})\")"
566
  ],
567
- "execution_count": null,
568
  "outputs": [
569
  {
570
  "output_type": "stream",
@@ -663,32 +662,32 @@
663
  "id": "WQPtK1QYVaD_",
664
  "colab": {
665
  "base_uri": "https://localhost:8080/",
666
- "height": 65,
667
  "referenced_widgets": [
668
- "8815626359d84416a2f44a95500580a4",
669
- "3b85609c4ce94a74823f2cfe141ce68e",
670
- "876609753c2946248890344722963d44",
671
- "8abfdd8778e44b7ca0d29881cb1ada05",
672
- "78c6c3d97c484916b8ee167c63556800",
673
- "9dd0f182db5d45378ceafb855e486eb8",
674
- "a3dab28b45c247089a3d1b8b09f327de",
675
- "32451332b7a94ba9aacddeaa6ac94d50"
676
  ]
677
  },
678
- "outputId": "81521192-cf67-4a47-a4cc-434cb0ebc363"
679
  },
680
  "source": [
681
  "# Download COCO val2017\n",
682
  "torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017val.zip', 'tmp.zip')\n",
683
  "!unzip -q tmp.zip -d ../ && rm tmp.zip"
684
  ],
685
- "execution_count": null,
686
  "outputs": [
687
  {
688
  "output_type": "display_data",
689
  "data": {
690
  "application/vnd.jupyter.widget-view+json": {
691
- "model_id": "8815626359d84416a2f44a95500580a4",
692
  "version_minor": 0,
693
  "version_major": 2
694
  },
@@ -716,45 +715,45 @@
716
  "colab": {
717
  "base_uri": "https://localhost:8080/"
718
  },
719
- "outputId": "2340b131-9943-4cd6-fd3a-8272aeb0774f"
720
  },
721
  "source": [
722
  "# Run YOLOv5x on COCO val2017\n",
723
- "!python test.py --weights yolov5x.pt --data coco.yaml --img 640 --iou 0.65"
724
  ],
725
- "execution_count": null,
726
  "outputs": [
727
  {
728
  "output_type": "stream",
729
  "text": [
730
- "Namespace(augment=False, batch_size=32, conf_thres=0.001, data='./data/coco.yaml', device='', exist_ok=False, img_size=640, iou_thres=0.65, name='exp', project='runs/test', save_conf=False, save_hybrid=False, save_json=True, save_txt=False, single_cls=False, task='val', verbose=False, weights=['yolov5x.pt'])\n",
731
- "YOLOv5 πŸš€ v5.0-1-g0f395b3 torch 1.8.1+cu101 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
732
  "\n",
733
  "Downloading https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5x.pt to yolov5x.pt...\n",
734
- "100% 168M/168M [00:05<00:00, 32.3MB/s]\n",
735
  "\n",
736
  "Fusing layers... \n",
737
- "Model Summary: 476 layers, 87730285 parameters, 0 gradients, 218.8 GFLOPs\n",
738
- "\u001b[34m\u001b[1mval: \u001b[0mScanning '../coco/val2017' images and labels... 4952 found, 48 missing, 0 empty, 0 corrupted: 100% 5000/5000 [00:01<00:00, 3102.29it/s]\n",
739
  "\u001b[34m\u001b[1mval: \u001b[0mNew cache created: ../coco/val2017.cache\n",
740
- " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 157/157 [01:23<00:00, 1.87it/s]\n",
741
- " all 5000 36335 0.745 0.627 0.68 0.49\n",
742
- "Speed: 5.3/1.6/6.9 ms inference/NMS/total per 640x640 image at batch-size 32\n",
743
  "\n",
744
  "Evaluating pycocotools mAP... saving runs/test/exp/yolov5x_predictions.json...\n",
745
  "loading annotations into memory...\n",
746
- "Done (t=0.48s)\n",
747
  "creating index...\n",
748
  "index created!\n",
749
  "Loading and preparing results...\n",
750
- "DONE (t=5.08s)\n",
751
  "creating index...\n",
752
  "index created!\n",
753
  "Running per image evaluation...\n",
754
  "Evaluate annotation type *bbox*\n",
755
- "DONE (t=90.51s).\n",
756
  "Accumulating evaluation results...\n",
757
- "DONE (t=15.16s).\n",
758
  " Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.504\n",
759
  " Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.688\n",
760
  " Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.546\n",
@@ -827,32 +826,32 @@
827
  "id": "Knxi2ncxWffW",
828
  "colab": {
829
  "base_uri": "https://localhost:8080/",
830
- "height": 65,
831
  "referenced_widgets": [
832
- "0fffa335322b41658508e06aed0acbf0",
833
- "a354c6f80ce347e5a3ef64af87c0eccb",
834
- "85823e71fea54c39bd11e2e972348836",
835
- "fb11acd663fa4e71b041d67310d045fd",
836
- "8a919053b780449aae5523658ad611fa",
837
- "5bae9393a58b44f7b69fb04816f94f6f",
838
- "d26c6d16c7f24030ab2da5285bf198ee",
839
- "f7767886b2364c8d9efdc79e175ad8eb"
840
  ]
841
  },
842
- "outputId": "b41ac253-9e1b-4c26-d78b-700ea0154f43"
843
  },
844
  "source": [
845
  "# Download COCO128\n",
846
  "torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip', 'tmp.zip')\n",
847
  "!unzip -q tmp.zip -d ../ && rm tmp.zip"
848
  ],
849
- "execution_count": null,
850
  "outputs": [
851
  {
852
  "output_type": "display_data",
853
  "data": {
854
  "application/vnd.jupyter.widget-view+json": {
855
- "model_id": "0fffa335322b41658508e06aed0acbf0",
856
  "version_minor": 0,
857
  "version_major": 2
858
  },
@@ -918,23 +917,93 @@
918
  "colab": {
919
  "base_uri": "https://localhost:8080/"
920
  },
921
- "outputId": "e715d09c-5d93-4912-a0df-9da0893f2014"
922
  },
923
  "source": [
924
  "# Train YOLOv5s on COCO128 for 3 epochs\n",
925
- "!python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --nosave --cache"
926
  ],
927
- "execution_count": null,
928
  "outputs": [
929
  {
930
  "output_type": "stream",
931
  "text": [
932
  "\u001b[34m\u001b[1mgithub: \u001b[0mup to date with https://github.com/ultralytics/yolov5 βœ…\n",
933
- "YOLOv5 πŸš€ v5.0-2-g54d6516 torch 1.8.1+cu101 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
934
  "\n",
935
- "Namespace(adam=False, artifact_alias='latest', batch_size=16, bbox_interval=-1, bucket='', cache_images=True, cfg='', data='./data/coco128.yaml', device='', entity=None, epochs=3, evolve=False, exist_ok=False, global_rank=-1, hyp='data/hyp.scratch.yaml', image_weights=False, img_size=[640, 640], label_smoothing=0.0, linear_lr=False, local_rank=-1, multi_scale=False, name='exp', noautoanchor=False, nosave=True, notest=False, project='runs/train', quad=False, rect=False, resume=False, save_dir='runs/train/exp', save_period=-1, single_cls=False, sync_bn=False, total_batch_size=16, upload_dataset=False, weights='yolov5s.pt', workers=8, world_size=1)\n",
936
  "\u001b[34m\u001b[1mtensorboard: \u001b[0mStart with 'tensorboard --logdir runs/train', view at http://localhost:6006/\n",
937
- "2021-04-12 10:29:58.539457: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0\n",
938
  "\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\n",
939
  "\u001b[34m\u001b[1mwandb: \u001b[0mInstall Weights & Biases for YOLOv5 logging with 'pip install wandb' (recommended)\n",
940
  "\n",
@@ -969,10 +1038,10 @@
969
  "Transferred 362/362 items from yolov5s.pt\n",
970
  "Scaled weight_decay = 0.0005\n",
971
  "Optimizer groups: 62 .bias, 62 conv.weight, 59 other\n",
972
- "\u001b[34m\u001b[1mtrain: \u001b[0mScanning '../coco128/labels/train2017.cache' images and labels... 128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 796544.38it/s]\n",
973
- "\u001b[34m\u001b[1mtrain: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:00<00:00, 176.73it/s]\n",
974
- "\u001b[34m\u001b[1mval: \u001b[0mScanning '../coco128/labels/train2017.cache' images and labels... 128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 500812.42it/s]\n",
975
- "\u001b[34m\u001b[1mval: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:00<00:00, 134.10it/s]\n",
976
  "Plotting labels... \n",
977
  "\n",
978
  "\u001b[34m\u001b[1mautoanchor: \u001b[0mAnalyzing anchors... anchors/target = 4.26, Best Possible Recall (BPR) = 0.9946\n",
@@ -982,19 +1051,19 @@
982
  "Starting training for 3 epochs...\n",
983
  "\n",
984
  " Epoch gpu_mem box obj cls total labels img_size\n",
985
- " 0/2 3.29G 0.04368 0.065 0.02127 0.1299 183 640: 100% 8/8 [00:03<00:00, 2.21it/s]\n",
986
- " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 4/4 [00:04<00:00, 1.09s/it]\n",
987
- " all 128 929 0.605 0.657 0.666 0.434\n",
988
  "\n",
989
  " Epoch gpu_mem box obj cls total labels img_size\n",
990
- " 1/2 6.65G 0.04556 0.0651 0.01987 0.1305 166 640: 100% 8/8 [00:01<00:00, 5.18it/s]\n",
991
- " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 4/4 [00:01<00:00, 2.72it/s]\n",
992
- " all 128 929 0.61 0.66 0.669 0.438\n",
993
  "\n",
994
  " Epoch gpu_mem box obj cls total labels img_size\n",
995
- " 2/2 6.65G 0.04624 0.06923 0.0196 0.1351 182 640: 100% 8/8 [00:01<00:00, 5.19it/s]\n",
996
- " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 4/4 [00:03<00:00, 1.27it/s]\n",
997
- " all 128 929 0.618 0.659 0.671 0.438\n",
998
  "3 epochs completed in 0.007 hours.\n",
999
  "\n",
1000
  "Optimizer stripped from runs/train/exp/weights/last.pt, 14.8MB\n",
@@ -1261,4 +1330,4 @@
1261
  "outputs": []
1262
  }
1263
  ]
1264
- }
 
16
  "accelerator": "GPU",
17
  "widgets": {
18
  "application/vnd.jupyter.widget-state+json": {
19
+ "cef5e9351ca743bcba5febac0b096a30": {
20
  "model_module": "@jupyter-widgets/controls",
21
  "model_name": "HBoxModel",
22
  "state": {
 
28
  "_view_count": null,
29
  "_view_module_version": "1.5.0",
30
  "box_style": "",
31
+ "layout": "IPY_MODEL_ec326c52378f4410920c328f221e0514",
32
  "_model_module": "@jupyter-widgets/controls",
33
  "children": [
34
+ "IPY_MODEL_83000c64a11c4ae8abd6f0ef2f108cef",
35
+ "IPY_MODEL_0f7899eb719f4a9c9852426551f97be9"
36
  ]
37
  }
38
  },
39
+ "ec326c52378f4410920c328f221e0514": {
40
  "model_module": "@jupyter-widgets/base",
41
  "model_name": "LayoutModel",
42
  "state": {
 
87
  "left": null
88
  }
89
  },
90
+ "83000c64a11c4ae8abd6f0ef2f108cef": {
91
  "model_module": "@jupyter-widgets/controls",
92
  "model_name": "FloatProgressModel",
93
  "state": {
94
  "_view_name": "ProgressView",
95
+ "style": "IPY_MODEL_886ac5b18b3c4c82bf15ad5055f1e17e",
96
  "_dom_classes": [],
97
  "description": "100%",
98
  "_model_name": "FloatProgressModel",
 
107
  "min": 0,
108
  "description_tooltip": null,
109
  "_model_module": "@jupyter-widgets/controls",
110
+ "layout": "IPY_MODEL_4e67b3c3a49849c7a7ba28b7eec96e7a"
111
  }
112
  },
113
+ "0f7899eb719f4a9c9852426551f97be9": {
114
  "model_module": "@jupyter-widgets/controls",
115
  "model_name": "HTMLModel",
116
  "state": {
117
  "_view_name": "HTMLView",
118
+ "style": "IPY_MODEL_62c3682ff1804571a483d46664533969",
119
  "_dom_classes": [],
120
  "description": "",
121
  "_model_name": "HTMLModel",
122
  "placeholder": "​",
123
  "_view_module": "@jupyter-widgets/controls",
124
  "_model_module_version": "1.5.0",
125
+ "value": " 781M/781M [00:12&lt;00:00, 67.1MB/s]",
126
  "_view_count": null,
127
  "_view_module_version": "1.5.0",
128
  "description_tooltip": null,
129
  "_model_module": "@jupyter-widgets/controls",
130
+ "layout": "IPY_MODEL_599dda3b608b432393760b2ca4ae7c7d"
131
  }
132
  },
133
+ "886ac5b18b3c4c82bf15ad5055f1e17e": {
134
  "model_module": "@jupyter-widgets/controls",
135
  "model_name": "ProgressStyleModel",
136
  "state": {
 
145
  "_model_module": "@jupyter-widgets/controls"
146
  }
147
  },
148
+ "4e67b3c3a49849c7a7ba28b7eec96e7a": {
149
  "model_module": "@jupyter-widgets/base",
150
  "model_name": "LayoutModel",
151
  "state": {
 
196
  "left": null
197
  }
198
  },
199
+ "62c3682ff1804571a483d46664533969": {
200
  "model_module": "@jupyter-widgets/controls",
201
  "model_name": "DescriptionStyleModel",
202
  "state": {
 
210
  "_model_module": "@jupyter-widgets/controls"
211
  }
212
  },
213
+ "599dda3b608b432393760b2ca4ae7c7d": {
214
  "model_module": "@jupyter-widgets/base",
215
  "model_name": "LayoutModel",
216
  "state": {
 
261
  "left": null
262
  }
263
  },
264
+ "217ca488c82a4b7a80318b70887a556e": {
265
  "model_module": "@jupyter-widgets/controls",
266
  "model_name": "HBoxModel",
267
  "state": {
 
273
  "_view_count": null,
274
  "_view_module_version": "1.5.0",
275
  "box_style": "",
276
+ "layout": "IPY_MODEL_4e63af16f1084ca98a6fa5a282f2a81e",
277
  "_model_module": "@jupyter-widgets/controls",
278
  "children": [
279
+ "IPY_MODEL_49f4b3c7f6ff42b4b9132a8550e12186",
280
+ "IPY_MODEL_8ec9e1a4883245daaf029458ee09721f"
281
  ]
282
  }
283
  },
284
+ "4e63af16f1084ca98a6fa5a282f2a81e": {
285
  "model_module": "@jupyter-widgets/base",
286
  "model_name": "LayoutModel",
287
  "state": {
 
332
  "left": null
333
  }
334
  },
335
+ "49f4b3c7f6ff42b4b9132a8550e12186": {
336
  "model_module": "@jupyter-widgets/controls",
337
  "model_name": "FloatProgressModel",
338
  "state": {
339
  "_view_name": "ProgressView",
340
+ "style": "IPY_MODEL_9d3e775ee11e4cf4b587b64fbc3cc6f7",
341
  "_dom_classes": [],
342
  "description": "100%",
343
  "_model_name": "FloatProgressModel",
 
352
  "min": 0,
353
  "description_tooltip": null,
354
  "_model_module": "@jupyter-widgets/controls",
355
+ "layout": "IPY_MODEL_70f68a9a51ac46e6ab7e51fb4fc6bda3"
356
  }
357
  },
358
+ "8ec9e1a4883245daaf029458ee09721f": {
359
  "model_module": "@jupyter-widgets/controls",
360
  "model_name": "HTMLModel",
361
  "state": {
362
  "_view_name": "HTMLView",
363
+ "style": "IPY_MODEL_fdb8ab377c114bc3b862ba76eb93cef7",
364
  "_dom_classes": [],
365
  "description": "",
366
  "_model_name": "HTMLModel",
367
  "placeholder": "​",
368
  "_view_module": "@jupyter-widgets/controls",
369
  "_model_module_version": "1.5.0",
370
+ "value": " 21.1M/21.1M [00:36&lt;00:00, 605kB/s]",
371
  "_view_count": null,
372
  "_view_module_version": "1.5.0",
373
  "description_tooltip": null,
374
  "_model_module": "@jupyter-widgets/controls",
375
+ "layout": "IPY_MODEL_cd267c153c244621a1f50706d2ddc897"
376
  }
377
  },
378
+ "9d3e775ee11e4cf4b587b64fbc3cc6f7": {
379
  "model_module": "@jupyter-widgets/controls",
380
  "model_name": "ProgressStyleModel",
381
  "state": {
 
390
  "_model_module": "@jupyter-widgets/controls"
391
  }
392
  },
393
+ "70f68a9a51ac46e6ab7e51fb4fc6bda3": {
394
  "model_module": "@jupyter-widgets/base",
395
  "model_name": "LayoutModel",
396
  "state": {
 
441
  "left": null
442
  }
443
  },
444
+ "fdb8ab377c114bc3b862ba76eb93cef7": {
445
  "model_module": "@jupyter-widgets/controls",
446
  "model_name": "DescriptionStyleModel",
447
  "state": {
 
455
  "_model_module": "@jupyter-widgets/controls"
456
  }
457
  },
458
+ "cd267c153c244621a1f50706d2ddc897": {
459
  "model_module": "@jupyter-widgets/base",
460
  "model_name": "LayoutModel",
461
  "state": {
 
517
  "colab_type": "text"
518
  },
519
  "source": [
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>"
 
521
  ]
522
  },
523
  {
 
550
  "colab": {
551
  "base_uri": "https://localhost:8080/"
552
  },
553
+ "outputId": "0cabe440-e06c-48b9-9180-4b4ea1790ff5"
554
  },
555
  "source": [
556
  "!git clone https://github.com/ultralytics/yolov5 # clone repo\n",
 
563
  "clear_output()\n",
564
  "print(f\"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})\")"
565
  ],
566
+ "execution_count": 1,
567
  "outputs": [
568
  {
569
  "output_type": "stream",
 
662
  "id": "WQPtK1QYVaD_",
663
  "colab": {
664
  "base_uri": "https://localhost:8080/",
665
+ "height": 66,
666
  "referenced_widgets": [
667
+ "cef5e9351ca743bcba5febac0b096a30",
668
+ "ec326c52378f4410920c328f221e0514",
669
+ "83000c64a11c4ae8abd6f0ef2f108cef",
670
+ "0f7899eb719f4a9c9852426551f97be9",
671
+ "886ac5b18b3c4c82bf15ad5055f1e17e",
672
+ "4e67b3c3a49849c7a7ba28b7eec96e7a",
673
+ "62c3682ff1804571a483d46664533969",
674
+ "599dda3b608b432393760b2ca4ae7c7d"
675
  ]
676
  },
677
+ "outputId": "56b6402a-81d5-41d0-a3c8-8889db1fca6c"
678
  },
679
  "source": [
680
  "# Download COCO val2017\n",
681
  "torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017val.zip', 'tmp.zip')\n",
682
  "!unzip -q tmp.zip -d ../ && rm tmp.zip"
683
  ],
684
+ "execution_count": 2,
685
  "outputs": [
686
  {
687
  "output_type": "display_data",
688
  "data": {
689
  "application/vnd.jupyter.widget-view+json": {
690
+ "model_id": "cef5e9351ca743bcba5febac0b096a30",
691
  "version_minor": 0,
692
  "version_major": 2
693
  },
 
715
  "colab": {
716
  "base_uri": "https://localhost:8080/"
717
  },
718
+ "outputId": "a5d41761-f1a0-41fe-d0bb-4cceebd7c4a6"
719
  },
720
  "source": [
721
  "# Run YOLOv5x on COCO val2017\n",
722
+ "!python test.py --weights yolov5x.pt --data coco.yaml --img 640 --iou 0.65 --half"
723
  ],
724
+ "execution_count": 3,
725
  "outputs": [
726
  {
727
  "output_type": "stream",
728
  "text": [
729
+ "Namespace(augment=False, batch_size=32, conf_thres=0.001, data='./data/coco.yaml', device='', exist_ok=False, half=True, img_size=640, iou_thres=0.65, name='exp', project='runs/test', save_conf=False, save_hybrid=False, save_json=True, save_txt=False, single_cls=False, task='val', verbose=False, weights=['yolov5x.pt'])\n",
730
+ "YOLOv5 πŸš€ v5.0-157-gc6b51f4 torch 1.8.1+cu101 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
731
  "\n",
732
  "Downloading https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5x.pt to yolov5x.pt...\n",
733
+ "100% 168M/168M [00:01<00:00, 156MB/s]\n",
734
  "\n",
735
  "Fusing layers... \n",
736
+ "Model Summary: 476 layers, 87730285 parameters, 0 gradients\n",
737
+ "\u001b[34m\u001b[1mval: \u001b[0mScanning '../coco/val2017' images and labels...4952 found, 48 missing, 0 empty, 0 corrupted: 100% 5000/5000 [00:01<00:00, 3008.87it/s]\n",
738
  "\u001b[34m\u001b[1mval: \u001b[0mNew cache created: ../coco/val2017.cache\n",
739
+ " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 157/157 [01:17<00:00, 2.02it/s]\n",
740
+ " all 5000 36335 0.746 0.626 0.68 0.49\n",
741
+ "Speed: 5.3/1.5/6.8 ms inference/NMS/total per 640x640 image at batch-size 32\n",
742
  "\n",
743
  "Evaluating pycocotools mAP... saving runs/test/exp/yolov5x_predictions.json...\n",
744
  "loading annotations into memory...\n",
745
+ "Done (t=0.44s)\n",
746
  "creating index...\n",
747
  "index created!\n",
748
  "Loading and preparing results...\n",
749
+ "DONE (t=4.88s)\n",
750
  "creating index...\n",
751
  "index created!\n",
752
  "Running per image evaluation...\n",
753
  "Evaluate annotation type *bbox*\n",
754
+ "DONE (t=83.47s).\n",
755
  "Accumulating evaluation results...\n",
756
+ "DONE (t=12.96s).\n",
757
  " Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.504\n",
758
  " Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.688\n",
759
  " Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.546\n",
 
826
  "id": "Knxi2ncxWffW",
827
  "colab": {
828
  "base_uri": "https://localhost:8080/",
829
+ "height": 66,
830
  "referenced_widgets": [
831
+ "217ca488c82a4b7a80318b70887a556e",
832
+ "4e63af16f1084ca98a6fa5a282f2a81e",
833
+ "49f4b3c7f6ff42b4b9132a8550e12186",
834
+ "8ec9e1a4883245daaf029458ee09721f",
835
+ "9d3e775ee11e4cf4b587b64fbc3cc6f7",
836
+ "70f68a9a51ac46e6ab7e51fb4fc6bda3",
837
+ "fdb8ab377c114bc3b862ba76eb93cef7",
838
+ "cd267c153c244621a1f50706d2ddc897"
839
  ]
840
  },
841
+ "outputId": "9e4788c2-e1d4-4a13-c3d2-984f5df7ffab"
842
  },
843
  "source": [
844
  "# Download COCO128\n",
845
  "torch.hub.download_url_to_file('https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip', 'tmp.zip')\n",
846
  "!unzip -q tmp.zip -d ../ && rm tmp.zip"
847
  ],
848
+ "execution_count": 2,
849
  "outputs": [
850
  {
851
  "output_type": "display_data",
852
  "data": {
853
  "application/vnd.jupyter.widget-view+json": {
854
+ "model_id": "217ca488c82a4b7a80318b70887a556e",
855
  "version_minor": 0,
856
  "version_major": 2
857
  },
 
917
  "colab": {
918
  "base_uri": "https://localhost:8080/"
919
  },
920
+ "outputId": "70004839-0c90-4bc0-c0e5-9a92f3e65b01"
921
  },
922
  "source": [
923
  "# Train YOLOv5s on COCO128 for 3 epochs\n",
924
+ "!python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache"
925
  ],
926
+ "execution_count": 4,
927
  "outputs": [
928
  {
929
  "output_type": "stream",
930
  "text": [
931
  "\u001b[34m\u001b[1mgithub: \u001b[0mup to date with https://github.com/ultralytics/yolov5 βœ…\n",
932
+ "YOLOv5 πŸš€ v5.0-157-gc6b51f4 torch 1.8.1+cu101 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
933
+ "\n",
934
+ "Namespace(adam=False, artifact_alias='latest', batch_size=16, bbox_interval=-1, bucket='', cache_images=True, cfg='', data='./data/coco128.yaml', device='', entity=None, epochs=1, evolve=False, exist_ok=False, global_rank=-1, hyp='data/hyp.scratch.yaml', image_weights=False, img_size=[640, 640], label_smoothing=0.0, linear_lr=False, local_rank=-1, multi_scale=False, name='exp', noautoanchor=False, nosave=False, notest=False, project='runs/train', quad=False, rect=False, resume=False, save_dir='runs/train/exp', save_period=-1, single_cls=False, sync_bn=False, total_batch_size=16, upload_dataset=False, weights='yolov5s.pt', workers=8, world_size=1)\n",
935
+ "\u001b[34m\u001b[1mtensorboard: \u001b[0mStart with 'tensorboard --logdir runs/train', view at http://localhost:6006/\n",
936
+ "2021-06-08 16:52:25.719745: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0\n",
937
+ "\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\n",
938
+ "\u001b[34m\u001b[1mwandb: \u001b[0mInstall Weights & Biases for YOLOv5 logging with 'pip install wandb' (recommended)\n",
939
+ "Downloading https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt to yolov5s.pt...\n",
940
+ "100% 14.1M/14.1M [00:00<00:00, 18.7MB/s]\n",
941
+ "\n",
942
+ "\n",
943
+ " from n params module arguments \n",
944
+ " 0 -1 1 3520 models.common.Focus [3, 32, 3] \n",
945
+ " 1 -1 1 18560 models.common.Conv [32, 64, 3, 2] \n",
946
+ " 2 -1 1 18816 models.common.C3 [64, 64, 1] \n",
947
+ " 3 -1 1 73984 models.common.Conv [64, 128, 3, 2] \n",
948
+ " 4 -1 1 156928 models.common.C3 [128, 128, 3] \n",
949
+ " 5 -1 1 295424 models.common.Conv [128, 256, 3, 2] \n",
950
+ " 6 -1 1 625152 models.common.C3 [256, 256, 3] \n",
951
+ " 7 -1 1 1180672 models.common.Conv [256, 512, 3, 2] \n",
952
+ " 8 -1 1 656896 models.common.SPP [512, 512, [5, 9, 13]] \n",
953
+ " 9 -1 1 1182720 models.common.C3 [512, 512, 1, False] \n",
954
+ " 10 -1 1 131584 models.common.Conv [512, 256, 1, 1] \n",
955
+ " 11 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
956
+ " 12 [-1, 6] 1 0 models.common.Concat [1] \n",
957
+ " 13 -1 1 361984 models.common.C3 [512, 256, 1, False] \n",
958
+ " 14 -1 1 33024 models.common.Conv [256, 128, 1, 1] \n",
959
+ " 15 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
960
+ " 16 [-1, 4] 1 0 models.common.Concat [1] \n",
961
+ " 17 -1 1 90880 models.common.C3 [256, 128, 1, False] \n",
962
+ " 18 -1 1 147712 models.common.Conv [128, 128, 3, 2] \n",
963
+ " 19 [-1, 14] 1 0 models.common.Concat [1] \n",
964
+ " 20 -1 1 296448 models.common.C3 [256, 256, 1, False] \n",
965
+ " 21 -1 1 590336 models.common.Conv [256, 256, 3, 2] \n",
966
+ " 22 [-1, 10] 1 0 models.common.Concat [1] \n",
967
+ " 23 -1 1 1182720 models.common.C3 [512, 512, 1, False] \n",
968
+ " 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",
969
+ "Model Summary: 283 layers, 7276605 parameters, 7276605 gradients, 17.1 GFLOPs\n",
970
+ "\n",
971
+ "Transferred 362/362 items from yolov5s.pt\n",
972
+ "\n",
973
+ "WARNING: Dataset not found, nonexistent paths: ['/content/coco128/images/train2017']\n",
974
+ "Downloading https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip ...\n",
975
+ "100% 21.1M/21.1M [00:00<00:00, 68.2MB/s]\n",
976
+ "Dataset autodownload success\n",
977
+ "\n",
978
+ "Scaled weight_decay = 0.0005\n",
979
+ "Optimizer groups: 62 .bias, 62 conv.weight, 59 other\n",
980
+ "\u001b[34m\u001b[1mtrain: \u001b[0mScanning '../coco128/labels/train2017' images and labels...128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 2036.51it/s]\n",
981
+ "\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: ../coco128/labels/train2017.cache\n",
982
+ "\u001b[34m\u001b[1mtrain: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:00<00:00, 189.76it/s]\n",
983
+ "\u001b[34m\u001b[1mval: \u001b[0mScanning '../coco128/labels/train2017.cache' images and labels... 128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 687414.74it/s]\n",
984
+ "\u001b[34m\u001b[1mval: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:01<00:00, 93.37it/s]\n",
985
+ "Plotting labels... \n",
986
+ "\n",
987
+ "\u001b[34m\u001b[1mautoanchor: \u001b[0mAnalyzing anchors... anchors/target = 4.26, Best Possible Recall (BPR) = 0.9946\n",
988
+ "Image sizes 640 train, 640 test\n",
989
+ "Using 2 dataloader workers\n",
990
+ "Logging results to runs/train/exp\n",
991
+ "Starting training for 1 epochs...\n",
992
+ "\n",
993
+ " Epoch gpu_mem box obj cls total labels img_size\n",
994
+ " 0/0 10.8G 0.04226 0.06068 0.02005 0.123 158 640: 100% 8/8 [00:05<00:00, 1.35it/s]\n",
995
+ " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 4/4 [00:06<00:00, 1.53s/it]\n",
996
+ " all 128 929 0.633 0.641 0.668 0.439\n",
997
+ "1 epochs completed in 0.005 hours.\n",
998
+ "\n",
999
+ "Optimizer stripped from runs/train/exp/weights/last.pt, 14.8MB\n",
1000
+ "Optimizer stripped from runs/train/exp/weights/best.pt, 14.8MB\n",
1001
+ "\u001b[34m\u001b[1mgithub: \u001b[0mup to date with https://github.com/ultralytics/yolov5 βœ…\n",
1002
+ "YOLOv5 πŸš€ v5.0-157-gc6b51f4 torch 1.8.1+cu101 CUDA:0 (Tesla V100-SXM2-16GB, 16160.5MB)\n",
1003
  "\n",
1004
+ "Namespace(adam=False, artifact_alias='latest', batch_size=16, bbox_interval=-1, bucket='', cache_images=True, cfg='', data='./data/coco128.yaml', device='', entity=None, epochs=3, evolve=False, exist_ok=False, global_rank=-1, hyp='data/hyp.scratch.yaml', image_weights=False, img_size=[640, 640], label_smoothing=0.0, linear_lr=False, local_rank=-1, multi_scale=False, name='exp', noautoanchor=False, nosave=False, notest=False, project='runs/train', quad=False, rect=False, resume=False, save_dir='runs/train/exp', save_period=-1, single_cls=False, sync_bn=False, total_batch_size=16, upload_dataset=False, weights='yolov5s.pt', workers=8, world_size=1)\n",
1005
  "\u001b[34m\u001b[1mtensorboard: \u001b[0mStart with 'tensorboard --logdir runs/train', view at http://localhost:6006/\n",
1006
+ "2021-06-08 16:53:03.275914: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0\n",
1007
  "\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\n",
1008
  "\u001b[34m\u001b[1mwandb: \u001b[0mInstall Weights & Biases for YOLOv5 logging with 'pip install wandb' (recommended)\n",
1009
  "\n",
 
1038
  "Transferred 362/362 items from yolov5s.pt\n",
1039
  "Scaled weight_decay = 0.0005\n",
1040
  "Optimizer groups: 62 .bias, 62 conv.weight, 59 other\n",
1041
+ "\u001b[34m\u001b[1mtrain: \u001b[0mScanning '../coco128/labels/train2017.cache' images and labels... 128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 824686.50it/s]\n",
1042
+ "\u001b[34m\u001b[1mtrain: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:00<00:00, 201.90it/s]\n",
1043
+ "\u001b[34m\u001b[1mval: \u001b[0mScanning '../coco128/labels/train2017.cache' images and labels... 128 found, 0 missing, 2 empty, 0 corrupted: 100% 128/128 [00:00<00:00, 23766.92it/s]\n",
1044
+ "\u001b[34m\u001b[1mval: \u001b[0mCaching images (0.1GB): 100% 128/128 [00:01<00:00, 98.35it/s]\n",
1045
  "Plotting labels... \n",
1046
  "\n",
1047
  "\u001b[34m\u001b[1mautoanchor: \u001b[0mAnalyzing anchors... anchors/target = 4.26, Best Possible Recall (BPR) = 0.9946\n",
 
1051
  "Starting training for 3 epochs...\n",
1052
  "\n",
1053
  " Epoch gpu_mem box obj cls total labels img_size\n",
1054
+ " 0/2 10.8G 0.04226 0.06067 0.02005 0.123 158 640: 100% 8/8 [00:05<00:00, 1.41it/s]\n",
1055
+ " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 4/4 [00:04<00:00, 1.21s/it]\n",
1056
+ " all 128 929 0.633 0.641 0.668 0.439\n",
1057
  "\n",
1058
  " Epoch gpu_mem box obj cls total labels img_size\n",
1059
+ " 1/2 8.29G 0.04571 0.06616 0.01952 0.1314 164 640: 100% 8/8 [00:01<00:00, 5.65it/s]\n",
1060
+ " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 4/4 [00:01<00:00, 3.21it/s]\n",
1061
+ " all 128 929 0.613 0.659 0.669 0.438\n",
1062
  "\n",
1063
  " Epoch gpu_mem box obj cls total labels img_size\n",
1064
+ " 2/2 8.29G 0.04542 0.0718 0.01861 0.1358 191 640: 100% 8/8 [00:01<00:00, 4.89it/s]\n",
1065
+ " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 4/4 [00:02<00:00, 1.48it/s]\n",
1066
+ " all 128 929 0.636 0.652 0.67 0.44\n",
1067
  "3 epochs completed in 0.007 hours.\n",
1068
  "\n",
1069
  "Optimizer stripped from runs/train/exp/weights/last.pt, 14.8MB\n",
 
1330
  "outputs": []
1331
  }
1332
  ]
1333
+ }