@ -59,21 +59,21 @@
"colab": {
"colab": {
"base_uri": "https://localhost:8080/"
"base_uri": "https://localhost:8080/"
},
},
"outputId": "ea235da2-8fb5-4094-9dc2-8523d0800a22 "
"outputId": "2ea6e0b9-1a62-4355-c246-5e8b7b1dafff "
},
},
"source": [
"source": [
"%pip install ultralytics\n",
"%pip install ultralytics\n",
"import ultralytics\n",
"import ultralytics\n",
"ultralytics.checks()"
"ultralytics.checks()"
],
],
"execution_count": null ,
"execution_count": 1 ,
"outputs": [
"outputs": [
{
{
"output_type": "stream",
"output_type": "stream",
"name": "stderr",
"name": "stderr",
"text": [
"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",
"Setup complete ✅ (2 CPUs, 12.7 GB RAM, 25.9 /166.8 GB disk)\n"
"Setup complete ✅ (2 CPUs, 12.7 GB RAM, 23.3 /166.8 GB disk)\n"
]
]
}
}
]
]
@ -96,24 +96,28 @@
"colab": {
"colab": {
"base_uri": "https://localhost:8080/"
"base_uri": "https://localhost:8080/"
},
},
"outputId": "fe0a5a26-3bcc-4c1f-e688-cae00ee5b95 8"
"outputId": "c578afbd-47cd-4d11-beec-8b5c31fcfba 8"
},
},
"source": [
"source": [
"# Run inference on an image with YOLOv8n\n",
"# Run inference on an image with YOLOv8n\n",
"!yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg'"
"!yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg'"
],
],
"execution_count": null ,
"execution_count": 2 ,
"outputs": [
"outputs": [
{
{
"output_type": "stream",
"output_type": "stream",
"name": "stdout",
"name": "stdout",
"text": [
"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",
"YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\n",
"\n",
"\n",
"Found https://ultralytics.com/images/zidane.jpg locally at zidane.jpg\n",
"Downloading https://ultralytics.com/images/zidane.jpg to zidane.jpg...\n",
"image 1/1 /content/zidane.jpg: 384x640 2 persons, 1 tie, 14.3ms\n",
"100% 165k/165k [00:00<00:00, 51.7MB/s]\n",
"Speed: 0.5ms preprocess, 14.3ms inference, 1.8ms postprocess per image at shape (1, 3, 640, 640)\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",
"cell_type": "code",
"metadata": {
"metadata": {
"id": "X58w8JLpMnjH",
"id": "X58w8JLpMnjH",
"outputId": "ae2040df-0f95-4701-c680-8bbb7be92bcd ",
"outputId": "3e5a9c48-8eba-45eb-d92f-8456cf94b60e ",
"colab": {
"colab": {
"base_uri": "https://localhost:8080/"
"base_uri": "https://localhost:8080/"
}
}
@ -165,26 +169,26 @@
"# Validate YOLOv8n on COCO128 val\n",
"# Validate YOLOv8n on COCO128 val\n",
"!yolo val model=yolov8n.pt data=coco128.yaml"
"!yolo val model=yolov8n.pt data=coco128.yaml"
],
],
"execution_count": null ,
"execution_count": 3 ,
"outputs": [
"outputs": [
{
{
"output_type": "stream",
"output_type": "stream",
"name": "stdout",
"name": "stdout",
"text": [
"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",
"YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\n",
"\n",
"\n",
"Dataset 'coco128.yaml' images not found ⚠️, missing paths ['/content/datasets/coco128/images/train2017']\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",
"Downloading https://ultralytics.com/assets/coco128.zip to /content/datasets/coco128.zip...\n",
"100% 6.66M/6.66M [00:00<00:00, 87.2 MB/s]\n",
"100% 6.66M/6.66M [00:01<00:00, 6.80 MB/s]\n",
"Unzipping /content/datasets/coco128.zip to /content/datasets...\n",
"Unzipping /content/datasets/coco128.zip to /content/datasets...\n",
"Dataset download success ✅ (0.4 s), saved to \u001b[1m/content/datasets\u001b[0m\n",
"Dataset download success ✅ (2.2 s), saved to \u001b[1m/content/datasets\u001b[0m\n",
"\n",
"\n",
"Downloading https://ultralytics.com/assets/Arial.ttf to /root/.config/Ultralytics/Arial.ttf...\n",
"Downloading https://ultralytics.com/assets/Arial.ttf to /root/.config/Ultralytics/Arial.ttf...\n",
"100% 755k/755k [00:00<00:00, 16.9 MB/s]\n",
"100% 755k/755k [00:00<00:00, 107 MB/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",
"\u001b[34m\u001b[1mval: \u001b[0mScanning /content/datasets/coco128/labels/train2017... 126 images, 2 backgrounds, 8 0 corrupt: 100% 128/128 [00:00<00:00, 1183. 28 it/s]\n",
"\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /content/datasets/coco128/labels/train2017.cache\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.0 4s/it]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 8/8 [00:12<00:00, 1.5 4s/it]\n",
" all 128 929 0.64 0.537 0.605 0.446\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",
" person 128 254 0.797 0.677 0.764 0.538\n",
" bicycle 128 6 0.514 0.333 0.315 0.264\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",
" scissors 128 1 1 0 0.249 0.0746\n",
" teddy bear 128 21 0.877 0.333 0.591 0.394\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",
" toothbrush 128 5 0.743 0.6 0.638 0.374\n",
"Speed: 2.9ms preprocess, 6.2ms inference, 0.0ms loss, 5.1 ms postprocess per image\n",
"Speed: 5.3ms preprocess, 20.1ms inference, 0.0ms loss, 11.7 ms postprocess per image\n",
"Results saved to \u001b[1mruns/detect/val\u001b[0m\n"
"Results saved to \u001b[1mruns/detect/val\u001b[0m\n"
]
]
}
}
@ -271,7 +275,7 @@
"source": [
"source": [
"# 3. Train\n",
"# 3. Train\n",
"\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",
"\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."
"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",
"cell_type": "code",
"metadata": {
"metadata": {
"id": "1NcFxRcFdJ_O",
"id": "1NcFxRcFdJ_O",
"outputId": "fcb5e3da-3766-4c72-97e1-73c1bd2ccbef ",
"outputId": "b60a1f74-8035-4f9e-b4b0-604f9cf76231 ",
"colab": {
"colab": {
"base_uri": "https://localhost:8080/"
"base_uri": "https://localhost:8080/"
}
}
@ -289,14 +293,14 @@
"# Train YOLOv8n on COCO128 for 3 epochs\n",
"# Train YOLOv8n on COCO128 for 3 epochs\n",
"!yolo train model=yolov8n.pt data=coco128.yaml epochs=3 imgsz=640"
"!yolo train model=yolov8n.pt data=coco128.yaml epochs=3 imgsz=640"
],
],
"execution_count": null ,
"execution_count": 4 ,
"outputs": [
"outputs": [
{
{
"output_type": "stream",
"output_type": "stream",
"name": "stdout",
"name": "stdout",
"text": [
"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",
"\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=1 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, hide_labels=False, hide_conf=Fals e, 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",
"\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=Tru e, 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",
"\n",
" from n params module arguments \n",
" from n params module arguments \n",
" 0 -1 1 464 ultralytics.nn.modules.Conv [3, 16, 3, 2] \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",
"Model summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs\n",
"\n",
"\n",
"Transferred 355/355 items from pretrained weights\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[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[0mrunning Automatic Mixed Precision (AMP) checks with YOLOv8n...\n",
"\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\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[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[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, 8 0 corrupt: 100% 128/128 [00:00<?, ?it/s]\n",
"Plotting labels to runs/detect/train/labels.jpg... \n",
"Plotting labels to runs/detect/train/labels.jpg... \n",
"Image sizes 640 train, 640 val\n",
"Image sizes 640 train, 640 val\n",
"Using 2 dataloader workers\n",
"Using 2 dataloader workers\n",
@ -344,101 +343,101 @@
"Starting training for 3 epochs...\n",
"Starting training for 3 epochs...\n",
"\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\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",
" 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:02<00:00, 1.70it/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.674 0.517 0.616 0.456 \n",
" all 128 929 0.631 0.549 0.614 0.455 \n",
"\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\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.58 it/s]\n",
" 2/3 2.69G 1.131 1.405 1.24 179 640: 100% 8/8 [00:02<00:00, 3.13 it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:02<00:00, 1.83 it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:02<00:00, 1.51 it/s]\n",
" all 128 929 0.644 0.599 0.638 0.473 \n",
" all 128 929 0.669 0.569 0.634 0.478 \n",
"\n",
"\n",
" Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\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.65 it/s]\n",
" 3/3 2.84G 1.151 1.281 1.212 214 640: 100% 8/8 [00:02<00:00, 3.27 it/s]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:06<00:00, 1.59 s/it]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:09<00:00, 2.42 s/it]\n",
" all 128 929 0.63 0.607 0.641 0.4 8\n",
" all 128 929 0.687 0.58 0.65 0.48 8\n",
"\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/last.pt, 6.5MB\n",
"Optimizer stripped from runs/detect/train/weights/best.pt, 6.5MB\n",
"Optimizer stripped from runs/detect/train/weights/best.pt, 6.5MB\n",
"\n",
"\n",
"Validating runs/detect/train/weights/best.pt...\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",
"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.66 s/it]\n",
" Class Images Instances Box(P R mAP50 mAP50-95): 100% 4/4 [00:06<00:00, 1.63 s/it]\n",
" all 128 929 0.632 0.597 0.639 0.479 \n",
" all 128 929 0.689 0.578 0.65 0.486 \n",
" person 128 254 0.708 0.693 0.766 0.55 \n",
" person 128 254 0.763 0.673 0.769 0.544 \n",
" bicycle 128 6 0.458 0.333 0.323 0.254 \n",
" bicycle 128 6 1 0.328 0.379 0.332 \n",
" car 128 46 0.763 0.217 0.287 0.181 \n",
" car 128 46 0.84 0.217 0.292 0.18 \n",
" motorcycle 128 5 0.542 0.8 0.895 0.727 \n",
" motorcycle 128 5 0.612 0.8 0.872 0.709 \n",
" airplane 128 6 0.744 0.833 0.903 0.695 \n",
" airplane 128 6 0.766 0.833 0.894 0.694 \n",
" bus 128 7 0.699 0.714 0.724 0.64 \n",
" bus 128 7 0.748 0.714 0.721 0.675 \n",
" train 128 3 0.73 0.919 0.913 0.797 \n",
" train 128 3 0.686 1 0.913 0.83 \n",
" truck 128 12 0.747 0.5 0.497 0.324 \n",
" truck 128 12 0.889 0.5 0.529 0.342 \n",
" boat 128 6 0.365 0.333 0.393 0.291 \n",
" boat 128 6 0.393 0.333 0.44 0.216 \n",
" traffic light 128 14 0.708 0.214 0.202 0.139 \n",
" traffic light 128 14 1 0.21 0.224 0.142 \n",
" stop sign 128 2 1 0.953 0.995 0.666 \n",
" stop sign 128 2 1 0.977 0.995 0.697 \n",
" bench 128 9 0.754 0.556 0.606 0.412 \n",
" bench 128 9 0.795 0.434 0.658 0.418 \n",
" bird 128 16 0.929 0.819 0.948 0.643 \n",
" bird 128 16 0.933 0.868 0.955 0.656 \n",
" cat 128 4 0.864 1 0.995 0.778 \n",
" cat 128 4 0.796 1 0.995 0.786 \n",
" dog 128 9 0.598 0.828 0.834 0.627 \n",
" dog 128 9 0.713 0.889 0.823 0.608 \n",
" horse 128 2 0.679 1 0.995 0.547\n",
" horse 128 2 0.576 1 0.995 0.547\n",
" elephant 128 17 0.757 0.882 0.929 0.722 \n",
" elephant 128 17 0.786 0.824 0.911 0.719 \n",
" bear 128 1 0.593 1 0.995 0.9 95\n",
" bear 128 1 0.432 1 0.995 0.8 95\n",
" zebra 128 4 0.851 1 0.995 0.966 \n",
" zebra 128 4 0.86 1 0.995 0.935 \n",
" giraffe 128 9 0.838 1 0.984 0.681 \n",
" giraffe 128 9 0.966 1 0.995 0.727 \n",
" backpack 128 6 0.473 0.333 0.342 0.21 7\n",
" backpack 128 6 0.534 0.333 0.399 0.22 7\n",
" umbrella 128 18 0.569 0.667 0.708 0.454 \n",
" umbrella 128 18 0.757 0.519 0.665 0.447 \n",
" handbag 128 19 0.649 0.105 0.233 0.137 \n",
" handbag 128 19 0.939 0.105 0.25 0.14 \n",
" tie 128 7 0.608 0.714 0.614 0.428 \n",
" tie 128 7 0.677 0.602 0.682 0.505 \n",
" suitcase 128 4 0.471 1 0.745 0.54 \n",
" suitcase 128 4 0.636 1 0.995 0.646 \n",
" frisbee 128 5 0.629 0.8 0.732 0.64 \n",
" frisbee 128 5 1 0.789 0.799 0.689 \n",
" skis 128 1 0.699 1 0.995 0.522 \n",
" skis 128 1 0.794 1 0.995 0.497 \n",
" snowboard 128 7 0.654 0.714 0.758 0.497 \n",
" snowboard 128 7 0.575 0.714 0.762 0.48 \n",
" sports ball 128 6 0.707 0.415 0.515 0.288\n",
" sports ball 128 6 0.703 0.407 0.514 0.288\n",
" kite 128 10 0.687 0.4 0.561 0.207 \n",
" kite 128 10 0.645 0.4 0.506 0.206 \n",
" baseball bat 128 4 0.439 0.409 0.263 0.114 \n",
" baseball bat 128 4 0.436 0.404 0.253 0.125 \n",
" baseball glove 128 7 0.679 0.429 0.43 0.317 \n",
" baseball glove 128 7 0.786 0.429 0.43 0.303 \n",
" skateboard 128 5 0.738 0.6 0.599 0.386 \n",
" skateboard 128 5 0.752 0.6 0.6 0.433 \n",
" tennis racket 128 7 0.738 0.408 0.493 0.371 \n",
" tennis racket 128 7 0.707 0.286 0.508 0.313 \n",
" bottle 128 18 0.44 0.333 0.377 0.247 \n",
" bottle 128 18 0.484 0.389 0.43 0.271 \n",
" wine glass 128 16 0.545 0.5 0.596 0.358 \n",
" wine glass 128 16 0.471 0.562 0.584 0.327 \n",
" cup 128 36 0.651 0.278 0.412 0.297 \n",
" cup 128 36 0.569 0.278 0.404 0.286 \n",
" fork 128 6 0.568 0.167 0.229 0.20 2\n",
" fork 128 6 0.529 0.167 0.207 0.19 2\n",
" knife 128 16 0.557 0.562 0.628 0.399 \n",
" knife 128 16 0.697 0.562 0.594 0.377 \n",
" spoon 128 22 0.471 0.318 0.369 0.214 \n",
" spoon 128 22 0.68 0.182 0.376 0.213 \n",
" bowl 128 28 0.611 0.679 0.671 0.547 \n",
" bowl 128 28 0.623 0.679 0.653 0.536 \n",
" banana 128 1 0.0573 0.286 0.199 0.0522 \n",
" banana 128 1 0 0 0.142 0.0363 \n",
" sandwich 128 2 0.377 0.5 0.745 0.745\n",
" sandwich 128 2 1 0 0.745 0.745\n",
" orange 128 4 0.743 0.729 0.895 0.595 \n",
" orange 128 4 1 0.457 0.849 0.56 \n",
" broccoli 128 11 0.491 0.265 0.281 0.233 \n",
" broccoli 128 11 0.465 0.273 0.284 0.246 \n",
" carrot 128 24 0.548 0.667 0.694 0.465 \n",
" carrot 128 24 0.581 0.751 0.745 0.489 \n",
" hot dog 128 2 0.586 1 0.828 0.796 \n",
" hot dog 128 2 0.654 0.961 0.828 0.763 \n",
" pizza 128 5 0.873 1 0.995 0.798 \n",
" pizza 128 5 0.631 1 0.995 0.854 \n",
" donut 128 14 0.554 1 0.891 0.786 \n",
" donut 128 14 0.583 1 0.933 0.84 \n",
" cake 128 4 0.806 1 0.995 0.904 \n",
" cake 128 4 0.643 1 0.995 0.88 \n",
" chair 128 35 0.408 0.514 0.469 0.267 \n",
" chair 128 35 0.5 0.543 0.459 0.272 \n",
" couch 128 6 0.517 0.5 0.655 0.463 \n",
" couch 128 6 0.488 0.5 0.624 0.47 \n",
" potted plant 128 14 0.564 0.643 0.673 0.467 \n",
" potted plant 128 14 0.645 0.714 0.747 0.542 \n",
" bed 128 3 0.72 1 0.995 0.734 \n",
" bed 128 3 0.718 1 0.995 0.798 \n",
" dining table 128 13 0.433 0.692 0.58 0.48 \n",
" dining table 128 13 0.448 0.615 0.538 0.437 \n",
" toilet 128 2 0.508 0.5 0.745 0.721 \n",
" toilet 128 2 1 0.884 0.995 0.946 \n",
" tv 128 2 0.563 0.689 0.828 0.762\n",
" tv 128 2 0.548 0.644 0.828 0.762\n",
" laptop 128 3 1 0.455 0.747 0.657 \n",
" laptop 128 3 1 0.563 0.72 0.639 \n",
" mouse 128 2 1 0 0.0405 0.0081 \n",
" mouse 128 2 1 0 0.0623 0.0125 \n",
" remote 128 8 0.832 0.5 0.574 0.445 \n",
" remote 128 8 0.697 0.5 0.578 0.496 \n",
" cell phone 128 8 0 0 0.0724 0.0315 \n",
" cell phone 128 8 0 0 0.102 0.0471 \n",
" microwave 128 3 0.496 0.667 0.806 0.685 \n",
" microwave 128 3 0.651 0.667 0.863 0.738 \n",
" oven 128 5 0.501 0.4 0.345 0.273 \n",
" oven 128 5 0.471 0.4 0.415 0.309 \n",
" sink 128 6 0.379 0.212 0.366 0.21 \n",
" sink 128 6 0.45 0.284 0.268 0.159 \n",
" refrigerator 128 5 0.612 0.4 0.77 0.608 \n",
" refrigerator 128 5 0.679 0.4 0.695 0.537 \n",
" book 128 29 0.553 0.207 0.387 0.2 \n",
" book 128 29 0.656 0.133 0.424 0.227 \n",
" clock 128 9 0.88 0.889 0.907 0.772 \n",
" clock 128 9 0.878 0.778 0.898 0.759 \n",
" vase 128 2 0.508 1 0.828 0.745\n",
" vase 128 2 0.413 1 0.828 0.745\n",
" scissors 128 1 1 0 0.142 0.0426 \n",
" scissors 128 1 1 0 0.199 0.0597 \n",
" teddy bear 128 21 0.662 0.476 0.603 0.442 \n",
" teddy bear 128 21 0.553 0.472 0.669 0.447 \n",
" toothbrush 128 5 0.792 0.768 0.898 0.574 \n",
" toothbrush 128 5 1 0.518 0.8 0.521 \n",
"Speed: 1.1ms preprocess, 5.4ms inference, 0.0ms loss, 2.9 ms postprocess per image\n",
"Speed: 2.7ms preprocess, 3.5ms inference, 0.0ms loss, 3.2 ms postprocess per image\n",
"Results saved to \u001b[1mruns/detect/train\u001b[0m\n"
"Results saved to \u001b[1mruns/detect/train\u001b[0m\n"
]
]
}
}
@ -485,23 +484,23 @@
"base_uri": "https://localhost:8080/"
"base_uri": "https://localhost:8080/"
},
},
"id": "CYIjW4igCjqD",
"id": "CYIjW4igCjqD",
"outputId": "49b5bb9d-2c16-415b-c3e7-ec95c15a9e62 "
"outputId": "fc41bf7a-0ea2-41a6-9ec5-dd0455af43bc "
},
},
"execution_count": null ,
"execution_count": 5 ,
"outputs": [
"outputs": [
{
{
"output_type": "stream",
"output_type": "stream",
"name": "stdout",
"name": "stdout",
"text": [
"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",
"YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\n",
"\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",
"\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",
"\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m starting export with torch 1.13.1+cu116 ...\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m starting export with torch 2.0.0+cu118 ...\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m export success ✅ 1.9 s, saved as yolov8n.torchscript (12.4 MB)\n",
"\u001b[34m\u001b[1mTorchScript:\u001b[0m export success ✅ 2.3 s, saved as yolov8n.torchscript (12.4 MB)\n",
"\n",
"\n",
"Export complete (2.6 s)\n",
"Export complete (3.1 s)\n",
"Results saved to \u001b[1m/content\u001b[0m\n",
"Results saved to \u001b[1m/content\u001b[0m\n",
"Predict: yolo predict task=detect model=yolov8n.torchscript imgsz=640 \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",
"Validate: yolo val task=detect model=yolov8n.torchscript imgsz=640 data=coco.yaml \n",
@ -677,9 +676,10 @@
{
{
"cell_type": "code",
"cell_type": "code",
"source": [
"source": [
"# Git clone install (for development)\n",
"# Git clone and run tests on updates branch\n",
"!git clone https://github.com/ultralytics/ultralytics -b main\n",
"!git clone https://github.com/ultralytics/ultralytics -b updates\n",
"%pip install -qe ultralytics"
"%pip install -qe ultralytics\n",
"!pytest ultralytics/tests"
],
],
"metadata": {
"metadata": {
"id": "uRKlwxSJdhd1"
"id": "uRKlwxSJdhd1"
@ -687,18 +687,6 @@
"execution_count": null,
"execution_count": null,
"outputs": []
"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",
"cell_type": "code",
"source": [
"source": [