{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "YOLO11 Tutorial", "provenance": [], "toc_visible": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "accelerator": "GPU" }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "t6MPjfT5NrKQ" }, "source": [ "
\n", " \n", " \n", " \n", "\n", " [中文](https://docs.ultralytics.com/zh/) | [한국어](https://docs.ultralytics.com/ko/) | [日本語](https://docs.ultralytics.com/ja/) | [Русский](https://docs.ultralytics.com/ru/) | [Deutsch](https://docs.ultralytics.com/de/) | [Français](https://docs.ultralytics.com/fr/) | [Español](https://docs.ultralytics.com/es/) | [Português](https://docs.ultralytics.com/pt/) | [Türkçe](https://docs.ultralytics.com/tr/) | [Tiếng Việt](https://docs.ultralytics.com/vi/) | [العربية](https://docs.ultralytics.com/ar/)\n", "\n", " \"Ultralytics\n", " \"Run\n", " \"Open\n", " \"Open\n", "\n", " \"Discord\"\n", " \"Ultralytics\n", " \"Ultralytics\n", "
\n", "\n", "This **Ultralytics Colab Notebook** is the easiest way to get started with [YOLO models](https://www.ultralytics.com/yolo)—no installation needed. Built by [Ultralytics](https://www.ultralytics.com/), the creators of YOLO, this notebook walks you through running **state-of-the-art** models directly in your browser.\n", "\n", "Ultralytics models are constantly updated for performance and flexibility. They're **fast**, **accurate**, and **easy to use**, and they excel at [object detection](https://docs.ultralytics.com/tasks/detect/), [tracking](https://docs.ultralytics.com/modes/track/), [instance segmentation](https://docs.ultralytics.com/tasks/segment/), [image classification](https://docs.ultralytics.com/tasks/classify/), and [pose estimation](https://docs.ultralytics.com/tasks/pose/).\n", "\n", "Find detailed documentation in the [Ultralytics Docs](https://docs.ultralytics.com/). Get support via [GitHub Issues](https://github.com/ultralytics/ultralytics/issues/new/choose). Join discussions on [Discord](https://discord.com/invite/ultralytics), [Reddit](https://www.reddit.com/r/ultralytics/), and the [Ultralytics Community Forums](https://community.ultralytics.com/)!\n", "\n", "Request an Enterprise License for commercial use at [Ultralytics Licensing](https://www.ultralytics.com/license).\n", "\n", "
\n", "
\n", " \n", " \"Ultralytics\n", " \n", "\n", "

\n", " Watch: How to Train\n", " Ultralytics\n", " YOLO11 Model on Custom Dataset using Google Colab Notebook 🚀\n", "

\n", "
" ] }, { "cell_type": "markdown", "metadata": { "id": "7mGmQbAO5pQb" }, "source": [ "# Setup\n", "\n", "pip install `ultralytics` and [dependencies](https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml) and check software and hardware.\n", "\n", "[![PyPI - Version](https://img.shields.io/pypi/v/ultralytics?logo=pypi&logoColor=white)](https://pypi.org/project/ultralytics/) [![Downloads](https://static.pepy.tech/badge/ultralytics)](https://clickpy.clickhouse.com/dashboard/ultralytics) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ultralytics?logo=python&logoColor=gold)](https://pypi.org/project/ultralytics/)" ] }, { "cell_type": "code", "metadata": { "id": "wbvMlHd_QwMG", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "4de5a5c9-d3b5-4e4e-a4e5-cd80f159e4ce" }, "source": [ "!uv pip install ultralytics\n", "import ultralytics\n", "ultralytics.checks()" ], "execution_count": 1, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Ultralytics 8.3.187 🚀 Python-3.12.11 torch-2.8.0+cu126 CUDA:0 (Tesla T4, 15095MiB)\n", "Setup complete ✅ (2 CPUs, 12.7 GB RAM, 39.0/112.6 GB disk)\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "4JnkELT0cIJg" }, "source": [ "# 1. Predict\n", "\n", "YOLO11 may be used directly in the Command Line Interface (CLI) with a `yolo` command for a variety of tasks and modes and accepts additional arguments, i.e. `imgsz=640`. See a full list of available `yolo` [arguments](https://docs.ultralytics.com/usage/cfg/) and other details in the [YOLO11 Predict Docs](https://docs.ultralytics.com/modes/train/).\n" ] }, { "cell_type": "code", "metadata": { "id": "zR9ZbuQCH7FX", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "1d438406-032a-4ea9-9ad5-dd17078850d3" }, "source": [ "# Run inference on an image with YOLO11n\n", "!yolo predict model=yolo11n.pt source='https://ultralytics.com/images/zidane.jpg'" ], "execution_count": 2, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\rDownloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt to 'yolo11n.pt': 100% ━━━━━━━━━━━━ 5.4/5.4MB 67.6MB/s 0.1s\rDownloading https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt to 'yolo11n.pt': 100% ━━━━━━━━━━━━ 5.4/5.4MB 67.5MB/s 0.1s\n", "Ultralytics 8.3.187 🚀 Python-3.12.11 torch-2.8.0+cu126 CUDA:0 (Tesla T4, 15095MiB)\n", "YOLO11n summary (fused): 100 layers, 2,616,248 parameters, 0 gradients, 6.5 GFLOPs\n", "\n", "Downloading https://ultralytics.com/images/zidane.jpg to 'zidane.jpg': 100% ━━━━━━━━━━━━ 49.2/49.2KB 5.9MB/s 0.0s\n", "image 1/1 /content/zidane.jpg: 384x640 2 persons, 1 tie, 68.9ms\n", "Speed: 13.1ms preprocess, 68.9ms inference, 250.7ms postprocess per image at shape (1, 3, 384, 640)\n", "Results saved to \u001b[1mruns/detect/predict\u001b[0m\n", "💡 Learn more at https://docs.ultralytics.com/modes/predict\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "hkAzDWJ7cWTr" }, "source": [ "        \n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "0eq1SMWl6Sfn" }, "source": [ "# 2. Val\n", "Validate a model's accuracy on the [COCO](https://docs.ultralytics.com/datasets/detect/coco/) dataset's `val` or `test` splits. The latest YOLO11 [models](https://github.com/ultralytics/ultralytics#models) are downloaded automatically the first time they are used. See [YOLO11 Val Docs](https://docs.ultralytics.com/modes/val/) for more information." ] }, { "cell_type": "code", "metadata": { "id": "WQPtK1QYVaD_" }, "source": [ "# Download COCO val\n", "from ultralytics.utils.downloads import download\n", "\n", "download('https://ultralytics.com/assets/coco2017val.zip', unzip=True, dir='datasets') # download (780MB - 5000 images)" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "X58w8JLpMnjH", "outputId": "27364fde-3aff-47ea-9458-18e4a044e27b", "colab": { "base_uri": "https://localhost:8080/" } }, "source": [ "# Validate YOLO11n on COCO8 val\n", "!yolo val model=yolo11n.pt data=coco8.yaml" ], "execution_count": 3, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Ultralytics 8.3.187 🚀 Python-3.12.11 torch-2.8.0+cu126 CUDA:0 (Tesla T4, 15095MiB)\n", "YOLO11n summary (fused): 100 layers, 2,616,248 parameters, 0 gradients, 6.5 GFLOPs\n", "\n", "WARNING ⚠️ Dataset 'coco8.yaml' images not found, missing path '/content/datasets/coco8/images/val'\n", "Downloading https://ultralytics.com/assets/coco8.zip to '/content/datasets/coco8.zip': 100% ━━━━━━━━━━━━ 432.8/432.8KB 12.2MB/s 0.0s\n", "Unzipping /content/datasets/coco8.zip to /content/datasets/coco8...: 100% ━━━━━━━━━━━━ 25/25 4962.5files/s 0.0s\n", "Dataset download success ✅ (0.6s), saved to \u001b[1m/content/datasets\u001b[0m\n", "\n", "Downloading https://ultralytics.com/assets/Arial.ttf to '/root/.config/Ultralytics/Arial.ttf': 100% ━━━━━━━━━━━━ 755.1/755.1KB 22.0MB/s 0.0s\n", "\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 1486.2±504.6 MB/s, size: 54.0 KB)\n", "\u001b[34m\u001b[1mval: \u001b[0mScanning /content/datasets/coco8/labels/val... 4 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 4/4 118.2it/s 0.0s\n", "\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /content/datasets/coco8/labels/val.cache\n", " Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 1/1 0.88it/s 1.1s\n", " all 4 17 0.57 0.85 0.847 0.632\n", " person 3 10 0.557 0.6 0.585 0.272\n", " dog 1 1 0.548 1 0.995 0.697\n", " horse 1 2 0.531 1 0.995 0.674\n", " elephant 1 2 0.371 0.5 0.516 0.256\n", " umbrella 1 1 0.569 1 0.995 0.995\n", " potted plant 1 1 0.847 1 0.995 0.895\n", "Speed: 0.3ms preprocess, 18.1ms inference, 0.0ms loss, 21.1ms postprocess per image\n", "Results saved to \u001b[1mruns/detect/val\u001b[0m\n", "💡 Learn more at https://docs.ultralytics.com/modes/val\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "ZY2VXXXu74w5" }, "source": [ "# 3. Train\n", "\n", "

\n", "\n", "Train YOLO11 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 [YOLO11 Train Docs](https://docs.ultralytics.com/modes/train/) for more information." ] }, { "cell_type": "code", "source": [ "#@title Select YOLO11 🚀 logger {run: 'auto'}\n", "logger = 'TensorBoard' #@param ['TensorBoard', 'Weights & Biases']\n", "\n", "if logger == 'TensorBoard':\n", " !yolo settings tensorboard=True\n", " %load_ext tensorboard\n", " %tensorboard --logdir .\n", "elif logger == 'Weights & Biases':\n", " !yolo settings wandb=True" ], "metadata": { "id": "ktegpM42AooT" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "1NcFxRcFdJ_O", "outputId": "849c2875-cd29-4a93-a7c7-e464a9b84dc6", "colab": { "base_uri": "https://localhost:8080/" } }, "source": [ "# Train YOLO11n on COCO8 for 3 epochs\n", "!yolo train model=yolo11n.pt data=coco8.yaml epochs=3 imgsz=640" ], "execution_count": 4, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Ultralytics 8.3.187 🚀 Python-3.12.11 torch-2.8.0+cu126 CUDA:0 (Tesla T4, 15095MiB)\n", "\u001b[34m\u001b[1mengine/trainer: \u001b[0magnostic_nms=False, amp=True, augment=False, auto_augment=randaugment, batch=16, bgr=0.0, box=7.5, cache=False, cfg=None, classes=None, close_mosaic=10, cls=0.5, conf=None, copy_paste=0.0, copy_paste_mode=flip, cos_lr=False, cutmix=0.0, data=coco8.yaml, degrees=0.0, deterministic=True, device=None, dfl=1.5, dnn=False, dropout=0.0, dynamic=False, embed=None, epochs=3, erasing=0.4, exist_ok=False, fliplr=0.5, flipud=0.0, format=torchscript, fraction=1.0, freeze=None, half=False, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, imgsz=640, int8=False, iou=0.7, keras=False, kobj=1.0, line_width=None, lr0=0.01, lrf=0.01, mask_ratio=4, max_det=300, mixup=0.0, mode=train, model=yolo11n.pt, momentum=0.937, mosaic=1.0, multi_scale=False, name=train, nbs=64, nms=False, opset=None, optimize=False, optimizer=auto, overlap_mask=True, patience=100, perspective=0.0, plots=True, pose=12.0, pretrained=True, profile=False, project=None, rect=False, resume=False, retina_masks=False, save=True, save_conf=False, save_crop=False, save_dir=runs/detect/train, save_frames=False, save_json=False, save_period=-1, save_txt=False, scale=0.5, seed=0, shear=0.0, show=False, show_boxes=True, show_conf=True, show_labels=True, simplify=True, single_cls=False, source=None, split=val, stream_buffer=False, task=detect, time=None, tracker=botsort.yaml, translate=0.1, val=True, verbose=True, vid_stride=1, visualize=False, warmup_bias_lr=0.1, warmup_epochs=3.0, warmup_momentum=0.8, weight_decay=0.0005, workers=8, workspace=None\n", "\n", " from n params module arguments \n", " 0 -1 1 464 ultralytics.nn.modules.conv.Conv [3, 16, 3, 2] \n", " 1 -1 1 4672 ultralytics.nn.modules.conv.Conv [16, 32, 3, 2] \n", " 2 -1 1 6640 ultralytics.nn.modules.block.C3k2 [32, 64, 1, False, 0.25] \n", " 3 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2] \n", " 4 -1 1 26080 ultralytics.nn.modules.block.C3k2 [64, 128, 1, False, 0.25] \n", " 5 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2] \n", " 6 -1 1 87040 ultralytics.nn.modules.block.C3k2 [128, 128, 1, True] \n", " 7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2] \n", " 8 -1 1 346112 ultralytics.nn.modules.block.C3k2 [256, 256, 1, True] \n", " 9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5] \n", " 10 -1 1 249728 ultralytics.nn.modules.block.C2PSA [256, 256, 1] \n", " 11 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n", " 12 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", " 13 -1 1 111296 ultralytics.nn.modules.block.C3k2 [384, 128, 1, False] \n", " 14 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n", " 15 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", " 16 -1 1 32096 ultralytics.nn.modules.block.C3k2 [256, 64, 1, False] \n", " 17 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2] \n", " 18 [-1, 13] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", " 19 -1 1 86720 ultralytics.nn.modules.block.C3k2 [192, 128, 1, False] \n", " 20 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2] \n", " 21 [-1, 10] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", " 22 -1 1 378880 ultralytics.nn.modules.block.C3k2 [384, 256, 1, True] \n", " 23 [16, 19, 22] 1 464912 ultralytics.nn.modules.head.Detect [80, [64, 128, 256]] \n", "YOLO11n summary: 181 layers, 2,624,080 parameters, 2,624,064 gradients, 6.6 GFLOPs\n", "\n", "Transferred 499/499 items from pretrained weights\n", "Freezing layer 'model.23.dfl.conv.weight'\n", "\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks...\n", "\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n", "\u001b[34m\u001b[1mtrain: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 1134.4±454.3 MB/s, size: 50.0 KB)\n", "\u001b[34m\u001b[1mtrain: \u001b[0mScanning /content/datasets/coco8/labels/train... 4 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 4/4 1726.9it/s 0.0s\n", "\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: /content/datasets/coco8/labels/train.cache\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, method='weighted_average', num_output_channels=3), CLAHE(p=0.01, clip_limit=(1.0, 4.0), tile_grid_size=(8, 8))\n", "\u001b[34m\u001b[1mval: \u001b[0mFast image access ✅ (ping: 0.0±0.0 ms, read: 446.6±70.7 MB/s, size: 54.0 KB)\n", "\u001b[34m\u001b[1mval: \u001b[0mScanning /content/datasets/coco8/labels/val.cache... 4 images, 0 backgrounds, 0 corrupt: 100% ━━━━━━━━━━━━ 4/4 27458.6it/s 0.0s\n", "Plotting labels to runs/detect/train/labels.jpg... \n", "\u001b[34m\u001b[1moptimizer:\u001b[0m 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically... \n", "\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.000119, momentum=0.9) with parameter groups 81 weight(decay=0.0), 88 weight(decay=0.0005), 87 bias(decay=0.0)\n", "Image sizes 640 train, 640 val\n", "Using 2 dataloader workers\n", "Logging results to \u001b[1mruns/detect/train\u001b[0m\n", "Starting training for 3 epochs...\n", "\n", " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", " 1/3 0.645G 0.9078 2.63 1.334 29 640: 100% ━━━━━━━━━━━━ 1/1 0.09it/s 11.5s\n", " Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 1/1 0.30it/s 3.3s\n", " all 4 17 0.592 0.85 0.878 0.634\n", "\n", " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", " 2/3 0.674G 1.328 3.181 1.625 46 640: 100% ━━━━━━━━━━━━ 1/1 7.7it/s 0.1s\n", " Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 1/1 10.6it/s 0.1s\n", " all 4 17 0.584 0.85 0.847 0.631\n", "\n", " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", " 3/3 0.674G 0.9821 3.036 1.326 20 640: 100% ━━━━━━━━━━━━ 1/1 7.9it/s 0.1s\n", " Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 1/1 14.3it/s 0.1s\n", " all 4 17 0.587 0.85 0.851 0.615\n", "\n", "3 epochs completed in 0.004 hours.\n", "Optimizer stripped from runs/detect/train/weights/last.pt, 5.5MB\n", "Optimizer stripped from runs/detect/train/weights/best.pt, 5.5MB\n", "\n", "Validating runs/detect/train/weights/best.pt...\n", "Ultralytics 8.3.187 🚀 Python-3.12.11 torch-2.8.0+cu126 CUDA:0 (Tesla T4, 15095MiB)\n", "YOLO11n summary (fused): 100 layers, 2,616,248 parameters, 0 gradients, 6.5 GFLOPs\n", " Class Images Instances Box(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 1/1 25.5it/s 0.0s\n", " all 4 17 0.592 0.85 0.877 0.633\n", " person 3 10 0.586 0.6 0.585 0.262\n", " dog 1 1 0.554 1 0.995 0.697\n", " horse 1 2 0.616 1 0.995 0.674\n", " elephant 1 2 0.373 0.5 0.695 0.275\n", " umbrella 1 1 0.573 1 0.995 0.995\n", " potted plant 1 1 0.854 1 0.995 0.895\n", "Speed: 0.3ms preprocess, 4.3ms inference, 0.0ms loss, 1.9ms postprocess per image\n", "Results saved to \u001b[1mruns/detect/train\u001b[0m\n", "💡 Learn more at https://docs.ultralytics.com/modes/train\n" ] } ] }, { "cell_type": "markdown", "source": [ "# 4. Export\n", "\n", "Export a YOLO model to any supported format below with the `format` argument, i.e. `format=onnx`. See [Export Docs](https://docs.ultralytics.com/modes/export/) for more information.\n", "\n", "- 💡 ProTip: Export to [ONNX](https://docs.ultralytics.com/integrations/onnx/) or [OpenVINO](https://docs.ultralytics.com/integrations/openvino/) for up to 3x CPU speedup.\n", "- 💡 ProTip: Export to [TensorRT](https://docs.ultralytics.com/integrations/tensorrt/) for up to 5x GPU speedup.\n", "\n", "| Format | `format` Argument | Model | Metadata | Arguments |\n", "|--------|-----------------|-------|----------|------------|\n", "| [PyTorch](https://pytorch.org/) | - | `yolo11n.pt` | ✅ | - |\n", "| [TorchScript](https://docs.ultralytics.com/integrations/torchscript) | `torchscript` | `yolo11n.torchscript` | ✅ | `imgsz`, `batch`, `dynamic`, `optimize`, `half`, `nms`, `device` |\n", "| [ONNX](https://docs.ultralytics.com/integrations/onnx) | `onnx` | `yolo11n.onnx` | ✅ | `imgsz`, `batch`, `dynamic`, `half`, `opset`, `simplify`, `nms`, `device` |\n", "| [OpenVINO](https://docs.ultralytics.com/integrations/openvino) | `openvino` | `yolo11n_openvino_model/` | ✅ | `imgsz`, `batch`, `dynamic`, `half`, `int8`, `nms`, `fraction`, `device`, `data` |\n", "| [TensorRT](https://docs.ultralytics.com/integrations/tensorrt) | `engine` | `yolo11n.engine` | ✅ | `imgsz`, `batch`, `dynamic`, `half`, `int8`, `simplify`, `nms`, `fraction`, `device`, `data`, `workspace` |\n", "| [CoreML](https://docs.ultralytics.com/integrations/coreml) | `coreml` | `yolo11n.mlpackage` | ✅ | `imgsz`, `batch`, `half`, `int8`, `nms`, `device` |\n", "| [TF SavedModel](https://docs.ultralytics.com/integrations/tf-savedmodel) | `saved_model` | `yolo11n_saved_model/` | ✅ | `imgsz`, `batch`, `int8`, `keras`, `nms`, `device` |\n", "| [TF GraphDef](https://docs.ultralytics.com/integrations/tf-graphdef) | `pb` | `yolo11n.pb` | ❌ | `imgsz`, `batch`, `device` |\n", "| [TF Lite](https://docs.ultralytics.com/integrations/tflite) | `tflite` | `yolo11n.tflite` | ✅ | `imgsz`, `batch`, `half`, `int8`, `nms`, `fraction`, `device`, `data` |\n", "| [TF Edge TPU](https://docs.ultralytics.com/integrations/edge-tpu) | `edgetpu` | `yolo11n_edgetpu.tflite` | ✅ | `imgsz`, `device` |\n", "| [TF.js](https://docs.ultralytics.com/integrations/tfjs) | `tfjs` | `yolo11n_web_model/` | ✅ | `imgsz`, `batch`, `half`, `int8`, `nms`, `device` |\n", "| [PaddlePaddle](https://docs.ultralytics.com/integrations/paddlepaddle) | `paddle` | `yolo11n_paddle_model/` | ✅ | `imgsz`, `batch`, `device` |\n", "| [MNN](https://docs.ultralytics.com/integrations/mnn) | `mnn` | `yolo11n.mnn` | ✅ | `imgsz`, `batch`, `half`, `int8`, `device` |\n", "| [NCNN](https://docs.ultralytics.com/integrations/ncnn) | `ncnn` | `yolo11n_ncnn_model/` | ✅ | `imgsz`, `batch`, `half`, `device` |\n", "| [IMX500](https://docs.ultralytics.com/integrations/sony-imx500) | `imx` | `yolo11n_imx_model/` | ✅ | `imgsz`, `int8`, `fraction`, `device`, `data` |\n", "| [RKNN](https://docs.ultralytics.com/integrations/rockchip-rknn) | `rknn` | `yolo11n_rknn_model/` | ✅ | `imgsz`, `batch`, `name`, `device` |", "| [ExecuTorch](https://docs.ultralytics.com/integrations/executorch) | `executorch` | `executorch_model/` | ✅ | `imgsz`, `device` |", "| [Axelera](https://docs.ultralytics.com/integrations/axelera) | `axelera` | `axelera_model/` | ✅ | `imgsz`, `int8`, `fraction`, `device`, `data` |" ], "metadata": { "id": "nPZZeNrLCQG6" } }, { "cell_type": "code", "source": [ "!yolo export model=yolo11n.pt format=torchscript" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "CYIjW4igCjqD", "outputId": "f06e7d97-01d9-45f4-b24b-e90b08291675" }, "execution_count": 5, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Ultralytics 8.3.187 🚀 Python-3.12.11 torch-2.8.0+cu126 CPU (Intel Xeon 2.00GHz)\n", "💡 ProTip: Export to OpenVINO format for best performance on Intel hardware. Learn more at https://docs.ultralytics.com/integrations/openvino/\n", "YOLO11n summary (fused): 100 layers, 2,616,248 parameters, 0 gradients, 6.5 GFLOPs\n", "\n", "\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from 'yolo11n.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 84, 8400) (5.4 MB)\n", "\n", "\u001b[34m\u001b[1mTorchScript:\u001b[0m starting export with torch 2.8.0+cu126...\n", "\u001b[34m\u001b[1mTorchScript:\u001b[0m export success ✅ 2.1s, saved as 'yolo11n.torchscript' (10.5 MB)\n", "\n", "Export complete (2.6s)\n", "Results saved to \u001b[1m/content\u001b[0m\n", "Predict: yolo predict task=detect model=yolo11n.torchscript imgsz=640 \n", "Validate: yolo val task=detect model=yolo11n.torchscript imgsz=640 data=/usr/src/ultralytics/ultralytics/cfg/datasets/coco.yaml \n", "Visualize: https://netron.app\n", "💡 Learn more at https://docs.ultralytics.com/modes/export\n" ] } ] }, { "cell_type": "markdown", "source": [ "# 5. Python Usage\n", "\n", "YOLO11 was reimagined using Python-first principles for the most seamless Python YOLO experience yet. YOLO11 models can be loaded from a trained checkpoint or created from scratch. Then methods are used to train, val, predict, and export the model. See detailed Python usage examples in the [YOLO11 Python Docs](https://docs.ultralytics.com/usage/python/)." ], "metadata": { "id": "kUMOQ0OeDBJG" } }, { "cell_type": "code", "source": [ "from ultralytics import YOLO\n", "\n", "# Load a model\n", "model = YOLO('yolo11n.yaml') # build a new model from scratch\n", "model = YOLO('yolo11n.pt') # load a pretrained model (recommended for training)\n", "\n", "# Use the model\n", "results = model.train(data='coco8.yaml', epochs=3) # train the model\n", "results = model.val() # evaluate model performance on the validation set\n", "results = model('https://ultralytics.com/images/bus.jpg') # predict on an image\n", "results = model.export(format='onnx') # export the model to ONNX format" ], "metadata": { "id": "bpF9-vS_DAaf" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "# 6. Tasks\n", "\n", "YOLO11 can train, val, predict and export models for the most common tasks in vision AI: [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/). See [YOLO11 Tasks Docs](https://docs.ultralytics.com/tasks/) for more information.\n", "\n", "
\n" ], "metadata": { "id": "Phm9ccmOKye5" } }, { "cell_type": "markdown", "source": [ "## 1. Detection\n", "\n", "YOLO11 _detection_ models have no suffix and are the default YOLO11 models, i.e. `yolo11n.pt` and are pretrained on COCO. See [Detection Docs](https://docs.ultralytics.com/tasks/detect/) for full details.\n" ], "metadata": { "id": "yq26lwpYK1lq" } }, { "cell_type": "code", "source": [ "# Load YOLO11n, train it on COCO128 for 3 epochs and predict an image with it\n", "from ultralytics import YOLO\n", "\n", "model = YOLO('yolo11n.pt') # load a pretrained YOLO detection model\n", "model.train(data='coco8.yaml', epochs=3) # train the model\n", "model('https://ultralytics.com/images/bus.jpg') # predict on an image" ], "metadata": { "id": "8Go5qqS9LbC5" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "## 2. Segmentation\n", "\n", "YOLO11 _segmentation_ models use the `-seg` suffix, i.e. `yolo11n-seg.pt` and are pretrained on COCO. See [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) for full details.\n" ], "metadata": { "id": "7ZW58jUzK66B" } }, { "cell_type": "code", "source": [ "# Load YOLO11n-seg, train it on COCO128-seg for 3 epochs and predict an image with it\n", "from ultralytics import YOLO\n", "\n", "model = YOLO('yolo11n-seg.pt') # load a pretrained YOLO segmentation model\n", "model.train(data='coco8-seg.yaml', epochs=3) # train the model\n", "model('https://ultralytics.com/images/bus.jpg') # predict on an image" ], "metadata": { "id": "WFPJIQl_L5HT" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "## 3. Classification\n", "\n", "YOLO11 _classification_ models use the `-cls` suffix, i.e. `yolo11n-cls.pt` and are pretrained on ImageNet. See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for full details.\n" ], "metadata": { "id": "ax3p94VNK9zR" } }, { "cell_type": "code", "source": [ "# Load YOLO11n-cls, train it on mnist160 for 3 epochs and predict an image with it\n", "from ultralytics import YOLO\n", "\n", "model = YOLO('yolo11n-cls.pt') # load a pretrained YOLO classification model\n", "model.train(data='mnist160', epochs=3) # train the model\n", "model('https://ultralytics.com/images/bus.jpg') # predict on an image" ], "metadata": { "id": "5q9Zu6zlL5rS" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "## 4. Pose\n", "\n", "YOLO11 _pose_ models use the `-pose` suffix, i.e. `yolo11n-pose.pt` and are pretrained on COCO Keypoints. See [Pose Docs](https://docs.ultralytics.com/tasks/pose/) for full details." ], "metadata": { "id": "SpIaFLiO11TG" } }, { "cell_type": "code", "source": [ "# Load YOLO11n-pose, train it on COCO8-pose for 3 epochs and predict an image with it\n", "from ultralytics import YOLO\n", "\n", "model = YOLO('yolo11n-pose.pt') # load a pretrained YOLO pose model\n", "model.train(data='coco8-pose.yaml', epochs=3) # train the model\n", "model('https://ultralytics.com/images/bus.jpg') # predict on an image" ], "metadata": { "id": "si4aKFNg19vX" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "## 4. Oriented Bounding Boxes (OBB)\n", "\n", "YOLO11 _OBB_ models use the `-obb` suffix, i.e. `yolo11n-obb.pt` and are pretrained on the DOTA dataset. See [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for full details." ], "metadata": { "id": "cf5j_T9-B5F0" } }, { "cell_type": "code", "source": [ "# Load YOLO11n-obb, train it on DOTA8 for 3 epochs and predict an image with it\n", "from ultralytics import YOLO\n", "\n", "model = YOLO('yolo11n-obb.pt') # load a pretrained YOLO OBB model\n", "model.train(data='dota8.yaml', epochs=3) # train the model\n", "model('https://ultralytics.com/images/boats.jpg') # predict on an image" ], "metadata": { "id": "IJNKClOOB5YS" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "IEijrePND_2I" }, "source": [ "# Appendix\n", "\n", "Additional content below." ] }, { "cell_type": "code", "source": [ "# Pip install from source\n", "!uv pip install git+https://github.com/ultralytics/ultralytics@main" ], "metadata": { "id": "pIdE6i8C3LYp" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# Git clone and run tests on 'main' branch\n", "!git clone https://github.com/ultralytics/ultralytics -b main\n", "!uv pip install -qe ultralytics" ], "metadata": { "id": "uRKlwxSJdhd1" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# Run tests (Git clone only)\n", "!pytest ultralytics/tests" ], "metadata": { "id": "GtPlh7mcCGZX" }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": [ "# Validate multiple models\n", "for x in 'nsmlx':\n", " !yolo val model=yolo11{x}.pt data=coco.yaml" ], "metadata": { "id": "Wdc6t_bfzDDk" }, "execution_count": null, "outputs": [] } ] }