ultralytics 8.0.72 faster Windows trainings and corrupt cache fix (#1912)

Co-authored-by: andreaswimmer <53872150+andreaswimmer@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Glenn Jocher
2023-04-10 00:21:03 +02:00
committed by GitHub
parent 48f1d269fb
commit 95f96dc5bc
18 changed files with 312 additions and 413 deletions

View File

@ -59,21 +59,21 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "ea235da2-8fb5-4094-9dc2-8523d0800a22"
"outputId": "2ea6e0b9-1a62-4355-c246-5e8b7b1dafff"
},
"source": [
"%pip install ultralytics\n",
"import ultralytics\n",
"ultralytics.checks()"
],
"execution_count": null,
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"Ultralytics YOLOv8.0.57 🚀 Python-3.9.16 torch-1.13.1+cu116 CUDA:0 (Tesla T4, 15102MiB)\n",
"Setup complete ✅ (2 CPUs, 12.7 GB RAM, 25.9/166.8 GB disk)\n"
"Ultralytics YOLOv8.0.71 🚀 Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
"Setup complete ✅ (2 CPUs, 12.7 GB RAM, 23.3/166.8 GB disk)\n"
]
}
]
@ -96,24 +96,28 @@
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "fe0a5a26-3bcc-4c1f-e688-cae00ee5b958"
"outputId": "c578afbd-47cd-4d11-beec-8b5c31fcfba8"
},
"source": [
"# Run inference on an image with YOLOv8n\n",
"!yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg'"
],
"execution_count": null,
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Ultralytics YOLOv8.0.57 🚀 Python-3.9.16 torch-1.13.1+cu116 CUDA:0 (Tesla T4, 15102MiB)\n",
"Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt to yolov8n.pt...\n",
"100% 6.23M/6.23M [00:00<00:00, 195MB/s]\n",
"Ultralytics YOLOv8.0.71 🚀 Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
"YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\n",
"\n",
"Found https://ultralytics.com/images/zidane.jpg locally at zidane.jpg\n",
"image 1/1 /content/zidane.jpg: 384x640 2 persons, 1 tie, 14.3ms\n",
"Speed: 0.5ms preprocess, 14.3ms inference, 1.8ms postprocess per image at shape (1, 3, 640, 640)\n"
"Downloading https://ultralytics.com/images/zidane.jpg to zidane.jpg...\n",
"100% 165k/165k [00:00<00:00, 51.7MB/s]\n",
"image 1/1 /content/zidane.jpg: 384x640 2 persons, 1 tie, 60.9ms\n",
"Speed: 0.6ms preprocess, 60.9ms inference, 301.3ms postprocess per image at shape (1, 3, 640, 640)\n",
"Results saved to \u001b[1mruns/detect/predict\u001b[0m\n"
]
}
]
@ -156,7 +160,7 @@
"cell_type": "code",
"metadata": {
"id": "X58w8JLpMnjH",
"outputId": "ae2040df-0f95-4701-c680-8bbb7be92bcd",
"outputId": "3e5a9c48-8eba-45eb-d92f-8456cf94b60e",
"colab": {
"base_uri": "https://localhost:8080/"
}
@ -165,26 +169,26 @@
"# Validate YOLOv8n on COCO128 val\n",
"!yolo val model=yolov8n.pt data=coco128.yaml"
],
"execution_count": null,
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Ultralytics YOLOv8.0.57 🚀 Python-3.9.16 torch-1.13.1+cu116 CUDA:0 (Tesla T4, 15102MiB)\n",
"Ultralytics YOLOv8.0.71 🚀 Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
"YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\n",
"\n",
"Dataset 'coco128.yaml' images not found ⚠️, missing paths ['/content/datasets/coco128/images/train2017']\n",
"Downloading https://ultralytics.com/assets/coco128.zip to /content/datasets/coco128.zip...\n",
"100% 6.66M/6.66M [00:00<00:00, 87.2MB/s]\n",
"100% 6.66M/6.66M [00:01<00:00, 6.80MB/s]\n",
"Unzipping /content/datasets/coco128.zip to /content/datasets...\n",
"Dataset download success ✅ (0.4s), saved to \u001b[1m/content/datasets\u001b[0m\n",
"Dataset download success ✅ (2.2s), saved to \u001b[1m/content/datasets\u001b[0m\n",
"\n",
"Downloading https://ultralytics.com/assets/Arial.ttf to /root/.config/Ultralytics/Arial.ttf...\n",
"100% 755k/755k [00:00<00:00, 16.9MB/s]\n",
"\u001b[34m\u001b[1mval: \u001b[0mScanning /content/datasets/coco128/labels/train2017... 126 images, 2 backgrounds, 0 corrupt: 100% 128/128 [00:00<00:00, 2007.12it/s]\n",
"100% 755k/755k [00:00<00:00, 107MB/s]\n",
"\u001b[34m\u001b[1mval: \u001b[0mScanning /content/datasets/coco128/labels/train2017... 126 images, 2 backgrounds, 80 corrupt: 100% 128/128 [00:00<00:00, 1183.28it/s]\n",
"\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /content/datasets/coco128/labels/train2017.cache\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 8/8 [00:08<00:00, 1.04s/it]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 8/8 [00:12<00:00, 1.54s/it]\n",
" all 128 929 0.64 0.537 0.605 0.446\n",
" person 128 254 0.797 0.677 0.764 0.538\n",
" bicycle 128 6 0.514 0.333 0.315 0.264\n",
@ -257,7 +261,7 @@
" scissors 128 1 1 0 0.249 0.0746\n",
" teddy bear 128 21 0.877 0.333 0.591 0.394\n",
" toothbrush 128 5 0.743 0.6 0.638 0.374\n",
"Speed: 2.9ms preprocess, 6.2ms inference, 0.0ms loss, 5.1ms postprocess per image\n",
"Speed: 5.3ms preprocess, 20.1ms inference, 0.0ms loss, 11.7ms postprocess per image\n",
"Results saved to \u001b[1mruns/detect/val\u001b[0m\n"
]
}
@ -271,7 +275,7 @@
"source": [
"# 3. Train\n",
"\n",
"<p align=\"\"><a href=\"https://roboflow.com/?ref=ultralytics\"><img width=\"1000\" src=\"https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png\"/></a></p>\n",
"<p align=\"\"><a href=\"https://bit.ly/ultralytics_hub\"><img width=\"1000\" src=\"https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png\"/></a></p>\n",
"\n",
"Train YOLOv8 on [Detect](https://docs.ultralytics.com/tasks/detect/), [Segment](https://docs.ultralytics.com/tasks/segment/), [Classify](https://docs.ultralytics.com/tasks/classify/) and [Pose](https://docs.ultralytics.com/tasks/pose/) datasets. See [YOLOv8 Train Docs](https://docs.ultralytics.com/modes/train/) for more information."
]
@ -280,7 +284,7 @@
"cell_type": "code",
"metadata": {
"id": "1NcFxRcFdJ_O",
"outputId": "fcb5e3da-3766-4c72-97e1-73c1bd2ccbef",
"outputId": "b60a1f74-8035-4f9e-b4b0-604f9cf76231",
"colab": {
"base_uri": "https://localhost:8080/"
}
@ -289,14 +293,14 @@
"# Train YOLOv8n on COCO128 for 3 epochs\n",
"!yolo train model=yolov8n.pt data=coco128.yaml epochs=3 imgsz=640"
],
"execution_count": null,
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Ultralytics YOLOv8.0.57 🚀 Python-3.9.16 torch-1.13.1+cu116 CUDA:0 (Tesla T4, 15102MiB)\n",
"\u001b[34m\u001b[1myolo/engine/trainer: \u001b[0mtask=detect, mode=train, model=yolov8n.pt, data=coco128.yaml, epochs=3, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=None, exist_ok=False, pretrained=False, optimizer=SGD, verbose=True, seed=0, deterministic=True, single_cls=False, image_weights=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, show=False, save_txt=False, save_conf=False, save_crop=False, hide_labels=False, hide_conf=False, vid_stride=1, line_thickness=3, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=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=7.5, cls=0.5, dfl=1.5, label_smoothing=0.0, nbs=64, 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, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/train\n",
"Ultralytics YOLOv8.0.71 🚀 Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
"\u001b[34m\u001b[1myolo/engine/trainer: \u001b[0mtask=detect, mode=train, model=yolov8n.pt, data=coco128.yaml, epochs=3, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=None, exist_ok=False, pretrained=False, optimizer=SGD, verbose=True, seed=0, deterministic=True, single_cls=False, image_weights=False, rect=False, cos_lr=False, close_mosaic=0, resume=False, amp=True, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_thickness=3, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=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=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, 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, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/train\n",
"\n",
" from n params module arguments \n",
" 0 -1 1 464 ultralytics.nn.modules.Conv [3, 16, 3, 2] \n",
@ -325,18 +329,13 @@
"Model summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs\n",
"\n",
"Transferred 355/355 items from pretrained weights\n",
"2023-03-26 14:57:47.224672: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA\n",
"To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
"2023-03-26 14:57:48.209047: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib/python3.9/dist-packages/cv2/../../lib64:/usr/local/lib/python3.9/dist-packages/cv2/../../lib64:/usr/lib64-nvidia\n",
"2023-03-26 14:57:48.209179: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib/python3.9/dist-packages/cv2/../../lib64:/usr/local/lib/python3.9/dist-packages/cv2/../../lib64:/usr/lib64-nvidia\n",
"2023-03-26 14:57:48.209199: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n",
"\u001b[34m\u001b[1mTensorBoard: \u001b[0mStart with 'tensorboard --logdir runs/detect/train', view at http://localhost:6006/\n",
"\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks with YOLOv8n...\n",
"\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), 64 weight(decay=0.0005), 63 bias\n",
"\u001b[34m\u001b[1mtrain: \u001b[0mScanning /content/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrounds, 0 corrupt: 100% 128/128 [00:00<?, ?it/s]\n",
"\u001b[34m\u001b[1mtrain: \u001b[0mScanning /content/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrounds, 80 corrupt: 100% 128/128 [00:00<?, ?it/s]\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[1mval: \u001b[0mScanning /content/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrounds, 0 corrupt: 100% 128/128 [00:00<?, ?it/s]\n",
"\u001b[34m\u001b[1mval: \u001b[0mScanning /content/datasets/coco128/labels/train2017.cache... 126 images, 2 backgrounds, 80 corrupt: 100% 128/128 [00:00<?, ?it/s]\n",
"Plotting labels to runs/detect/train/labels.jpg... \n",
"Image sizes 640 train, 640 val\n",
"Using 2 dataloader workers\n",
@ -344,101 +343,101 @@
"Starting training for 3 epochs...\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
" 1/3 2.77G 1.221 1.429 1.241 196 640: 100% 8/8 [00:10<00:00, 1.34s/it]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:02<00:00, 1.70it/s]\n",
" all 128 929 0.674 0.517 0.616 0.456\n",
" 1/3 2.78G 1.177 1.338 1.25 230 640: 100% 8/8 [00:06<00:00, 1.21it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:04<00:00, 1.21s/it]\n",
" all 128 929 0.631 0.549 0.614 0.455\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
" 2/3 3.61G 1.186 1.306 1.255 287 640: 100% 8/8 [00:05<00:00, 1.58it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:02<00:00, 1.83it/s]\n",
" all 128 929 0.644 0.599 0.638 0.473\n",
" 2/3 2.69G 1.131 1.405 1.24 179 640: 100% 8/8 [00:02<00:00, 3.13it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:02<00:00, 1.51it/s]\n",
" all 128 929 0.669 0.569 0.634 0.478\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n",
" 3/3 3.61G 1.169 1.405 1.266 189 640: 100% 8/8 [00:04<00:00, 1.65it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:06<00:00, 1.59s/it]\n",
" all 128 929 0.63 0.607 0.641 0.48\n",
" 3/3 2.84G 1.151 1.281 1.212 214 640: 100% 8/8 [00:02<00:00, 3.27it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:09<00:00, 2.42s/it]\n",
" all 128 929 0.687 0.58 0.65 0.488\n",
"\n",
"3 epochs completed in 0.011 hours.\n",
"3 epochs completed in 0.010 hours.\n",
"Optimizer stripped from runs/detect/train/weights/last.pt, 6.5MB\n",
"Optimizer stripped from runs/detect/train/weights/best.pt, 6.5MB\n",
"\n",
"Validating runs/detect/train/weights/best.pt...\n",
"Ultralytics YOLOv8.0.57 🚀 Python-3.9.16 torch-1.13.1+cu116 CUDA:0 (Tesla T4, 15102MiB)\n",
"Ultralytics YOLOv8.0.71 🚀 Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
"Model summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:06<00:00, 1.66s/it]\n",
" all 128 929 0.632 0.597 0.639 0.479\n",
" person 128 254 0.708 0.693 0.766 0.55\n",
" bicycle 128 6 0.458 0.333 0.323 0.254\n",
" car 128 46 0.763 0.217 0.287 0.181\n",
" motorcycle 128 5 0.542 0.8 0.895 0.727\n",
" airplane 128 6 0.744 0.833 0.903 0.695\n",
" bus 128 7 0.699 0.714 0.724 0.64\n",
" train 128 3 0.73 0.919 0.913 0.797\n",
" truck 128 12 0.747 0.5 0.497 0.324\n",
" boat 128 6 0.365 0.333 0.393 0.291\n",
" traffic light 128 14 0.708 0.214 0.202 0.139\n",
" stop sign 128 2 1 0.953 0.995 0.666\n",
" bench 128 9 0.754 0.556 0.606 0.412\n",
" bird 128 16 0.929 0.819 0.948 0.643\n",
" cat 128 4 0.864 1 0.995 0.778\n",
" dog 128 9 0.598 0.828 0.834 0.627\n",
" horse 128 2 0.679 1 0.995 0.547\n",
" elephant 128 17 0.757 0.882 0.929 0.722\n",
" bear 128 1 0.593 1 0.995 0.995\n",
" zebra 128 4 0.851 1 0.995 0.966\n",
" giraffe 128 9 0.838 1 0.984 0.681\n",
" backpack 128 6 0.473 0.333 0.342 0.217\n",
" umbrella 128 18 0.569 0.667 0.708 0.454\n",
" handbag 128 19 0.649 0.105 0.233 0.137\n",
" tie 128 7 0.608 0.714 0.614 0.428\n",
" suitcase 128 4 0.471 1 0.745 0.54\n",
" frisbee 128 5 0.629 0.8 0.732 0.64\n",
" skis 128 1 0.699 1 0.995 0.522\n",
" snowboard 128 7 0.654 0.714 0.758 0.497\n",
" sports ball 128 6 0.707 0.415 0.515 0.288\n",
" kite 128 10 0.687 0.4 0.561 0.207\n",
" baseball bat 128 4 0.439 0.409 0.263 0.114\n",
" baseball glove 128 7 0.679 0.429 0.43 0.317\n",
" skateboard 128 5 0.738 0.6 0.599 0.386\n",
" tennis racket 128 7 0.738 0.408 0.493 0.371\n",
" bottle 128 18 0.44 0.333 0.377 0.247\n",
" wine glass 128 16 0.545 0.5 0.596 0.358\n",
" cup 128 36 0.651 0.278 0.412 0.297\n",
" fork 128 6 0.568 0.167 0.229 0.202\n",
" knife 128 16 0.557 0.562 0.628 0.399\n",
" spoon 128 22 0.471 0.318 0.369 0.214\n",
" bowl 128 28 0.611 0.679 0.671 0.547\n",
" banana 128 1 0.0573 0.286 0.199 0.0522\n",
" sandwich 128 2 0.377 0.5 0.745 0.745\n",
" orange 128 4 0.743 0.729 0.895 0.595\n",
" broccoli 128 11 0.491 0.265 0.281 0.233\n",
" carrot 128 24 0.548 0.667 0.694 0.465\n",
" hot dog 128 2 0.586 1 0.828 0.796\n",
" pizza 128 5 0.873 1 0.995 0.798\n",
" donut 128 14 0.554 1 0.891 0.786\n",
" cake 128 4 0.806 1 0.995 0.904\n",
" chair 128 35 0.408 0.514 0.469 0.267\n",
" couch 128 6 0.517 0.5 0.655 0.463\n",
" potted plant 128 14 0.564 0.643 0.673 0.467\n",
" bed 128 3 0.72 1 0.995 0.734\n",
" dining table 128 13 0.433 0.692 0.58 0.48\n",
" toilet 128 2 0.508 0.5 0.745 0.721\n",
" tv 128 2 0.563 0.689 0.828 0.762\n",
" laptop 128 3 1 0.455 0.747 0.657\n",
" mouse 128 2 1 0 0.0405 0.0081\n",
" remote 128 8 0.832 0.5 0.574 0.445\n",
" cell phone 128 8 0 0 0.0724 0.0315\n",
" microwave 128 3 0.496 0.667 0.806 0.685\n",
" oven 128 5 0.501 0.4 0.345 0.273\n",
" sink 128 6 0.379 0.212 0.366 0.21\n",
" refrigerator 128 5 0.612 0.4 0.77 0.608\n",
" book 128 29 0.553 0.207 0.387 0.2\n",
" clock 128 9 0.88 0.889 0.907 0.772\n",
" vase 128 2 0.508 1 0.828 0.745\n",
" scissors 128 1 1 0 0.142 0.0426\n",
" teddy bear 128 21 0.662 0.476 0.603 0.442\n",
" toothbrush 128 5 0.792 0.768 0.898 0.574\n",
"Speed: 1.1ms preprocess, 5.4ms inference, 0.0ms loss, 2.9ms postprocess per image\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:06<00:00, 1.63s/it]\n",
" all 128 929 0.689 0.578 0.65 0.486\n",
" person 128 254 0.763 0.673 0.769 0.544\n",
" bicycle 128 6 1 0.328 0.379 0.332\n",
" car 128 46 0.84 0.217 0.292 0.18\n",
" motorcycle 128 5 0.612 0.8 0.872 0.709\n",
" airplane 128 6 0.766 0.833 0.894 0.694\n",
" bus 128 7 0.748 0.714 0.721 0.675\n",
" train 128 3 0.686 1 0.913 0.83\n",
" truck 128 12 0.889 0.5 0.529 0.342\n",
" boat 128 6 0.393 0.333 0.44 0.216\n",
" traffic light 128 14 1 0.21 0.224 0.142\n",
" stop sign 128 2 1 0.977 0.995 0.697\n",
" bench 128 9 0.795 0.434 0.658 0.418\n",
" bird 128 16 0.933 0.868 0.955 0.656\n",
" cat 128 4 0.796 1 0.995 0.786\n",
" dog 128 9 0.713 0.889 0.823 0.608\n",
" horse 128 2 0.576 1 0.995 0.547\n",
" elephant 128 17 0.786 0.824 0.911 0.719\n",
" bear 128 1 0.432 1 0.995 0.895\n",
" zebra 128 4 0.86 1 0.995 0.935\n",
" giraffe 128 9 0.966 1 0.995 0.727\n",
" backpack 128 6 0.534 0.333 0.399 0.227\n",
" umbrella 128 18 0.757 0.519 0.665 0.447\n",
" handbag 128 19 0.939 0.105 0.25 0.14\n",
" tie 128 7 0.677 0.602 0.682 0.505\n",
" suitcase 128 4 0.636 1 0.995 0.646\n",
" frisbee 128 5 1 0.789 0.799 0.689\n",
" skis 128 1 0.794 1 0.995 0.497\n",
" snowboard 128 7 0.575 0.714 0.762 0.48\n",
" sports ball 128 6 0.703 0.407 0.514 0.288\n",
" kite 128 10 0.645 0.4 0.506 0.206\n",
" baseball bat 128 4 0.436 0.404 0.253 0.125\n",
" baseball glove 128 7 0.786 0.429 0.43 0.303\n",
" skateboard 128 5 0.752 0.6 0.6 0.433\n",
" tennis racket 128 7 0.707 0.286 0.508 0.313\n",
" bottle 128 18 0.484 0.389 0.43 0.271\n",
" wine glass 128 16 0.471 0.562 0.584 0.327\n",
" cup 128 36 0.569 0.278 0.404 0.286\n",
" fork 128 6 0.529 0.167 0.207 0.192\n",
" knife 128 16 0.697 0.562 0.594 0.377\n",
" spoon 128 22 0.68 0.182 0.376 0.213\n",
" bowl 128 28 0.623 0.679 0.653 0.536\n",
" banana 128 1 0 0 0.142 0.0363\n",
" sandwich 128 2 1 0 0.745 0.745\n",
" orange 128 4 1 0.457 0.849 0.56\n",
" broccoli 128 11 0.465 0.273 0.284 0.246\n",
" carrot 128 24 0.581 0.751 0.745 0.489\n",
" hot dog 128 2 0.654 0.961 0.828 0.763\n",
" pizza 128 5 0.631 1 0.995 0.854\n",
" donut 128 14 0.583 1 0.933 0.84\n",
" cake 128 4 0.643 1 0.995 0.88\n",
" chair 128 35 0.5 0.543 0.459 0.272\n",
" couch 128 6 0.488 0.5 0.624 0.47\n",
" potted plant 128 14 0.645 0.714 0.747 0.542\n",
" bed 128 3 0.718 1 0.995 0.798\n",
" dining table 128 13 0.448 0.615 0.538 0.437\n",
" toilet 128 2 1 0.884 0.995 0.946\n",
" tv 128 2 0.548 0.644 0.828 0.762\n",
" laptop 128 3 1 0.563 0.72 0.639\n",
" mouse 128 2 1 0 0.0623 0.0125\n",
" remote 128 8 0.697 0.5 0.578 0.496\n",
" cell phone 128 8 0 0 0.102 0.0471\n",
" microwave 128 3 0.651 0.667 0.863 0.738\n",
" oven 128 5 0.471 0.4 0.415 0.309\n",
" sink 128 6 0.45 0.284 0.268 0.159\n",
" refrigerator 128 5 0.679 0.4 0.695 0.537\n",
" book 128 29 0.656 0.133 0.424 0.227\n",
" clock 128 9 0.878 0.778 0.898 0.759\n",
" vase 128 2 0.413 1 0.828 0.745\n",
" scissors 128 1 1 0 0.199 0.0597\n",
" teddy bear 128 21 0.553 0.472 0.669 0.447\n",
" toothbrush 128 5 1 0.518 0.8 0.521\n",
"Speed: 2.7ms preprocess, 3.5ms inference, 0.0ms loss, 3.2ms postprocess per image\n",
"Results saved to \u001b[1mruns/detect/train\u001b[0m\n"
]
}
@ -485,23 +484,23 @@
"base_uri": "https://localhost:8080/"
},
"id": "CYIjW4igCjqD",
"outputId": "49b5bb9d-2c16-415b-c3e7-ec95c15a9e62"
"outputId": "fc41bf7a-0ea2-41a6-9ec5-dd0455af43bc"
},
"execution_count": null,
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Ultralytics YOLOv8.0.57 🚀 Python-3.9.16 torch-1.13.1+cu116 CPU\n",
"Ultralytics YOLOv8.0.71 🚀 Python-3.9.16 torch-2.0.0+cu118 CPU\n",
"YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\n",
"\n",
"\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from yolov8n.pt with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 84, 8400) (6.2 MB)\n",
"\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m starting export with torch 1.13.1+cu116...\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m export success ✅ 1.9s, saved as yolov8n.torchscript (12.4 MB)\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m starting export with torch 2.0.0+cu118...\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m export success ✅ 2.3s, saved as yolov8n.torchscript (12.4 MB)\n",
"\n",
"Export complete (2.6s)\n",
"Export complete (3.1s)\n",
"Results saved to \u001b[1m/content\u001b[0m\n",
"Predict: yolo predict task=detect model=yolov8n.torchscript imgsz=640 \n",
"Validate: yolo val task=detect model=yolov8n.torchscript imgsz=640 data=coco.yaml \n",
@ -677,9 +676,10 @@
{
"cell_type": "code",
"source": [
"# Git clone install (for development)\n",
"!git clone https://github.com/ultralytics/ultralytics -b main\n",
"%pip install -qe ultralytics"
"# Git clone and run tests on updates branch\n",
"!git clone https://github.com/ultralytics/ultralytics -b updates\n",
"%pip install -qe ultralytics\n",
"!pytest ultralytics/tests"
],
"metadata": {
"id": "uRKlwxSJdhd1"
@ -687,18 +687,6 @@
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "GMusP4OAxFu6"
},
"source": [
"# Run YOLOv8 tests (git clone install only)\n",
"!pytest ultralytics/tests"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [