diff --git a/tutorial.ipynb b/tutorial.ipynb index 1438924e4112..97e572798427 100644 --- a/tutorial.ipynb +++ b/tutorial.ipynb @@ -17,7 +17,7 @@ "accelerator": "GPU", "widgets": { "application/vnd.jupyter.widget-state+json": { - "57c562894aed45cd9a107d0455e3e3f4": { + "6d6b90ead2db49b3bdf624b6ba9b44e9": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -32,14 +32,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_040d53c6cc924350bcb656cd21a7c713", - "IPY_MODEL_e029890942a74c098408ce5a9a566d51", - "IPY_MODEL_8fb991c03e434566a4297b6ab9446f89" + "IPY_MODEL_cb77443edb9e43328a56aaa4413a0df3", + "IPY_MODEL_954c8b8699e143bf92be6bfc02fc52f6", + "IPY_MODEL_a64775946e13477f83d8bba6086385b9" ], - "layout": "IPY_MODEL_a9a376923a7742d89fb335db709c7a7e" + "layout": "IPY_MODEL_1413611b7f4f4ef99e4f541f5ca35ed6" } }, - "040d53c6cc924350bcb656cd21a7c713": { + "cb77443edb9e43328a56aaa4413a0df3": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -54,13 +54,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_8b4276ac834c4735bf60ee9b761b9962", + "layout": "IPY_MODEL_00737f5558eb4fbd968172acb978e54a", "placeholder": "​", - "style": "IPY_MODEL_52cc8da75b724198856617247541cb1e", + "style": "IPY_MODEL_f03e5ddfd1c04bedaf68ab02c3f6f0ea", "value": "100%" } }, - "e029890942a74c098408ce5a9a566d51": { + "954c8b8699e143bf92be6bfc02fc52f6": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -76,15 +76,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_b6652f46480243c4adf60e6440043d6f", + "layout": "IPY_MODEL_6926db7e0035455f99e1dd4508c4b19c", "max": 818322941, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_e502754177ff4ea8abf82a6e9ac77a4a", + "style": "IPY_MODEL_a6a52c9f828b458e97ddf7a11ae9275f", "value": 818322941 } }, - "8fb991c03e434566a4297b6ab9446f89": { + "a64775946e13477f83d8bba6086385b9": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -99,13 +99,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_447398becdb04836b5ffb5915318db07", + "layout": "IPY_MODEL_c4c7dc45a1c24dc4b2c709e21271a37e", "placeholder": "​", - "style": "IPY_MODEL_2fddcb27ad4a4caa81ff51111f8d0ed6", - "value": " 780M/780M [01:17<00:00, 12.3MB/s]" + "style": "IPY_MODEL_09c43ffe2c7e4bdc9489e83f9d82ab73", + "value": " 780M/780M [01:12<00:00, 23.8MB/s]" } }, - "a9a376923a7742d89fb335db709c7a7e": { + "1413611b7f4f4ef99e4f541f5ca35ed6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -157,7 +157,7 @@ "width": null } }, - "8b4276ac834c4735bf60ee9b761b9962": { + "00737f5558eb4fbd968172acb978e54a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -209,7 +209,7 @@ "width": null } }, - "52cc8da75b724198856617247541cb1e": { + "f03e5ddfd1c04bedaf68ab02c3f6f0ea": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -224,7 +224,7 @@ "description_width": "" } }, - "b6652f46480243c4adf60e6440043d6f": { + "6926db7e0035455f99e1dd4508c4b19c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -276,7 +276,7 @@ "width": null } }, - "e502754177ff4ea8abf82a6e9ac77a4a": { + "a6a52c9f828b458e97ddf7a11ae9275f": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -292,7 +292,7 @@ "description_width": "" } }, - "447398becdb04836b5ffb5915318db07": { + "c4c7dc45a1c24dc4b2c709e21271a37e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -344,7 +344,7 @@ "width": null } }, - "2fddcb27ad4a4caa81ff51111f8d0ed6": { + "09c43ffe2c7e4bdc9489e83f9d82ab73": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -404,7 +404,7 @@ "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "e0f693e4-413b-4cc8-ae7e-91537da370b0" + "outputId": "508de90c-846e-495d-c7d6-50681af62a98" }, "source": [ "!git clone https://github.com/ultralytics/yolov5 # clone\n", @@ -421,7 +421,7 @@ "output_type": "stream", "name": "stderr", "text": [ - "YOLOv5 🚀 v6.2-2-g7c9486e Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n" + "YOLOv5 🚀 v6.2-15-g61adf01 Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n" ] }, { @@ -461,7 +461,7 @@ "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "941d625b-01a1-4f1b-dfd2-d9ef1c945715" + "outputId": "93881540-331e-4890-cd38-4c2776933238" }, "source": [ "!python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images\n", @@ -474,16 +474,16 @@ "name": "stdout", "text": [ "\u001b[34m\u001b[1mdetect: \u001b[0mweights=['yolov5s.pt'], source=data/images, data=data/coco128.yaml, imgsz=[640, 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, dnn=False\n", - "YOLOv5 🚀 v6.2-2-g7c9486e Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n", + "YOLOv5 🚀 v6.2-15-g61adf01 Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n", "\n", "Downloading https://github.com/ultralytics/yolov5/releases/download/v6.2/yolov5s.pt to yolov5s.pt...\n", - "100% 14.1M/14.1M [00:00<00:00, 50.5MB/s]\n", + "100% 14.1M/14.1M [00:00<00:00, 39.3MB/s]\n", "\n", "Fusing layers... \n", "YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients\n", - "image 1/2 /content/yolov5/data/images/bus.jpg: 640x480 4 persons, 1 bus, Done. (0.014s)\n", - "image 2/2 /content/yolov5/data/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.020s)\n", - "Speed: 0.6ms pre-process, 17.0ms inference, 20.2ms NMS per image at shape (1, 3, 640, 640)\n", + "image 1/2 /content/yolov5/data/images/bus.jpg: 640x480 4 persons, 1 bus, 14.9ms\n", + "image 2/2 /content/yolov5/data/images/zidane.jpg: 384x640 2 persons, 2 ties, 22.0ms\n", + "Speed: 0.6ms pre-process, 18.4ms inference, 24.1ms NMS per image at shape (1, 3, 640, 640)\n", "Results saved to \u001b[1mruns/detect/exp\u001b[0m\n" ] } @@ -527,20 +527,20 @@ "base_uri": "https://localhost:8080/", "height": 49, "referenced_widgets": [ - "57c562894aed45cd9a107d0455e3e3f4", - "040d53c6cc924350bcb656cd21a7c713", - "e029890942a74c098408ce5a9a566d51", - "8fb991c03e434566a4297b6ab9446f89", - "a9a376923a7742d89fb335db709c7a7e", - "8b4276ac834c4735bf60ee9b761b9962", - "52cc8da75b724198856617247541cb1e", - "b6652f46480243c4adf60e6440043d6f", - "e502754177ff4ea8abf82a6e9ac77a4a", - "447398becdb04836b5ffb5915318db07", - "2fddcb27ad4a4caa81ff51111f8d0ed6" + "6d6b90ead2db49b3bdf624b6ba9b44e9", + "cb77443edb9e43328a56aaa4413a0df3", + "954c8b8699e143bf92be6bfc02fc52f6", + "a64775946e13477f83d8bba6086385b9", + "1413611b7f4f4ef99e4f541f5ca35ed6", + "00737f5558eb4fbd968172acb978e54a", + "f03e5ddfd1c04bedaf68ab02c3f6f0ea", + "6926db7e0035455f99e1dd4508c4b19c", + "a6a52c9f828b458e97ddf7a11ae9275f", + "c4c7dc45a1c24dc4b2c709e21271a37e", + "09c43ffe2c7e4bdc9489e83f9d82ab73" ] }, - "outputId": "d593b41a-55e7-48a5-e285-5df449edc8c0" + "outputId": "ed2ca46e-a1a9-4a16-c449-859278d8aa18" }, "source": [ "# Download COCO val\n", @@ -558,7 +558,7 @@ "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, - "model_id": "57c562894aed45cd9a107d0455e3e3f4" + "model_id": "6d6b90ead2db49b3bdf624b6ba9b44e9" } }, "metadata": {} @@ -572,7 +572,7 @@ "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "701132a6-9ca8-4e1f-c89f-5d38893a6fc4" + "outputId": "19a590ef-363e-424c-d9ce-78bbe0593cd5" }, "source": [ "# Run YOLOv5x on COCO val\n", @@ -585,35 +585,35 @@ "name": "stdout", "text": [ "\u001b[34m\u001b[1mval: \u001b[0mdata=/content/yolov5/data/coco.yaml, weights=['yolov5x.pt'], batch_size=32, imgsz=640, conf_thres=0.001, iou_thres=0.65, task=val, device=, workers=8, 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, dnn=False\n", - "YOLOv5 🚀 v6.2-2-g7c9486e Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n", + "YOLOv5 🚀 v6.2-15-g61adf01 Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n", "\n", "Downloading https://github.com/ultralytics/yolov5/releases/download/v6.2/yolov5x.pt to yolov5x.pt...\n", - "100% 166M/166M [00:11<00:00, 15.1MB/s]\n", + "100% 166M/166M [00:06<00:00, 28.1MB/s]\n", "\n", "Fusing layers... \n", "YOLOv5x summary: 444 layers, 86705005 parameters, 0 gradients\n", "Downloading https://ultralytics.com/assets/Arial.ttf to /root/.config/Ultralytics/Arial.ttf...\n", - "100% 755k/755k [00:00<00:00, 48.6MB/s]\n", - "\u001b[34m\u001b[1mval: \u001b[0mScanning '/content/datasets/coco/val2017' images and labels...4952 found, 48 missing, 0 empty, 0 corrupt: 100% 5000/5000 [00:00<00:00, 10889.87it/s]\n", + "100% 755k/755k [00:00<00:00, 47.3MB/s]\n", + "\u001b[34m\u001b[1mval: \u001b[0mScanning '/content/datasets/coco/val2017' images and labels...4952 found, 48 missing, 0 empty, 0 corrupt: 100% 5000/5000 [00:00<00:00, 10756.32it/s]\n", "\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /content/datasets/coco/val2017.cache\n", - " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 157/157 [01:05<00:00, 2.38it/s]\n", + " Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 157/157 [01:07<00:00, 2.33it/s]\n", " all 5000 36335 0.743 0.625 0.683 0.504\n", - "Speed: 0.1ms pre-process, 4.7ms inference, 1.0ms NMS per image at shape (32, 3, 640, 640)\n", + "Speed: 0.1ms pre-process, 4.6ms inference, 1.2ms NMS per image at shape (32, 3, 640, 640)\n", "\n", "Evaluating pycocotools mAP... saving runs/val/exp/yolov5x_predictions.json...\n", "loading annotations into memory...\n", - "Done (t=0.39s)\n", + "Done (t=0.41s)\n", "creating index...\n", "index created!\n", "Loading and preparing results...\n", - "DONE (t=5.53s)\n", + "DONE (t=5.64s)\n", "creating index...\n", "index created!\n", "Running per image evaluation...\n", "Evaluate annotation type *bbox*\n", - "DONE (t=73.01s).\n", + "DONE (t=76.80s).\n", "Accumulating evaluation results...\n", - "DONE (t=15.27s).\n", + "DONE (t=14.61s).\n", " Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.506\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.549\n", @@ -745,7 +745,7 @@ "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "50a9318f-d438-41d5-db95-928f1842c057" + "outputId": "47759d5e-34f0-4a6a-c714-ff533391cfff" }, "source": [ "# Train YOLOv5s on COCO128 for 3 epochs\n", @@ -759,7 +759,7 @@ "text": [ "\u001b[34m\u001b[1mtrain: \u001b[0mweights=yolov5s.pt, cfg=, data=coco128.yaml, hyp=data/hyps/hyp.scratch-low.yaml, epochs=3, batch_size=16, imgsz=640, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, noplots=False, evolve=None, bucket=, cache=ram, image_weights=False, device=, multi_scale=False, single_cls=False, optimizer=SGD, sync_bn=False, workers=8, project=runs/train, name=exp, exist_ok=False, quad=False, cos_lr=False, label_smoothing=0.0, patience=100, freeze=[0], save_period=-1, seed=0, local_rank=-1, entity=None, upload_dataset=False, bbox_interval=-1, artifact_alias=latest\n", "\u001b[34m\u001b[1mgithub: \u001b[0mup to date with https://github.com/ultralytics/yolov5 ✅\n", - "YOLOv5 🚀 v6.2-2-g7c9486e Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n", + "YOLOv5 🚀 v6.2-15-g61adf01 Python-3.7.13 torch-1.12.1+cu113 CUDA:0 (Tesla V100-SXM2-16GB, 16160MiB)\n", "\n", "\u001b[34m\u001b[1mhyperparameters: \u001b[0mlr0=0.01, lrf=0.01, 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 in Weights & Biases\n", @@ -768,8 +768,8 @@ "\n", "Dataset not found ⚠️, missing paths ['/content/datasets/coco128/images/train2017']\n", "Downloading https://ultralytics.com/assets/coco128.zip to coco128.zip...\n", - "100% 6.66M/6.66M [00:00<00:00, 12.4MB/s]\n", - "Dataset download success ✅ (1.3s), saved to \u001b[1m/content/datasets\u001b[0m\n", + "100% 6.66M/6.66M [00:00<00:00, 75.3MB/s]\n", + "Dataset download success ✅ (0.7s), saved to \u001b[1m/content/datasets\u001b[0m\n", "\n", " from n params module arguments \n", " 0 -1 1 3520 models.common.Conv [3, 32, 6, 2, 2] \n", @@ -803,11 +803,11 @@ "\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n", "\u001b[34m\u001b[1moptimizer:\u001b[0m SGD(lr=0.01) with parameter groups 57 weight(decay=0.0), 60 weight(decay=0.0005), 60 bias\n", "\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))\n", - "\u001b[34m\u001b[1mtrain: \u001b[0mScanning '/content/datasets/coco128/labels/train2017' images and labels...128 found, 0 missing, 2 empty, 0 corrupt: 100% 128/128 [00:00<00:00, 8516.89it/s]\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mScanning '/content/datasets/coco128/labels/train2017' images and labels...128 found, 0 missing, 2 empty, 0 corrupt: 100% 128/128 [00:00<00:00, 7246.20it/s]\n", "\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: /content/datasets/coco128/labels/train2017.cache\n", - "\u001b[34m\u001b[1mtrain: \u001b[0mCaching images (0.1GB ram): 100% 128/128 [00:00<00:00, 1043.44it/s]\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mCaching images (0.1GB ram): 100% 128/128 [00:00<00:00, 986.21it/s]\n", "\u001b[34m\u001b[1mval: \u001b[0mScanning '/content/datasets/coco128/labels/train2017.cache' images and labels... 128 found, 0 missing, 2 empty, 0 corrupt: 100% 128/128 [00:00