You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yolov5/tutorial.ipynb

758 lines
3.1 MiB

5 years ago
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "YOLOv5 Tutorial",
"provenance": [],
"collapsed_sections": [],
"toc_visible": true,
5 years ago
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "HvhYZrIZCEyo"
},
"source": [
"<img src=\"https://user-images.githubusercontent.com/26833433/82952157-51b7db00-9f5d-11ea-8f4b-dda1ffecf992.jpg\">\n",
"\n",
"This notebook was written by Ultralytics LLC, and is freely available for redistribution under the [GPL-3.0 license](https://choosealicense.com/licenses/gpl-3.0/). \n",
"For more information please visit https://github.com/ultralytics/yolov5 and https://www.ultralytics.com."
5 years ago
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7mGmQbAO5pQb",
"colab_type": "text"
},
"source": [
"# Setup\n",
5 years ago
"\n",
"Clone repo, install dependencies, `%cd` into `./yolov5` folder and check GPU."
5 years ago
]
},
{
"cell_type": "code",
"metadata": {
"id": "wbvMlHd_QwMG",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 53
},
"outputId": "669566b2-391f-4596-f290-110e2e177946"
5 years ago
},
"source": [
"!git clone https://github.com/ultralytics/yolov5 # clone repo\n",
"!pip install -qr yolov5/requirements.txt # install dependencies (ignore errors)\n",
"%cd yolov5\n",
"\n",
5 years ago
"import torch\n",
"from IPython.display import Image, clear_output # to display images\n",
"from utils.google_utils import gdrive_download # to download models/datasets\n",
5 years ago
"\n",
"clear_output()\n",
"print('Setup complete. Using torch %s %s' % (torch.__version__, torch.cuda.get_device_properties(0) if torch.cuda.is_available() else 'CPU'))"
5 years ago
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Setup complete. Using torch 1.5.1+cu101 _CudaDeviceProperties(name='Tesla T4', major=7, minor=5, total_memory=15079MB, multi_processor_count=40)\n"
],
"name": "stdout"
}
]
5 years ago
},
{
"cell_type": "markdown",
"metadata": {
"id": "N3qM6T0W53gh",
"colab_type": "text"
},
"source": [
"# 1. Inference\n",
5 years ago
"\n",
"Run inference with a pretrained checkpoint on contents of `/inference/images` folder. Models are auto-downloaded from [Google Drive](https://drive.google.com/open?id=1Drs_Aiu7xx6S-ix95f9kNsA6ueKRpN2J)."
5 years ago
]
},
{
"cell_type": "code",
"metadata": {
"id": "zR9ZbuQCH7FX",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 488
},
"outputId": "528fcc04-2393-437a-84d2-092becbaefbe"
5 years ago
},
"source": [
"!python detect.py --weights yolov5s.pt --img 416 --conf 0.4 --source inference/images/\n",
5 years ago
"Image(filename='inference/output/zidane.jpg', width=600)"
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "stream",
"text": [
"Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.4, device='', fourcc='mp4v', half=False, img_size=416, iou_thres=0.5, output='inference/output', save_txt=False, source='./inference/images/', view_img=False, weights='yolov5s.pt')\n",
5 years ago
"Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)\n",
"\n",
"image 1/2 inference/images/bus.jpg: 416x352 3 persons, 1 buss, Done. (0.009s)\n",
"image 2/2 inference/images/zidane.jpg: 288x416 2 persons, 2 ties, Done. (0.009s)\n",
5 years ago
"Results saved to /content/yolov5/inference/output\n",
"Done. (0.100s)\n"
5 years ago
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"image/jpeg": "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
5 years ago
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": [],
"image/jpeg": {
"width": 600
}
},
"execution_count": 14
5 years ago
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4JnkELT0cIJg",
"colab_type": "text"
},
"source": [
"Inference can be run on a variety of sources: images, videos, directories, webcams, rtsp and http streams as shown in the example below."
]
},
{
"cell_type": "code",
"metadata": {
"id": "WwosXmgDahte",
"colab_type": "code",
"colab": {}
},
"source": [
"# Example syntax (do not run cell)\n",
"!python detect.py --source file.jpg # image \n",
" file.mp4 # video\n",
" dir/ # directory\n",
" 0 # webcam\n",
" 'rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa' # rtsp\n",
" 'http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8' # http"
],
"execution_count": null,
"outputs": []
},
5 years ago
{
"cell_type": "markdown",
"metadata": {
"id": "0eq1SMWl6Sfn",
"colab_type": "text"
},
"source": [
"# 2. Test\n",
"Test a model on COCO val or test-dev dataset to determine trained accuracy. Models are auto-downloaded from [Google Drive](https://drive.google.com/open?id=1Drs_Aiu7xx6S-ix95f9kNsA6ueKRpN2J). To show results by class use the `--verbose` flag. Note that `pycocotools` metrics may be 1-2% better than the equivalent repo metrics, as is visible below, due to slight differences in mAP computation."
5 years ago
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eyTZYGgRjnMc",
"colab_type": "text"
},
"source": [
"### 2.1 val2017\n",
5 years ago
"Download COCO val 2017 dataset, 1GB, 5000 images, and test model accuracy."
]
},
{
"cell_type": "code",
"metadata": {
"id": "WQPtK1QYVaD_",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 33
},
"outputId": "df037a5d-efae-4687-9ff7-22a48fd7f801"
5 years ago
},
"source": [
"# Download COCO val2017\n",
"gdrive_download('1Y6Kou6kEB0ZEMCCpJSKStCor4KAReE43','coco2017val.zip') # val2017 dataset\n",
"!mv ./coco ../ # move folder alongside /yolov5"
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "stream",
"text": [
"Downloading https://drive.google.com/uc?export=download&id=1Y6Kou6kEB0ZEMCCpJSKStCor4KAReE43 as coco2017val.zip... unzipping... Done (11.2s)\n"
5 years ago
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "X58w8JLpMnjH",
5 years ago
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 606
},
"outputId": "8c62a086-e312-46d1-b475-d90542eae545"
5 years ago
},
"source": [
"# Run YOLOv5x on COCO val2017\n",
"!python test.py --weights yolov5x.pt --data coco.yaml --img 672"
5 years ago
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Namespace(augment=False, batch_size=32, conf_thres=0.001, data='./data/coco.yaml', device='', img_size=672, iou_thres=0.65, merge=False, save_json=True, single_cls=False, task='val', verbose=False, weights=['yolov5x.pt'])\n",
"Using CUDA device0 _CudaDeviceProperties(name='Tesla T4', total_memory=15079MB)\n",
"\n",
"Fusing layers... Model Summary: 284 layers, 8.89222e+07 parameters, 8.89222e+07 gradients\n",
"Scanning labels ../coco/labels/val2017.cache (4952 found, 0 missing, 48 empty, 0 duplicate, for 5000 images): 100% 5000/5000 [00:00<00:00, 22899.17it/s]\n",
" Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 157/157 [02:38<00:00, 1.01s/it]\n",
" all 5e+03 3.63e+04 0.426 0.746 0.66 0.469\n",
"Speed: 22.3/1.7/24.0 ms inference/NMS/total per 672x672 image at batch-size 32\n",
"\n",
"COCO mAP with pycocotools... saving detections_val2017__results.json...\n",
"loading annotations into memory...\n",
"Done (t=0.41s)\n",
"creating index...\n",
"index created!\n",
"Loading and preparing results...\n",
"DONE (t=4.39s)\n",
"creating index...\n",
"index created!\n",
"Running per image evaluation...\n",
"Evaluate annotation type *bbox*\n",
"DONE (t=76.56s).\n",
"Accumulating evaluation results...\n",
"DONE (t=11.02s).\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.484\n",
" Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.668\n",
" Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.528\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.311\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.534\n",
" Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.628\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.371\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.609\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.662\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.501\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.714\n",
" Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.807\n"
],
"name": "stdout"
}
]
5 years ago
},
{
"cell_type": "markdown",
"metadata": {
"id": "rc_KbFk0juX2",
"colab_type": "text"
},
"source": [
"### 2.2 test-dev2017\n",
5 years ago
"Download COCO test2017 dataset, 7GB, 40,000 images, to test model accuracy on test-dev set, 20,000 images. Results are saved to a `*.json` file which can be submitted to the evaluation server at https://competitions.codalab.org/competitions/20794."
]
},
{
"cell_type": "code",
"metadata": {
"id": "V0AJnSeCIHyJ",
"colab_type": "code",
"colab": {}
5 years ago
},
"source": [
"# Download COCO test-dev2017\n",
"gdrive_download('1cXZR_ckHki6nddOmcysCuuJFM--T-Q6L','coco2017labels.zip') # annotations\n",
"!f=\"test2017.zip\" && curl http://images.cocodataset.org/zips/$f -o $f && unzip -q $f && rm $f # 7GB, 41k images\n",
"!mv ./test2017 ./coco/images && mv ./coco ../ # move images into /coco and move /coco alongside /yolov5"
],
"execution_count": null,
"outputs": []
5 years ago
},
{
"cell_type": "code",
"metadata": {
"id": "29GJXAP_lPrt",
"colab_type": "code",
"colab": {}
},
"source": [
"# Run YOLOv5s on COCO test-dev2017 with argument --task test\n",
5 years ago
"!python test.py --weights yolov5s.pt --data ./data/coco.yaml --task test"
],
"execution_count": null,
5 years ago
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "VUOiNLtMP5aG",
"colab_type": "text"
},
"source": [
"# 3. Train\n",
"\n",
"Download https://www.kaggle.com/ultralytics/coco128, a small 128-image tutorial dataset, start tensorboard and train YOLOv5s from a pretrained checkpoint for 3 epochs (actual training is much longer, around **300-1000 epochs**, depending on your dataset)."
5 years ago
]
},
{
"cell_type": "code",
"metadata": {
"id": "Knxi2ncxWffW",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 33
},
"outputId": "35815e93-7d6e-4fee-c050-a4a565d51648"
5 years ago
},
"source": [
"# Download coco128\n",
"gdrive_download('1n_oKgR81BJtqk75b00eAjdv03qVCQn2f','coco128.zip') # coco128 dataset\n",
5 years ago
"!mv ./coco128 ../ # move folder alongside /yolov5"
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "stream",
"text": [
"Downloading https://drive.google.com/uc?export=download&id=1n_oKgR81BJtqk75b00eAjdv03qVCQn2f as coco128.zip... unzipping... Done (5.3s)\n"
5 years ago
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_pOkGLv1dMqh",
"colab_type": "text"
},
"source": [
"Train a YOLOv5s model on coco128 by specifying model config file `--cfg models/yolo5s.yaml`, and dataset config file `--data data/coco128.yaml`. Start training from pretrained `--weights yolov5s.pt`, or from randomly initialized `--weights ''`. Pretrained weights are auto-downloaded from [Google Drive](https://drive.google.com/open?id=1Drs_Aiu7xx6S-ix95f9kNsA6ueKRpN2J).\n",
"\n",
"**All training results are saved to `runs/exp0`** for the first experiment, then `runs/exp1`, `runs/exp2` etc. for subsequent experiments.\n"
]
},
5 years ago
{
"cell_type": "code",
"metadata": {
"id": "bOy5KI2ncnWd",
"colab_type": "code",
"colab": {}
},
"source": [
"# Start tensorboard (optional)\n",
5 years ago
"%load_ext tensorboard\n",
"%tensorboard --logdir runs"
],
"execution_count": null,
5 years ago
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "1NcFxRcFdJ_O",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "121b5b2e-bc8e-4648-ee1c-8d2795176db6"
5 years ago
},
"source": [
"# Train YOLOv5s on coco128 for 3 epochs\n",
"!python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --cfg yolov5s.yaml --weights yolov5s.pt --nosave --cache"
5 years ago
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "stream",
"text": [
"Namespace(batch_size=16, bucket='', cache_images=True, cfg='./models/yolov5s.yaml', data='./data/coco128.yaml', device='', epochs=3, evolve=False, hyp='', img_size=[640], multi_scale=False, name='', noautoanchor=False, nosave=True, notest=False, rect=False, resume=False, single_cls=False, weights='yolov5s.pt')\n",
"Using CUDA device0 _CudaDeviceProperties(name='Tesla T4', total_memory=15079MB)\n",
5 years ago
"\n",
"2020-07-11 20:37:09.422496: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
5 years ago
"Start Tensorboard with \"tensorboard --logdir=runs\", view at http://localhost:6006/\n",
"Hyperparameters {'optimizer': 'SGD', 'lr0': 0.01, 'momentum': 0.937, 'weight_decay': 0.0005, 'giou': 0.05, 'cls': 0.58, '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.014, 'hsv_s': 0.68, 'hsv_v': 0.36, 'degrees': 0.0, 'translate': 0.0, 'scale': 0.5, 'shear': 0.0}\n",
"\n",
" from n params module arguments \n",
" 0 -1 1 3520 models.common.Focus [3, 32, 3] \n",
" 1 -1 1 18560 models.common.Conv [32, 64, 3, 2] \n",
" 2 -1 1 19904 models.common.BottleneckCSP [64, 64, 1] \n",
" 3 -1 1 73984 models.common.Conv [64, 128, 3, 2] \n",
" 4 -1 1 161152 models.common.BottleneckCSP [128, 128, 3] \n",
" 5 -1 1 295424 models.common.Conv [128, 256, 3, 2] \n",
" 6 -1 1 641792 models.common.BottleneckCSP [256, 256, 3] \n",
" 7 -1 1 1180672 models.common.Conv [256, 512, 3, 2] \n",
" 8 -1 1 656896 models.common.SPP [512, 512, [5, 9, 13]] \n",
" 9 -1 1 1248768 models.common.BottleneckCSP [512, 512, 1, False] \n",
" 10 -1 1 131584 models.common.Conv [512, 256, 1, 1] \n",
" 11 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
" 12 [-1, 6] 1 0 models.common.Concat [1] \n",
" 13 -1 1 378624 models.common.BottleneckCSP [512, 256, 1, False] \n",
" 14 -1 1 33024 models.common.Conv [256, 128, 1, 1] \n",
" 15 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
" 16 [-1, 4] 1 0 models.common.Concat [1] \n",
" 17 -1 1 95104 models.common.BottleneckCSP [256, 128, 1, False] \n",
" 18 -1 1 32895 torch.nn.modules.conv.Conv2d [128, 255, 1, 1] \n",
" 19 -2 1 147712 models.common.Conv [128, 128, 3, 2] \n",
" 20 [-1, 14] 1 0 models.common.Concat [1] \n",
" 21 -1 1 313088 models.common.BottleneckCSP [256, 256, 1, False] \n",
" 22 -1 1 65535 torch.nn.modules.conv.Conv2d [256, 255, 1, 1] \n",
" 23 -2 1 590336 models.common.Conv [256, 256, 3, 2] \n",
" 24 [-1, 10] 1 0 models.common.Concat [1] \n",
" 25 -1 1 1248768 models.common.BottleneckCSP [512, 512, 1, False] \n",
" 26 -1 1 130815 torch.nn.modules.conv.Conv2d [512, 255, 1, 1] \n",
" 27 [-1, 22, 18] 1 0 models.yolo.Detect [80, [[116, 90, 156, 198, 373, 326], [30, 61, 62, 45, 59, 119], [10, 13, 16, 30, 33, 23]]]\n",
"Model Summary: 191 layers, 7.46816e+06 parameters, 7.46816e+06 gradients\n",
5 years ago
"\n",
"Optimizer groups: 62 .bias, 70 conv.weight, 59 other\n",
"Scanning labels ../coco128/labels/train2017.cache (126 found, 0 missing, 2 empty, 0 duplicate, for 128 images): 100% 128/128 [00:00<00:00, 20484.22it/s]\n",
"Caching images (0.1GB): 100% 128/128 [00:00<00:00, 156.07it/s]\n",
"Scanning labels ../coco128/labels/train2017.cache (126 found, 0 missing, 2 empty, 0 duplicate, for 128 images): 100% 128/128 [00:00<00:00, 22082.55it/s]\n",
"Caching images (0.1GB): 100% 128/128 [00:00<00:00, 152.91it/s]\n",
5 years ago
"\n",
"Analyzing anchors... Best Possible Recall (BPR) = 0.9935\n",
5 years ago
"Image sizes 640 train, 640 test\n",
"Using 2 dataloader workers\n",
"Starting training for 3 epochs...\n",
5 years ago
"\n",
" Epoch gpu_mem GIoU obj cls total targets img_size\n",
" 0/2 6.84G 0.04376 0.06831 0.02 0.1321 225 640: 100% 8/8 [00:09<00:00, 1.22s/it]\n",
" Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 8/8 [00:09<00:00, 1.24s/it]\n",
" all 128 929 0.34 0.762 0.69 0.446\n",
5 years ago
"\n",
" Epoch gpu_mem GIoU obj cls total targets img_size\n",
" 1/2 6.06G 0.04333 0.08225 0.02207 0.1476 182 640: 100% 8/8 [00:03<00:00, 2.17it/s]\n",
" Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 8/8 [00:02<00:00, 3.28it/s]\n",
" all 128 929 0.342 0.755 0.687 0.447\n",
5 years ago
"\n",
" Epoch gpu_mem GIoU obj cls total targets img_size\n",
" 2/2 6.06G 0.0444 0.07251 0.01855 0.1355 216 640: 100% 8/8 [00:03<00:00, 2.15it/s]\n",
" Class Images Targets P R mAP@.5 mAP@.5:.95: 100% 8/8 [00:02<00:00, 3.46it/s]\n",
" all 128 929 0.354 0.759 0.689 0.45\n",
"Optimizer stripped from runs/exp0/weights/last.pt, 15.2MB\n",
"3 epochs completed in 0.009 hours.\n",
5 years ago
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "DLI1JmHU7B0l",
"colab_type": "text"
},
"source": [
"# 4. Visualize\n",
5 years ago
"\n",
"View `runs/exp0/train*.jpg` images to see training images, labels and augmentation effects. A **Mosaic Dataloader** is used for training (shown below), a new concept developed by Ultralytics and first featured in [YOLOv4](https://arxiv.org/abs/2004.10934)."
5 years ago
]
},
{
"cell_type": "code",
"metadata": {
"id": "W40tI99_7BcH",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 917
},
"outputId": "1c838e44-79fe-433f-a334-59a037ee322e"
5 years ago
},
"source": [
"Image(filename='runs/exp0/train_batch1.jpg', width=900) # view augmented training mosaics"
5 years ago
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/jpeg": "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
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": [],
"image/jpeg": {
"width": 900
}
},
"execution_count": 17
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7uOowJKI-Qak",
"colab_type": "text"
},
"source": [
"View `test_batch0_gt.jpg` to see test batch 0 *ground truth* labels."
5 years ago
]
},
{
"cell_type": "code",
"metadata": {
"id": "PF9MLHDb7tB6",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 647
},
"outputId": "b7a874f7-dad3-4611-e777-56c724c7ee81"
5 years ago
},
"source": [
"Image(filename='runs/exp0/test_batch0_gt.jpg', width=900) # view test image labels"
5 years ago
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/jpeg": "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
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": [],
"image/jpeg": {
"width": 900
}
},
"execution_count": 20
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EGrb16Mu-jif",
"colab_type": "text"
},
"source": [
"View `test_batch0_pred.jpg` to see test batch 0 *predictions*."
5 years ago
]
},
{
"cell_type": "code",
"metadata": {
"id": "ycP4UTEZ82_I",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 647
},
"outputId": "c7c1238d-e0fa-4fc5-f393-bf5bce55d245"
5 years ago
},
"source": [
"Image(filename='runs/exp0/test_batch0_pred.jpg', width=900) # view test image predictions"
5 years ago
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/jpeg": "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
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": [],
"image/jpeg": {
"width": 900
}
},
"execution_count": 19
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7KN5ghjE6ZWh",
"colab_type": "text"
},
"source": [
"Training losses and performance metrics are saved to Tensorboard and also to a `runs/exp0/results.txt` logfile. `results.txt` is plotted as `results.png` after training completes. Partially completed `results.txt` files can be plotted with `from utils.general import plot_results; plot_results()`. Here we show YOLOv5s trained on coco128 to 300 epochs, starting from scratch (blue), and from pretrained `yolov5s.pt` (orange)."
5 years ago
]
},
{
"cell_type": "code",
"metadata": {
"id": "MDznIqPF7nk3",
5 years ago
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 517
},
"outputId": "c1146425-643e-49ab-de25-73216f0dde23"
5 years ago
},
"source": [
"from utils.general import plot_results; plot_results() # plot results.txt files as results.png"
5 years ago
],
"execution_count": null,
5 years ago
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAACWAAAASwCAYAAAB/pHGBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAewgAAHsIBbtB1PgAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeVxU1f8/8NcAsinIjoooLigopoEiaAlUVi6ouZuVW2Zmatni8s3ccm1zyTS15JOZn0xLzS01QARxRRGTUFxyQxYBUVYZ7u8Pf9zPXJidGYbl9Xw8eDzumTn3fc/M6Jx77rzvOTJBEAQQERERERERERERERERERERERGRzsxM3QAiIiIiIiIiIiIiIiIiIiIiIqLaiglYREREREREREREREREREREREREemICFhERERERERERERERERERERERkZ6YgEVERERERERERERERERERERERKQnJmARERERERERERERERERERERERHpiQlYREREREREREREREREREREREREemICFhERERERERERERERERERERERkZ6YgEVERERERERERERERERERERERKQnJmARERERERERERERERERERERERHpiQlYREREREREREREREREREREREREemICFhERERERERERERERERERERERkZ6YgEVERERERERERERERERERERERKQnJmARERERERERERERERERERERERHpiQlYREREREREREREREREREREREREemICFhERERERERERERERERERERERkZ6YgEVERERERERERERERERERERERKQnJmARERERERERERERERERERERERHpiQlYREREREREREREREREREREREREemICFhERERERERERERERERERERERkZ6YgEVERERERERERERERERERERERKQnJmARERERERERERERERERERERERHpiQlYREREREREREREREREREREREREemICFhERERERERERERERERERERERkZ6YgEVERERERERERERERERERERERKQnJmARERERERERERERERERERERERHpiQlYREREREREREREREREREREREREemICFhERERERERERERERERERERERkZ6YgEVERERERERERERERERERERERKQnJmARERERERERERERERER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
5 years ago
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": [],
"image/png": {
"width": 1000
}
},
"execution_count": 29
5 years ago
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Zelyeqbyt3GD",
"colab_type": "text"
},
"source": [
"# Environments\n",
"\n",
"YOLOv5 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):\n",
"\n",
"- **Google Colab Notebook** with free GPU: <a href=\"https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"></a>\n",
"- **Kaggle Notebook** with free GPU: [https://www.kaggle.com/ultralytics/yolov5](https://www.kaggle.com/ultralytics/yolov5)\n",
"- **Google Cloud** Deep Learning VM. See [GCP Quickstart Guide](https://github.com/ultralytics/yolov5/wiki/GCP-Quickstart) \n",
"- **Docker Image** https://hub.docker.com/r/ultralytics/yolov5. See [Docker Quickstart Guide](https://github.com/ultralytics/yolov5/wiki/Docker-Quickstart) ![Docker Pulls](https://img.shields.io/docker/pulls/ultralytics/yolov5?logo=docker)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "IEijrePND_2I",
"colab_type": "text"
},
"source": [
"# Appendix\n",
"\n",
"Optional extras below. Unit tests validate repo functionality and should be run on any PRs submitted.\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "gI6NoBev8Ib1",
"colab_type": "code",
"colab": {}
},
"source": [
"# Re-clone repo\n",
"%cd ..\n",
"!rm -rf yolov5 && git clone https://github.com/ultralytics/yolov5\n",
"%cd yolov5"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Z2AvpeKfrbsT",
"colab_type": "code",
"colab": {}
},
"source": [
"# Test GCP ckpt\n",
"%%shell\n",
"for x in best*\n",
"do\n",
" gsutil cp gs://*/*/*/$x.pt .\n",
" python test.py --weights $x.pt --data coco.yaml --img 672\n",
"done"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "FGH0ZjkGjejy",
"colab_type": "code",
"colab": {}
},
"source": [
"# YOLOv5 unit tests\n",
"%%shell\n",
"cd .. && rm -rf yolov5 && git clone https://github.com/ultralytics/yolov5 && cd yolov5\n",
"export PYTHONPATH=\"$PWD\" # to run *.py. files in subdirectories\n",
"pip install -qr requirements.txt onnx\n",
"python3 -c \"from utils.google_utils import *; gdrive_download('1n_oKgR81BJtqk75b00eAjdv03qVCQn2f', 'coco128.zip')\" && mv ./coco128 ../\n",
"for x in yolov5s #yolov5m yolov5l yolov5x # models\n",
"do\n",
" python train.py --weights $x.pt --cfg $x.yaml --epochs 4 --img 320 --device 0 # train\n",
" for di in 0 cpu # inference devices\n",
" do\n",
" python detect.py --weights $x.pt --device $di # detect official\n",
" python detect.py --weights runs/exp0/weights/last.pt --device $di # detect custom\n",
" python test.py --weights $x.pt --device $di # test official\n",
" python test.py --weights runs/exp0/weights/last.pt --device $di # test custom\n",
" done\n",
" python models/yolo.py --cfg $x.yaml # inspect\n",
" python models/export.py --weights $x.pt --img 640 --batch 1 # export\n",
"done"
],
"execution_count": null,
"outputs": []
5 years ago
}
]
}