Changelogs >

Ultralytics

PyUp actively tracks 419,855 Python packages for vulnerabilities to keep your Python environments secure.

Scan your dependencies

1005.3

354.3b

| | | | | || |

218.8

| | | | | | | || |

209.8br

<details>
<summary>Table Notes (click to expand)</summary>

* All checkpoints are trained to 300 epochs with default settings. Nano models use [hyp.scratch-low.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-low.yaml) hyperparameters, all others use [hyp.scratch-high.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-high.yaml).
* **mAP<sup>val</sup>** values are for single-model single-scale on [COCO val2017](http://cocodataset.org) dataset.<br>Reproduce by `python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65`
* **Speed** averaged over COCO val images using a [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) instance. NMS times (~1 ms/img) not included.<br>Reproduce by `python val.py --data coco.yaml --img 640 --conf 0.25 --iou 0.45`
* **TTA** [Test Time Augmentation](https://github.com/ultralytics/yolov5/issues/303) includes reflection and scale augmentations.<br>Reproduce by `python val.py --data coco.yaml --img 1536 --iou 0.7 --augment`

</details>


Changelog

Changes between **previous release and this release**: https://github.com/ultralytics/yolov5/compare/v5.0...v6.0
Changes **since this release**: https://github.com/ultralytics/yolov5/compare/v6.0...HEAD

<details>
<summary>New Features and Bug Fixes (465)</summary>

* YOLOv5 v5.0 Release patch 1 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2764
* Flask REST API Example by robmarkcole in https://github.com/ultralytics/yolov5/pull/2732
* ONNX Simplifier by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2815
* YouTube Bug Fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2818
* PyTorch Hub cv2 .save() .show() bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2831
* Create FUNDING.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2832
* Update FUNDING.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2833
* Fix ONNX dynamic axes export support with onnx simplifier, make onnx simplifier optional by timstokman in https://github.com/ultralytics/yolov5/pull/2856
* Update increment_path() to handle file paths by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2867
* Detection cropping+saving feature addition for detect.py and PyTorch Hub by Ab-Abdurrahman in https://github.com/ultralytics/yolov5/pull/2827
* Implement yaml.safe_load() by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2876
* Cleanup load_image() by JoshSong in https://github.com/ultralytics/yolov5/pull/2871
* bug fix: switched rows and cols for correct detections in confusion matrix by MichHeilig in https://github.com/ultralytics/yolov5/pull/2883
* VisDrone2019-DET Dataset Auto-Download by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2882
* Uppercase model filenames enabled by r-blmnr in https://github.com/ultralytics/yolov5/pull/2890
* ACON activation function by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2893
* Explicit opt function arguments by fcakyon in https://github.com/ultralytics/yolov5/pull/2817
* Update yolo.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2899
* Update google_utils.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2900
* Add detect.py --hide-conf --hide-labels --line-thickness options by Ashafix in https://github.com/ultralytics/yolov5/pull/2658
* Default optimize_for_mobile() on TorchScript models by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2908
* Update export.py onnx -> ct print bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2909
* Update export.py for 2 dry runs by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2910
* Add file_size() function by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2911
* Update download() for tar.gz files by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2919
* Update visdrone.yaml bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2921
* changed default value of hide label argument to False by albinxavi in https://github.com/ultralytics/yolov5/pull/2923
* Change default value of hide-conf argument to false by albinxavi in https://github.com/ultralytics/yolov5/pull/2925
* test.py native --single-cls by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2928
* Add verbose option to pytorch hub models by NanoCode012 in https://github.com/ultralytics/yolov5/pull/2926
* ACON Activation batch-size 1 bug patch by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2901
* Check_requirements() enclosing apostrophe bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2929
* Update README.md by BZFYS in https://github.com/ultralytics/yolov5/pull/2934
* Improved yolo.py profiling by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2940
* Add yolov5/ to sys.path() for *.py subdir exec by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2949
* New Colors() class by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2963
* Update restapi.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2967
* Global Wheat Detection 2020 Dataset Auto-Download by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2968
* Objects365 Dataset AutoDownload by ferdinandl007 in https://github.com/ultralytics/yolov5/pull/2932
* Update check_requirements() exclude list by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2974
* Make cache saving optional by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2977
* YOLOv5 AWS Inferentia Inplace compatibility updates by jluntamazon in https://github.com/ultralytics/yolov5/pull/2953
* PyTorch Hub load directly when possible by glenn-jocher in https://github.com/ultralytics/yolov5/pull/2986
* Improve performance of dataset Logger by AyushExel in https://github.com/ultralytics/yolov5/pull/2943
* Add unzip flag to download() by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3002
* Curl update by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3004
* Update hubconf.py for unified loading by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3005
* hubconf.py bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3007
* Added support for fp16 (half) to export.py by hodovo in https://github.com/ultralytics/yolov5/pull/3010
* Add is_colab() function by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3018
* Add NMS threshold checks by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3020
* Fix ONNX export using --grid --simplify --dynamic simultaneously by jylink in https://github.com/ultralytics/yolov5/pull/2982
* download() ThreadPool update by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3027
* FROM nvcr.io/nvidia/pytorch:21.04-py3 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3030
* Fix 3031 : use check_file for --data by AyushExel in https://github.com/ultralytics/yolov5/pull/3035
* Add get_coco128.sh for downloading the coco128 dataset by zldrobit in https://github.com/ultralytics/yolov5/pull/3047
* Do not optimize CoreML TorchScript model by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3055
* Fixed 3042 by kepler62f in https://github.com/ultralytics/yolov5/pull/3058
* Update export.py with --train mode argument by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3066
* Explicitly convert artifact path to posix_path by AyushExel in https://github.com/ultralytics/yolov5/pull/3067
* Update P5 + P6 model ensembling by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3082
* Update detect.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3087
* Add check_python() by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3088
* Add --optimize argument by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3093
* Update train.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3099
* Update GlobalWheat2020.yaml test: 1276 images by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3101
* detect.py streaming source `--save-crop` bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3102
* Replace print() with logging.info() in trainloader by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3103
* New Ultralytics Colors() Palette by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3046
* Update JSON response by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3139
* Update https://ultralytics.com/images/zidane.jpg by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3140
* Add yolov5/__init__.py by KC-Zhang in https://github.com/ultralytics/yolov5/pull/3127
* Add `--include torchscript onnx coreml` argument by CristiFati in https://github.com/ultralytics/yolov5/pull/3137
* TorchScript, ONNX, CoreML Export tutorial title by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3142
* Update requirements.txt `onnx>=1.9.0` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3143
* Scope imports for torch.hub.list() improvement by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3144
* Scope all hubconf.py imports for torch.hub.list() by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3145
* SKU-110K CVPR2019 Dataset Auto-Download by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3167
* rename class autoShape -> AutoShape by developer0hye in https://github.com/ultralytics/yolov5/pull/3173
* Parameterize ONNX `--opset-version` by CristiFati in https://github.com/ultralytics/yolov5/pull/3154
* Add `device` argument to PyTorch Hub models by cgerum in https://github.com/ultralytics/yolov5/pull/3104
* Plot labels.png histogram colors by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3192
* Add CAP_PROP_FRAME_COUNT for YouTube sources by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3193
* Silent List Bug Fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3214
* 0 FPS stream bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3216
* Parameterize max_det + inference default at 1000 by adrianholovaty in https://github.com/ultralytics/yolov5/pull/3215
* TensorBoard add_graph() fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3236
* `plot_one_box()` default `color=(128, 128, 128)` by yeric1789 in https://github.com/ultralytics/yolov5/pull/3240
* Add Cython by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3217
* Check CoreML models.train() mode by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3262
* Assert `--image-weights` not combined with DDP by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3275
* check `batch_size % utilized_device_count` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3276
* YouTube stream ending fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3277
* Fix TypeError: 'PosixPath' object is not iterable by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3285
* Improves docs and handling of entities and resuming by WandbLogger by charlesfrye in https://github.com/ultralytics/yolov5/pull/3264
* Update LoadStreams init fallbacks by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3295
* PyTorch Hub `crops = results.crop()` return values by yeric1789 in https://github.com/ultralytics/yolov5/pull/3282
* Comment Cython by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3297
* Improved check_requirements() robustness by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3298
* Explicit `git clone` master by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3311
* Implement `torch.no_grad()` decorator by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3312
* Remove www subdomain from https://ultralytics.com by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3320
* TensorBoard DP/DDP graph fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3325
* yolo.py header by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3347
* Updated cache v0.2 with `hashlib` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3350
* Add URL file download to check_file() by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3330
* ONNX export in `.train()` mode fix by ChaofWang in https://github.com/ultralytics/yolov5/pull/3362
* Ignore blank lines in `*.txt` labels by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3366
* update ci-testing.yml by SkalskiP in https://github.com/ultralytics/yolov5/pull/3322
* Enable direct `--weights URL` definition by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3373
* Add Open in Kaggle badge by pizzaz93 in https://github.com/ultralytics/yolov5/pull/3368
* `cv2.imread(img, -1)` for IMREAD_UNCHANGED by tudoulei in https://github.com/ultralytics/yolov5/pull/3379
* COCO evolution fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3388
* Create `is_pip()` function by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3391
* Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED" by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3395
* Update FLOPs description. by chocosaj in https://github.com/ultralytics/yolov5/pull/3422
* Parse URL authentication by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3424
* Add FLOPs title to table by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3453
* Suppress jit trace warning + graph once by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3454
* Update MixUp augmentation `alpha=beta=32.0` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3455
* Add `timeout()` class by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3460
* Faster HSV augmentation by developer0hye in https://github.com/ultralytics/yolov5/pull/3462
* Add `check_git_status()` 5 second timeout by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3464
* Improved `check_requirements()` offline-handling by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3466
* Add `output_names` argument for ONNX export with dynamic axes by SamSamhuns in https://github.com/ultralytics/yolov5/pull/3456
* Revert FP16 `test.py` and `detect.py` inference to FP32 default by edificewang in https://github.com/ultralytics/yolov5/pull/3423
* Add additional links/resources to stale.yml message by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3467
* Update stale.yml HUB URL by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3468
* Stale `github.actor` bug fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3483
* Explicit `model.eval()` call `if opt.train=False` by developer0hye in https://github.com/ultralytics/yolov5/pull/3475
* check_requirements() exclude `opencv-python` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3495
* check_requirements() exclude `opencv-python` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3507
* early assert for cpu and half option by developer0hye in https://github.com/ultralytics/yolov5/pull/3508
* Update tutorial.ipynb by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3510
* Reduce test.py results spacing by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3511
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3512
* Merge `develop` branch into `master` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3518
* Use multi-threading in cache_labels by deanmark in https://github.com/ultralytics/yolov5/pull/3505
* Update datasets.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3531
* Update FP16 `--half` argument for test.py and detect.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3532
* Update `dataset_stats()` for HUB by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3536
* On-demand `pycocotools` pip install by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3547
* Update `check_python(minimum=3.6.2)` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3548
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3550
* Remove `opt` from `create_dataloader()`` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3552
* Remove `is_coco` argument from `test()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3553
* Multi-GPU default to single device 0 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3554
* Update test.py profiling by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3555
* Remove redundant speed/study `half` argument by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3557
* Bump pip from 18.1 to 19.2 in /utils/google_app_engine by dependabot in https://github.com/ultralytics/yolov5/pull/3561
* Refactor test.py arguments by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3558
* Refactor detect.py arguments by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3559
* Refactor models/export.py arguments by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3564
* Refactoring cleanup by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3565
* Ignore Seaborn plot warnings by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3576
* Update export.py, yolo.py `sys.path.append()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3579
* Update stale.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3585
* Add ConfusionMatrix `normalize=True` flag by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3586
* ConfusionMatrix `normalize=True` fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3587
* train.py GPU memory fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3590
* W&B: Allow changed in config variable by AyushExel in https://github.com/ultralytics/yolov5/pull/3588
* Update `dataset_stats()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3593
* Delete __init__.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3596
* Simplify README.md by kalenmike in https://github.com/ultralytics/yolov5/pull/3530
* Update datasets.py by masoodazhar in https://github.com/ultralytics/yolov5/pull/3591
* Download COCO and VOC by default by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3608
* Suppress wandb images size mismatch warning by AyushExel in https://github.com/ultralytics/yolov5/pull/3611
* Fix incorrect end epoch by wq9 in https://github.com/ultralytics/yolov5/pull/3612
* Update `check_file()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3622
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3624
* FROM nvcr.io/nvidia/pytorch:21.05-py3 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3633
* Add `**/*.torchscript.pt` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3634
* Update `verify_image_label()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3635
* RUN pip install --no-cache -U torch torchvision by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3637
* Assert non-premature end of JPEG images by xiaowk5516 in https://github.com/ultralytics/yolov5/pull/3638
* Update CONTRIBUTING.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3645
* Update CONTRIBUTING.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3647
* `is_coco` list fix by thanhminhmr in https://github.com/ultralytics/yolov5/pull/3646
* Update README.md by SpongeBab in https://github.com/ultralytics/yolov5/pull/3650
* Update `dataset_stats()` to list of dicts by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3657
* Remove `/weights` directory by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3659
* Update download_weights.sh comment by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3662
* Update train.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3667
* Update `train(hyp, *args)` to accept `hyp` file or dict by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3668
* Update TensorBoard by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3669
* Update `WORLD_SIZE` and `RANK` retrieval by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3670
* Cache v0.3: improved corrupt image/label reporting by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3676
* EMA changes for pre-model's batch_size by ZouJiu1 in https://github.com/ultralytics/yolov5/pull/3681
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3684
* Update cache check by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3691
* Skip HSV augmentation when hyperparameters are [0, 0, 0] by thanhminhmr in https://github.com/ultralytics/yolov5/pull/3686
* Slightly modify CLI execution by lb-desupervised in https://github.com/ultralytics/yolov5/pull/3687
* Reformat by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3694
* Update DDP for `torch.distributed.run` with `gloo` backend by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3680
* Eliminate `total_batch_size` variable by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3697
* Add torch DP warning by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3698
* Add `train.run()` method by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3700
* Update DDP backend `if dist.is_nccl_available()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3705
* [x]W&B: Don't resume transfer learning runs by AyushExel in https://github.com/ultralytics/yolov5/pull/3604
* Update 4 main ops for paths and .run() by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3715
* Fix `img2label_paths()` order by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3720
* Fix typo in export.py by fcakyon in https://github.com/ultralytics/yolov5/pull/3729
* Backwards compatible cache version checks by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3730
* Update `check_datasets()` for dynamic unzip path by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3732
* Create `data/hyps` directory by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3747
* Force non-zero hyp evolution weights `w` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3748
* edit comment for img2tensor process by developer0hye in https://github.com/ultralytics/yolov5/pull/3759
* Add optional dataset.yaml `path` attribute by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3753
* COCO annotations JSON fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3764
* Add `xyxy2xywhn()` by developer0hye in https://github.com/ultralytics/yolov5/pull/3765
* Remove DDP `nn.MultiheadAttention` fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3768
* fix/incorrect_fitness_import by SkalskiP in https://github.com/ultralytics/yolov5/pull/3770
* W&B: Update Tables API and comply with new dataset_check by AyushExel in https://github.com/ultralytics/yolov5/pull/3772
* NGA xView 2018 Dataset Auto-Download by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3775
* Update README.md fix banner width by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3785
* Objectness IoU Sort by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3610
* Update objectness IoU sort by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3786
* Create hyp.scratch-p6.yaml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3787
* Fix datasets for aws and get_coco.sh by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3788
* Update seeds for single-GPU reproducibility by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3789
* Update Usage examples by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3790
* nvcr.io/nvidia/pytorch:21.06-py3 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3791
* Update Dockerfile by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3792
* FROM nvcr.io/nvidia/pytorch:21.05-py3 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3794
* Fix competition link by batrlatom in https://github.com/ultralytics/yolov5/pull/3799
* Fix warmup `accumulate` by yellowdolphin in https://github.com/ultralytics/yolov5/pull/3722
* Add feature map visualization by Zigars in https://github.com/ultralytics/yolov5/pull/3804
* Update `feature_visualization()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3807
* Fix for `dataset_stats()` with updated data.yaml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3819
* Move IoU functions to metrics.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3820
* Concise `TransformerBlock()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3821
* Fix `LoadStreams()` dataloader frame skip issue by feras-oughali in https://github.com/ultralytics/yolov5/pull/3833
* Plot `AutoShape()` detections in ascending order by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3843
* Copy-Paste augmentation for YOLOv5 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3845
* Add EXIF rotation to YOLOv5 Hub inference by vaaliferov in https://github.com/ultralytics/yolov5/pull/3852
* `--evolve 300` generations CLI argument by san-soucie in https://github.com/ultralytics/yolov5/pull/3863
* Add multi-stream saving feature by ketan-b in https://github.com/ultralytics/yolov5/pull/3864
* Models `*.yaml` reformat by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3875
* Create `utils/augmentations.py` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3877
* Improved BGR2RGB speeds by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3880
* Evolution commented `hyp['anchors']` fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3887
* Hub models `map_location=device` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3894
* YOLOv5 + Albumentations integration by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3882
* Save PyTorch Hub models to `/root/hub/cache/dir` by johnohagan in https://github.com/ultralytics/yolov5/pull/3904
* Feature visualization update by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3920
* Fix `torch.hub.list('ultralytics/yolov5')` pathlib bug by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3921
* Update `setattr()` default for Hub PIL images by jmiranda-laplateforme in https://github.com/ultralytics/yolov5/pull/3923
* `feature_visualization()` CUDA fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3925
* Update `dataset_stats()` for zipped datasets by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3926
* Fix inconsistent NMS IoU value for COCO by eldarkurtic in https://github.com/ultralytics/yolov5/pull/3934
* Feature visualization improvements 32 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3947
* Update augmentations.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3948
* Cache v0.4 update by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3954
* Numerical stability fix for Albumentations by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3958
* Update `albumentations>=1.0.2` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3966
* Update `np.random.random()` to `random.random()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3967
* Update requirements.txt `albumentations>=1.0.2` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3972
* `Ensemble()` visualize fix by seven320 in https://github.com/ultralytics/yolov5/pull/3973
* Update `probability` to `p` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3980
* Alert (no detections) by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3984
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/3996
* Rename `test.py` to `val.py` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4000
* W&B: Proposal for supporting W&B sweeps by AyushExel in https://github.com/ultralytics/yolov5/pull/3938
* Update greetings.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4024
* Add `--sync-bn` known issue by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4032
* Update greetings.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4037
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4041
* AutoShape PosixPath support by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4047
* `val.py` refactor by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4053
* Module `super().__init__()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4065
* Missing `nc` and `names` handling in check_dataset() by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4066
* Albumentations >= 1.0.3 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4068
* W&B: fix refactor bugs by AyushExel in https://github.com/ultralytics/yolov5/pull/4069
* Refactor `export.py` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4080
* Addition refactor `export.py` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4089
* Add train.py `--img-size` floor by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4099
* Update resume.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4115
* Fix indentation in `log_training_progress()` by imyhxy in https://github.com/ultralytics/yolov5/pull/4126
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4134
* detect.py ONNX inference feature by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4073
* Rename `opset_version` to `opset` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4135
* Update train.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4136
* Refactor train.py and val.py `loggers` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4137
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4143
* Add `export.py` ONNX inference suggestion by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4146
* New CSV Logger by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4148
* Update dataset comments by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4162
* Update script headers by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4163
* W&B: Improve documentation of the logger & use wandb assigned run names by default by AyushExel in https://github.com/ultralytics/yolov5/pull/4174
* Update comments header by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4184
* Train from `--data path/to/dataset.zip` feature by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4185
* Create yolov5-bifpn.yaml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4195
* Update Hub Path inputs by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4200
* W&B: Restructure code to support the new dataset_check() feature by AyushExel in https://github.com/ultralytics/yolov5/pull/4197
* Update yolov5-bifpn.yaml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4208
* W&B: More improvements and refactoring by AyushExel in https://github.com/ultralytics/yolov5/pull/4205
* PyCharm reformat by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4209
* Add `try_except` decorator by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4224
* Explicit `requirements.txt` location by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4225
* Suppress torch 1.9.0 `max_pool2d()` warning by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4227
* Fix weight decay comment by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4228
* Update profiler by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4236
* Add `python train.py --freeze N` argument by IneovaAI in https://github.com/ultralytics/yolov5/pull/4238
* Update `profile()` for CUDA Memory allocation by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4239
* Add `train.py` and `val.py` callbacks by kalenmike in https://github.com/ultralytics/yolov5/pull/4220
* W&B: suppress warnings by AyushExel in https://github.com/ultralytics/yolov5/pull/4257
* Update AP calculation by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4260
* Update Autoshape forward header by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4271
* Update variables by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4273
* Add `DWConvClass()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4274
* Update 'results saved to' string by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4275
* W&B: Fix sweep bug by AyushExel in https://github.com/ultralytics/yolov5/pull/4276
* Feature `python train.py --cache disk` by junjihashimoto in https://github.com/ultralytics/yolov5/pull/4049
* Fixed logging level in distributed mode by imyhxy in https://github.com/ultralytics/yolov5/pull/4284
* Simplify callbacks by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4289
* Evolve in CSV format by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4307
* Update newline by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4308
* Update README.md by Justsubh01 in https://github.com/ultralytics/yolov5/pull/4309
* Simpler code for DWConvClass by developer0hye in https://github.com/ultralytics/yolov5/pull/4310
* `int(mlc)` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4385
* fix module count in parse_model by orangeccc in https://github.com/ultralytics/yolov5/pull/4379
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4387
* W&B: Add advanced features tutorial by AyushExel in https://github.com/ultralytics/yolov5/pull/4384
* W&B: Fix for 4360 by AyushExel in https://github.com/ultralytics/yolov5/pull/4388
* Fix rename `utils.google_utils` to `utils.downloads` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4393
* Simplify ONNX inference command by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4405
* No cache option for reading datasets by ahmadmustafaanis in https://github.com/ultralytics/yolov5/pull/4376
* Update plots.py PIL box plotting by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4407
* Add `yolov5s-ghost.yaml` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4412
* Remove `encoding='ascii'` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4413
* Merge PIL and OpenCV in `plot_one_box(use_pil=False)` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4416
* Standardize headers and docstrings by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4417
* Add `SPPF()` layer by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4420
* Remove DDP process group timeout by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4422
* Update hubconf.py `attempt_load` import by OmidSa75 in https://github.com/ultralytics/yolov5/pull/4428
* TFLite preparation by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4436
* Add TensorFlow and TFLite export by zldrobit in https://github.com/ultralytics/yolov5/pull/1127
* Fix default `--weights yolov5s.pt` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4458
* Fix missing labels after albumentations by huuquan1994 in https://github.com/ultralytics/yolov5/pull/4455
* `check_requirements(('coremltools',))` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4478
* W&B: Refactor the wandb_utils.py file by AyushExel in https://github.com/ultralytics/yolov5/pull/4496
* Add `install=True` argument to `check_requirements` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4512
* Automatic TFLite uint8 determination by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4515
* Fix for `python models/yolo.py --profile` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4541
* Auto-fix corrupt JPEGs by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4548
* Fix for corrupt JPEGs auto-fix PR by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4560
* Fix for AP calculation limits 0.0 - 1.0 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4563
* ONNX opset 13 by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4566
* Add EarlyStopping feature by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4576
* Remove `image_weights` DDP code by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4579
* Add `Profile()` profiler by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4587
* Fix bug in `plot_one_box` when label is `None` by karasawatakumi in https://github.com/ultralytics/yolov5/pull/4588
* Create `Annotator()` class by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4591
* Auto-UTF handling by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4594
* Re-order `plots.py` to class-first by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4595
* Update mosaic plots font size by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4596
* TensorBoard `on_train_end()` speed improvements by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4605
* Auto-download Arial.ttf on init by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4606
* Fix: add P2 layer 21 to yolov5-p2.yaml `Detect()` inputs by YukunXia in https://github.com/ultralytics/yolov5/pull/4608
* Update `check_git_status()` warning by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4610
* W&B: Don't log models in evolve operation by AyushExel in https://github.com/ultralytics/yolov5/pull/4611
* Close `matplotlib` plots after opening by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4612
* DDP `torch.jit.trace()` `--sync-bn` fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4615
* Fix for Arial.ttf redownloads with hub inference by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4627
* Fix 2 for Arial.ttf redownloads with hub inference by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4628
* Fix 3 for Arial.ttf redownloads with hub inference by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4629
* Fix for `plot_evolve()` string argument by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4639
* Fix `is_coco` on missing `data['val']` key by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4642
* Fixed 'meta' and 'hyp' may out of order when using evolve by imyhxy in https://github.com/ultralytics/yolov5/pull/4657
* EarlyStopper updates by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4679
* Optimised Callback Class to Reduce Code and Fix Errors by kalenmike in https://github.com/ultralytics/yolov5/pull/4688
* Remove redundant `ComputeLoss` code by zhiqwang in https://github.com/ultralytics/yolov5/pull/4701
* Add suffix checks by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4711
* Fix `check_suffix()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4712
* Update `check_yaml()` comment by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4713
* Add `user_config_dir('Ultralytics')` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4715
* Add `crops = results.crop()` dictionary by ELHoussineT in https://github.com/ultralytics/yolov5/pull/4676
* Make CONFIG_DIR configurable per environment variable by joaodiogocosta in https://github.com/ultralytics/yolov5/pull/4727
* Allow `multi_label` option for NMS with PyTorch Hub by jeanbmar in https://github.com/ultralytics/yolov5/pull/4728
* Scope `onnx-simplifier` requirements check by Zegorax in https://github.com/ultralytics/yolov5/pull/4730
* Fix `user_config_dir()` for GCP/AWS functions by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4726
* Fix `--data from_HUB.zip` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4732
* Improved `detect.py` timing by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4741
* Add `callbacks` to train function in W&B sweep by jveitchmichaelis in https://github.com/ultralytics/yolov5/pull/4742
* Fix `is_writeable()` for 3 OS support by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4743
* Add TF and TFLite models to `.gitignore` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4747
* Add TF and TFLite models to `.dockerignore` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4748
* Update `is_writeable()` for 2 methods by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4744
* Centralize `user_config_dir()` decision making by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4755
* Replace `path.absolute()` with `path.resolve()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4763
* Add TensorFlow formats to `export.py` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4479
* Update ci-testing.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4770
* Update ci-testing.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4772
* Shuffle all 4(or 9) images in mosaic augmentation by kimnamu in https://github.com/ultralytics/yolov5/pull/4787
* Add `--int8` argument by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4799
* Evolution `--resume` fix by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4802
* Refactor `forward()` method profiling by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4816
* Feature/fix export on url by kalenmike in https://github.com/ultralytics/yolov5/pull/4823
* Fix 'PyTorch starting from' for URL weights by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4828
* Multiple TF export improvements by zldrobit in https://github.com/ultralytics/yolov5/pull/4824
* Fix val.py study plot by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4831
* `PIL.ImageDraw.text(anchor=...)` removal, reduce to `>=7.1.2` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4842
* Sorted datasets update to `cache_labels()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4845
* Single `cache_version` definition by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4846
* W&B: Enable login timeout by AyushExel in https://github.com/ultralytics/yolov5/pull/4843
* Consolidate `init_seeds()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4849
* Refactor argparser printing to `print_args()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4850
* Update `sys.path.append(str(ROOT))` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4852
* Simplify `check_requirements()` usage by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4855
* Update greetings.yml by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4856
* Update Dockerfile by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4861
* Update Dockerfile by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4862
* Fix DDP destruction `LOGGER.info()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4863
* Annotator `check_font()` RANK -1 remove progress by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4864
* W&B: Login only in master processes by AyushExel in https://github.com/ultralytics/yolov5/pull/4866
* W&B: Fix dataset check by AyushExel in https://github.com/ultralytics/yolov5/pull/4879
* Fix arg help string to match 'classes' arg name. by NauchtanRobotics in https://github.com/ultralytics/yolov5/pull/4893
* Avoid out-of-image class labels by zldrobit in https://github.com/ultralytics/yolov5/pull/4902
* TensorFlow.js export enhancements by zldrobit in https://github.com/ultralytics/yolov5/pull/4905
* fix zipfile name for coco128-segments by SamFC10 in https://github.com/ultralytics/yolov5/pull/4914
* Replace `os.system('unzip file.zip')` -> `ZipFile.extractall()` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4919
* Fix `root` referenced before assignment by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4920
* Add Slack Forum badge to README by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4930
* Validate `best.pt` on train end by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4889
* Update default Albumentations by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4931
* Scope `check_file()` search space by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4933
* Update Dockerfile by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4935
* Automatic Chinese fonts plotting by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4951
* Allow YOLOv5 execution from arbitrary `cwd` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4954
* Update relative `ROOT` logic by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4955
* Add `roboflow` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4956
* Fix `isascii()` method calls for python 3.6 by d57montes in https://github.com/ultralytics/yolov5/pull/4958
* Fix relative `ROOT` Pytorch Hub custom model bug by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4974
* Add Roboflow to README by kalenmike in https://github.com/ultralytics/yolov5/pull/4972
* Update wandb_utils.py by d57montes in https://github.com/ultralytics/yolov5/pull/4953
* Add Hub custom models to CI tests by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4978
* Faster `--img 64` CI tests by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4979
* Clickable CI badge by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4985
* Revert `torch.hub.load()` test by glenn-jocher in https://github.com/ultralytics/yolov5/pull/4986
* Fix URL parsing bug by kalenmike in https://github.com/ultralytics/yolov5/pull/4998
* Update W&B README by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5006
* Add YOLOv5 Survey link to README.md by kalenmike in https://github.com/ultralytics/yolov5/pull/5000
* Update train.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5014
* Update README.md by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5015
* Compute loss on final val by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5017
* Fix missing `opt.device` on `--task study` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5031
* Fix pylint: do not use bare 'except' by zhiqwang in https://github.com/ultralytics/yolov5/pull/5025
* Clip TTA Augmented Tails by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5028
* Implement `--save-period` locally by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5047
* Fix `yaml.safe_load()` ignore emoji errors by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5060
* Update Dockerfile to `ADD` Arial.ttf by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5084
* Update datasets.py comments by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5088
* Re-open IP-camera videostream if disconnected by EgOrlukha in https://github.com/ultralytics/yolov5/pull/5074
* Fix SKU-110K HUB: `OSError` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5106
* Add `requests` to requirements.txt by sandstorm12 in https://github.com/ultralytics/yolov5/pull/5112
* Pass `LOCAL_RANK` to `torch_distributed_zero_first()` by qiningonline in https://github.com/ultralytics/yolov5/pull/5114
* Fix different devices bug when moving model from GPU to CPU by SamFC10 in https://github.com/ultralytics/yolov5/pull/5110
* Pass `--device` for `--task study` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5118
* Update val.py `--speed` and `--study` usages by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5120
* Update val.py `pad = 0.0 if task == 'speed' else 0.5` by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5121
* Update plots.py by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5127
* Fix `ROOT` as relative path by maltelorbach in https://github.com/ultralytics/yolov5/pull/5129
* Refactor `Detect()` anchors for ONNX <> OpenCV DNN compatibility by SamFC10 in https://github.com/ultralytics/yolov5/pull/4833
* Add OpenCV DNN option for ONNX inference by glenn-jocher in https://github.com/ultralytics/yolov5/pull/5136
* update `detect.py` in order to support torch script by andreiionutdamian in https://github.com/ultralytics/yolov5/pull/5109

</details>

<details>
<summary>New Contributors (73)</summary>

* robmarkcole made their first contribution in https://github.com/ultralytics/yolov5/pull/2732
* timstokman made their first contribution in https://github.com/ultralytics/yolov5/pull/2856
* Ab-Abdurrahman made their first contribution in https://github.com/ultralytics/yolov5/pull/2827
* JoshSong made their first contribution in https://github.com/ultralytics/yolov5/pull/2871
* MichHeilig made their first contribution in https://github.com/ultralytics/yolov5/pull/2883
* r-blmnr made their first contribution in https://github.com/ultralytics/yolov5/pull/2890
* fcakyon made their first contribution in https://github.com/ultralytics/yolov5/pull/2817
* Ashafix made their first contribution in https://github.com/ultralytics/yolov5/pull/2658
* albinxavi made their first contribution in https://github.com/ultralytics/yolov5/pull/2923
* BZFYS made their first contribution in https://github.com/ultralytics/yolov5/pull/2934
* ferdinandl007 made their first contribution in https://github.com/ultralytics/yolov5/pull/2932
* jluntamazon made their first contribution in https://github.com/ultralytics/yolov5/pull/2953
* hodovo made their first contribution in https://github.com/ultralytics/yolov5/pull/3010
* jylink made their first contribution in https://github.com/ultralytics/yolov5/pull/2982
* kepler62f made their first contribution in https://github.com/ultralytics/yolov5/pull/3058
* KC-Zhang made their first contribution in https://github.com/ultralytics/yolov5/pull/3127
* CristiFati made their first contribution in https://github.com/ultralytics/yolov5/pull/3137
* cgerum made their first contribution in https://github.com/ultralytics/yolov5/pull/3104
* adrianholovaty made their first contribution in https://github.com/ultralytics/yolov5/pull/3215
* yeric1789 made their first contribution in https://github.com/ultralytics/yolov5/pull/3240
* charlesfrye made their first contribution in https://github.com/ultralytics/yolov5/pull/3264
* ChaofWang made their first contribution in https://github.com/ultralytics/yolov5/pull/3362
* pizzaz93 made their first contribution in https://github.com/ultralytics/yolov5/pull/3368
* tudoulei made their first contribution in https://github.com/ultralytics/yolov5/pull/3379
* chocosaj made their first contribution in https://github.com/ultralytics/yolov5/pull/3422
* SamSamhuns made their first contribution in https://github.com/ultralytics/yolov5/pull/3456
* edificewang made their first contribution in https://github.com/ultralytics/yolov5/pull/3423
* deanmark made their first contribution in https://github.com/ultralytics/yolov5/pull/3505
* dependabot made their first contribution in https://github.com/ultralytics/yolov5/pull/3561
* kalenmike made their first contribution in https://github.com/ultralytics/yolov5/pull/3530
* masoodazhar made their first contribution in https://github.com/ultralytics/yolov5/pull/3591
* wq9 made their first contribution in https://github.com/ultralytics/yolov5/pull/3612
* xiaowk5516 made their first contribution in https://github.com/ultralytics/yolov5/pull/3638
* thanhminhmr made their first contribution in https://github.com/ultralytics/yolov5/pull/3646
* SpongeBab made their first contribution in https://github.com/ultralytics/yolov5/pull/3650
* ZouJiu1 made their first contribution in https://github.com/ultralytics/yolov5/pull/3681
* lb-desupervised made their first contribution in https://github.com/ultralytics/yolov5/pull/3687
* batrlatom made their first contribution in https://github.com/ultralytics/yolov5/pull/3799
* yellowdolphin made their first contribution in https://github.com/ultralytics/yolov5/pull/3722
* Zigars made their first contribution in https://github.com/ultralytics/yolov5/pull/3804
* feras-oughali made their first contribution in https://github.com/ultralytics/yolov5/pull/3833
* vaaliferov made their first contribution in https://github.com/ultralytics/yolov5/pull/3852
* san-soucie made their first contribution in https://github.com/ultralytics/yolov5/pull/3863
* ketan-b made their first contribution in https://github.com/ultralytics/yolov5/pull/3864
* johnohagan made their first contribution in https://github.com/ultralytics/yolov5/pull/3904
* jmiranda-laplateforme made their first contribution in https://github.com/ultralytics/yolov5/pull/3923
* eldarkurtic made their first contribution in https://github.com/ultralytics/yolov5/pull/3934
* seven320 made their first contribution in https://github.com/ultralytics/yolov5/pull/3973
* imyhxy made their first contribution in https://github.com/ultralytics/yolov5/pull/4126
* IneovaAI made their first contribution in https://github.com/ultralytics/yolov5/pull/4238
* junjihashimoto made their first contribution in https://github.com/ultralytics/yolov5/pull/4049
* Justsubh01 made their first contribution in https://github.com/ultralytics/yolov5/pull/4309
* orangeccc made their first contribution in https://github.com/ultralytics/yolov5/pull/4379
* ahmadmustafaanis made their first contribution in https://github.com/ultralytics/yolov5/pull/4376
* OmidSa75 made their first contribution in https://github.com/ultralytics/yolov5/pull/4428
* huuquan1994 made their first contribution in https://github.com/ultralytics/yolov5/pull/4455
* karasawatakumi made their first contribution in https://github.com/ultralytics/yolov5/pull/4588
* YukunXia made their first contribution in https://github.com/ultralytics/yolov5/pull/4608
* zhiqwang made their first contribution in https://github.com/ultralytics/yolov5/pull/4701
* ELHoussineT made their first contribution in https://github.com/ultralytics/yolov5/pull/4676
* joaodiogocosta made their first contribution in https://github.com/ultralytics/yolov5/pull/4727
* jeanbmar made their first contribution in https://github.com/ultralytics/yolov5/pull/4728
* Zegorax made their first contribution in https://github.com/ultralytics/yolov5/pull/4730
* jveitchmichaelis made their first contribution in https://github.com/ultralytics/yolov5/pull/4742
* kimnamu made their first contribution in https://github.com/ultralytics/yolov5/pull/4787
* NauchtanRobotics made their first contribution in https://github.com/ultralytics/yolov5/pull/4893
* SamFC10 made their first contribution in https://github.com/ultralytics/yolov5/pull/4914
* d57montes made their first contribution in https://github.com/ultralytics/yolov5/pull/4958
* EgOrlukha made their first contribution in https://github.com/ultralytics/yolov5/pull/5074
* sandstorm12 made their first contribution in https://github.com/ultralytics/yolov5/pull/5112
* qiningonline made their first contribution in https://github.com/ultralytics/yolov5/pull/5114
* maltelorbach made their first contribution in https://github.com/ultralytics/yolov5/pull/5129
* andreiionutdamian made their first contribution in https://github.com/ultralytics/yolov5/pull/5109

</details>

166.4b

118.0b

** AP<sup>test</sup> denotes COCO [test-dev2017](http://cocodataset.org/#upload) server results, all other AP results in the table denote val2017 accuracy.
** All AP numbers are for single-model single-scale without ensemble or test-time augmentation. Reproduce by `python test.py --img 736 --conf 0.001`
** Speed<sub>GPU</sub> measures end-to-end time per image averaged over 5000 COCO val2017 images using a GCP [n1-standard-16](https://cloud.google.com/compute/docs/machine-types#n1_standard_machine_types) instance with one V100 GPU, and includes image preprocessing, PyTorch FP16 image inference at --batch-size 32 --img-size 640, postprocessing and NMS. Average NMS time included in this chart is 1-2ms/img. Reproduce by `python test.py --img 640 --conf 0.1`
** All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation).

115.4

109.1

Pretrained Checkpoints

[assets]: https://github.com/ultralytics/yolov5/releases
[TTA]: https://github.com/ultralytics/yolov5/issues/303

|Model |size<br><sup>(pixels) |mAP<sup>val<br>0.5:0.95 |mAP<sup>val<br>0.5 |Speed<br><sup>CPU b1<br>(ms) |Speed<br><sup>V100 b1<br>(ms) |Speed<br><sup>V100 b32<br>(ms) |params<br><sup>(M) |FLOPs<br><sup>640 (B)
|--- |--- |--- |--- |--- |--- |--- |--- |---
|[YOLOv5n][assets] |640 |28.4 |46.0 |**45** |**6.3**|**0.6**|**1.9**|**4.5**
|[YOLOv5s][assets] |640 |37.2 |56.0 |98 |6.4 |0.9 |7.2 |16.5
|[YOLOv5m][assets] |640 |45.2 |63.9 |224 |8.2 |1.7 |21.2 |49.0
|[YOLOv5l][assets] |640 |48.8 |67.2 |430 |10.1 |2.7 |46.5 |109.1
|[YOLOv5x][assets] |640 |50.7 |68.9 |766 |12.1 |4.8 |86.7 |205.7
| | | | | | | | |
|[YOLOv5n6][assets] |1280 |34.0 |50.7 |153 |8.1 |2.1 |3.2 |4.6
|[YOLOv5s6][assets] |1280 |44.5 |63.0 |385 |8.2 |3.6 |16.8 |12.6
|[YOLOv5m6][assets] |1280 |51.0 |69.0 |887 |11.1 |6.8 |35.7 |50.0
|[YOLOv5l6][assets] |1280 |53.6 |71.6 |1784 |15.8 |10.5 |76.8 |111.4

88.1b

70.8

<details>
<summary>Table Notes (click to expand)</summary>

* AP<sup>test</sup> denotes COCO [test-dev2017](http://cocodataset.org/#upload) server results, all other AP results denote val2017 accuracy.
* AP values are for single-model single-scale unless otherwise noted. **Reproduce mAP** by `python test.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65`
* Speed<sub>GPU</sub> averaged over 5000 COCO val2017 images using a GCP [n1-standard-16](https://cloud.google.com/compute/docs/machine-types#n1_standard_machine_types) V100 instance, and includes FP16 inference, postprocessing and NMS. **Reproduce speed** by `python test.py --data coco.yaml --img 640 --conf 0.25 --iou 0.45`
* All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation).
* Test Time Augmentation ([TTA](https://github.com/ultralytics/yolov5/issues/303)) includes reflection and scale augmentation. **Reproduce TTA** by `python test.py --data coco.yaml --img 1536 --iou 0.7 --augment`
</details>


Changelog

Changes between **previous release and this release**: https://github.com/ultralytics/yolov5/compare/v4.0...v5.0
Changes **since this release**: https://github.com/ultralytics/yolov5/compare/v5.0...HEAD

**Click a section** below to **expand details**:
<details>
<summary>Implemented Enhancements (26) </summary>

- Return predictions as json [\2703](https://github.com/ultralytics/yolov5/issues/2703)
- Single channel image training? [\2609](https://github.com/ultralytics/yolov5/issues/2609)
- Images in MPO Format are considered corrupted [\2446](https://github.com/ultralytics/yolov5/issues/2446)
- Improve Validation Visualization [\2384](https://github.com/ultralytics/yolov5/issues/2384)
- Add ASFF \(three fuse feature layers\) int the Head for V5\(s,m,l,x\) [\2348](https://github.com/ultralytics/yolov5/issues/2348)
- Dear author, can you provide a visualization scheme for YOLOV5 feature graphs during detect.py? Thank you! [\2259](https://github.com/ultralytics/yolov5/issues/2259)
- Dataloader [\2201](https://github.com/ultralytics/yolov5/issues/2201)
- Update Train Custom Data wiki page [\2187](https://github.com/ultralytics/yolov5/issues/2187)
- Multi-class NMS [\2162](https://github.com/ultralytics/yolov5/issues/2162)
- 💡Idea: Mosaic cropping using segmentation labels [\2151](https://github.com/ultralytics/yolov5/issues/2151)
- Improving Confusion Matrix Interpretability: FP and FN vectors should be switched to align with Predicted and True axis [\2071](https://github.com/ultralytics/yolov5/issues/2071)
- Interpreting model YoloV5 by Grad-cam [\2065](https://github.com/ultralytics/yolov5/issues/2065)
- Output optimal confidence threshold based on PR curve [\2048](https://github.com/ultralytics/yolov5/issues/2048)
- is it valuable that add --cache-images option to detect.py? [\2004](https://github.com/ultralytics/yolov5/issues/2004)
- I want to change the anchor box to anchor circles, where do you think the change to be made ? [\1987](https://github.com/ultralytics/yolov5/issues/1987)
- Support for imgaug [\1954](https://github.com/ultralytics/yolov5/issues/1954)
- Any plan for Knowledge Distillation? [\1762](https://github.com/ultralytics/yolov5/issues/1762)
- Is there a wasy to run detections on a video/webcam/rtrsp, etc EVERY x SECONDS? [\1742](https://github.com/ultralytics/yolov5/issues/1742)
- Can yolov5 support rotated target detection? [\1728](https://github.com/ultralytics/yolov5/issues/1728)
- Deploying yolov5 to TorchServe \(GPU compatible\) [\1681](https://github.com/ultralytics/yolov5/issues/1681)
- Why diffrent colors of bboxs? [\1638](https://github.com/ultralytics/yolov5/issues/1638)
- Yet another export yolov5 models to ONNX and inference with TensorRT [\1597](https://github.com/ultralytics/yolov5/issues/1597)
- Rerange the blocks of Focus Layer into `row major` to be compatible with tensorflow `SpaceToDepth` [\413](https://github.com/ultralytics/yolov5/issues/413)
- YouTube Livestream Detection [\2752](https://github.com/ultralytics/yolov5/pull/2752) ([ben-milanko](https://github.com/ben-milanko))
- Add TransformerLayer, TransformerBlock, C3TR modules [\2333](https://github.com/ultralytics/yolov5/pull/2333) ([dingyiwei](https://github.com/dingyiwei))
- Improved W&B integration [\2125](https://github.com/ultralytics/yolov5/pull/2125) ([AyushExel](https://github.com/AyushExel))
</details>

<details>
<summary>Fixed Bugs (73)</summary>

- it seems that check\_wandb\_resume don't support multiple input files of images. [\2716](https://github.com/ultralytics/yolov5/issues/2716)
- ip camera or web camera. error: \(-215:Assertion failed\) !ss ize.empty\(\) in function 'cv::resize' [\2709](https://github.com/ultralytics/yolov5/issues/2709)
- Model predict with forward will fail if PIL image does not have filename attribute [\2702](https://github.com/ultralytics/yolov5/issues/2702)
- ❔Question Whenever i try to run my model i run into this error AttributeError: 'NoneType' object has no attribute 'startswith' from wandbutils.py line 161 I wonder why ? Any workaround or fix [\2697](https://github.com/ultralytics/yolov5/issues/2697)
- coremltools no longer included in docker container [\2686](https://github.com/ultralytics/yolov5/issues/2686)
- 'LoadImages' path handling appears to be broken [\2618](https://github.com/ultralytics/yolov5/issues/2618)
- CUDA memory leak [\2586](https://github.com/ultralytics/yolov5/issues/2586)
- UnboundLocalError: local variable 'wandb\_logger' referenced before assignment [\2562](https://github.com/ultralytics/yolov5/issues/2562)
- RuntimeError: CUDA error: CUBLAS\_STATUS\_INTERNAL\_ERROR when calling `cublasCreate\(handle\)` [\2417](https://github.com/ultralytics/yolov5/issues/2417)
- CUDNN Mapping Error [\2415](https://github.com/ultralytics/yolov5/issues/2415)
- Can't train in DDP mode after recent update [\2405](https://github.com/ultralytics/yolov5/issues/2405)
- a bug about function bbox\_iou\(\) [\2376](https://github.com/ultralytics/yolov5/issues/2376)
- Training got stuck when I used DistributedDataParallel mode but dataParallel mode is useful [\2375](https://github.com/ultralytics/yolov5/issues/2375)
- Something wrong with fixing ema [\2343](https://github.com/ultralytics/yolov5/issues/2343)
- Conversion to CoreML fails when running with --batch 2 [\2322](https://github.com/ultralytics/yolov5/issues/2322)
- The "fitness" function in train.py. [\2303](https://github.com/ultralytics/yolov5/issues/2303)
- Error "Directory already existed" happen when training with multiple GPUs [\2275](https://github.com/ultralytics/yolov5/issues/2275)
- self.balance = {3: \[4.0, 1.0, 0.4\], 4: \[4.0, 1.0, 0.25, 0.06\], 5: \[4.0, 1.0, 0.25, 0.06, .02\]}\[det.nl\] [\2255](https://github.com/ultralytics/yolov5/issues/2255)
- Cannot run model with URL as argument [\2246](https://github.com/ultralytics/yolov5/issues/2246)
- Yolov5 crashes with RTSP stream analysis [\2226](https://github.com/ultralytics/yolov5/issues/2226)
- interruption during evolve [\2218](https://github.com/ultralytics/yolov5/issues/2218)
- I am a student of Tsinghua University, doing research in Tencent. When I train with yolov5, the following problems appear,Sincerely hope to get help, [\2203](https://github.com/ultralytics/yolov5/issues/2203)
- Frame Loss in video stream [\2196](https://github.com/ultralytics/yolov5/issues/2196)
- wandb.ai not logging epochs vs metrics/losses instead uses step [\2175](https://github.com/ultralytics/yolov5/issues/2175)
- Evolve is leaking files [\2142](https://github.com/ultralytics/yolov5/issues/2142)
- Issue in torchscript model inference [\2129](https://github.com/ultralytics/yolov5/issues/2129)
- RuntimeError: CUDA error: device-side assert triggered [\2124](https://github.com/ultralytics/yolov5/issues/2124)
- In 'evolve' mode, If the original hyp is 0, It will never update [\2122](https://github.com/ultralytics/yolov5/issues/2122)
- Caching image path [\2121](https://github.com/ultralytics/yolov5/issues/2121)
- can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu\(\) to copy the tensor to host memory first [\2106](https://github.com/ultralytics/yolov5/issues/2106)
- Error in creating model with Ghost modules [\2081](https://github.com/ultralytics/yolov5/issues/2081)
- TypeError: int\(\) can't convert non-string with explicit base [\2066](https://github.com/ultralytics/yolov5/issues/2066)
- \[Pytorch Hub\] Hub CI is broken with latest master of yolo5 example. [\2050](https://github.com/ultralytics/yolov5/issues/2050)
- Problems when downloading requirements [\2047](https://github.com/ultralytics/yolov5/issues/2047)
- detect.py - images always saved [\2029](https://github.com/ultralytics/yolov5/issues/2029)
- thop and pycocotools shouldn't be hard requirements to train a model [\2014](https://github.com/ultralytics/yolov5/issues/2014)
- CoreML export failure [\2007](https://github.com/ultralytics/yolov5/issues/2007)
- loss function like has a bug [\1988](https://github.com/ultralytics/yolov5/issues/1988)
- CoreML export failure: unexpected number of inputs for node x.2 \(\_convolution\): 13 [\1945](https://github.com/ultralytics/yolov5/issues/1945)
- torch.nn.modules.module.ModuleAttributeError: 'Hardswish' object has no attribute 'inplace' [\1939](https://github.com/ultralytics/yolov5/issues/1939)
- runs not logging separately in wandb.ai [\1937](https://github.com/ultralytics/yolov5/issues/1937)
- wrong batch size after --resume on multiple GPUs [\1936](https://github.com/ultralytics/yolov5/issues/1936)
- TypeError: int\(\) can't convert non-string with explicit base [\1927](https://github.com/ultralytics/yolov5/issues/1927)
- RuntimeError: DataLoader worker [\1908](https://github.com/ultralytics/yolov5/issues/1908)
- Unable to export weights into onnx [\1900](https://github.com/ultralytics/yolov5/issues/1900)
- CUDA Initialization Warning on Docker when not passing in gpu [\1891](https://github.com/ultralytics/yolov5/issues/1891)
- Issue with github api rate limiting [\1890](https://github.com/ultralytics/yolov5/issues/1890)
- wandb: ERROR Error while calling W&B API: Error 1062: Duplicate entry '189160-gbp6y2en' for key 'PRIMARY' \(\<Response \[409\]\>\) [\1878](https://github.com/ultralytics/yolov5/issues/1878)
- Broken pipe [\1859](https://github.com/ultralytics/yolov5/issues/1859)
- detection.py [\1858](https://github.com/ultralytics/yolov5/issues/1858)
- Getting error on loading custom trained model [\1856](https://github.com/ultralytics/yolov5/issues/1856)
- W&B id is always the same and continue with the old logging. [\1851](https://github.com/ultralytics/yolov5/issues/1851)
- pytorch1.7 is not completely support.'inplace'! 'inplace'! 'inplace'! [\1832](https://github.com/ultralytics/yolov5/issues/1832)
- Validation errors are NaN [\1804](https://github.com/ultralytics/yolov5/issues/1804)
- Error Loading custom model weights with pytorch.hub.load [\1788](https://github.com/ultralytics/yolov5/issues/1788)
- 'cap' object is not self. initialized [\1781](https://github.com/ultralytics/yolov5/issues/1781)
- ValueError: API key must be 40 characters long, yours was 1 [\1777](https://github.com/ultralytics/yolov5/issues/1777)
- scipy [\1766](https://github.com/ultralytics/yolov5/issues/1766)
- error of missing key 'anchors' in hyp.scratch.yaml [\1744](https://github.com/ultralytics/yolov5/issues/1744)
- mss grab color conversion problem using TorchHub [\1735](https://github.com/ultralytics/yolov5/issues/1735)
- Video rotation when running detection. [\1725](https://github.com/ultralytics/yolov5/issues/1725)
- RuntimeError: CUDA out of memory. Tried to allocate 294.00 MiB \(GPU 0; 6.00 GiB total capacity; 118.62 MiB already allocated; 4.20 GiB free; 362.00 MiB reserved in total by PyTorch\) [\1698](https://github.com/ultralytics/yolov5/issues/1698)
- Errors on MAC [\1690](https://github.com/ultralytics/yolov5/issues/1690)
- RuntimeError: DataLoader worker \(pid\(s\) 296430\) exited unexpectedly [\1675](https://github.com/ultralytics/yolov5/issues/1675)
- Non-positive Stride [\1671](https://github.com/ultralytics/yolov5/issues/1671)
- gbk error. How can I solve it? [\1669](https://github.com/ultralytics/yolov5/issues/1669)
- CoreML export failure: unexpected number of inputs for node x.2 \(\_convolution\): 13 [\1667](https://github.com/ultralytics/yolov5/issues/1667)
- RuntimeError: Given groups=1, weight of size \[32, 128, 1, 1\], expected input\[1, 64, 32, 32\] to have 128 channels, but got 64 channels instead [\1627](https://github.com/ultralytics/yolov5/issues/1627)
- segmentation fault [\1620](https://github.com/ultralytics/yolov5/issues/1620)
- Getting different output sizes when using exported torchscript [\1562](https://github.com/ultralytics/yolov5/issues/1562)
- some bugs when training [\1547](https://github.com/ultralytics/yolov5/issues/1547)
- Evolve getting error [\1319](https://github.com/ultralytics/yolov5/issues/1319)
- AssertionError: Image Not Found ../dataset/images/train/4501.jpeg [\195](https://github.com/ultralytics/yolov5/issues/195)
</details>

<details>
<summary>Closed Issues (42)</summary>

- Can feed tensor the model [\2722](https://github.com/ultralytics/yolov5/issues/2722)
- hello, everyone, In order to modify the network more conveniently based on this rep., I restructure the network part, which is divided into backbone, neck, head [\2710](https://github.com/ultralytics/yolov5/issues/2710)
- Differentiate between normal banner and LED banner [\2647](https://github.com/ultralytics/yolov5/issues/2647)
- 👋 Hello Wilson-inclaims, thank you for your interest in 🚀 YOLOv5! Please visit our ⭐️ \[Tutorials\]\(https://github.com/ultralytics/yolov5/wiki\#tutorials\) to get started, where you can find quickstart guides for simple tasks like \[Custom Data Training\]\(https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data\) all the way to advanced concepts like \[Hyperparameter Evolution\]\(https://github.com/ultralytics/yolov5/issues/607\). [\#2516](https://github.com/ultralytics/yolov5/issues/2516)
- I got a runtimerror when I run classifier.py to train my own dataset. [\2438](https://github.com/ultralytics/yolov5/issues/2438)
- RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place operation. [\2403](https://github.com/ultralytics/yolov5/issues/2403)
- 🌟💡 YOLOv5 Study: batch size [\2377](https://github.com/ultralytics/yolov5/issues/2377)
- export.py export onnx for gpu failed [\2365](https://github.com/ultralytics/yolov5/issues/2365)
- in \_ddp\_init\_helper expect\_sparse\_gradient\) RuntimeError: Model replicas must have an equal number of parameters. [\2311](https://github.com/ultralytics/yolov5/issues/2311)
- Custom dataset training using YOLOv5 [\2296](https://github.com/ultralytics/yolov5/issues/2296)
- label format [\2293](https://github.com/ultralytics/yolov5/issues/2293)
- MAP NOT PRINTING [\2283](https://github.com/ultralytics/yolov5/issues/2283)
- Why didn't I get results in my video test? [\2277](https://github.com/ultralytics/yolov5/issues/2277)
- Label Missing: for images and labels... 203 found, 50 missing, 0 empty, 0 corrupted: 100% [\2268](https://github.com/ultralytics/yolov5/issues/2268)
- Pytorch Hub inference returns different results than detect.py [\2224](https://github.com/ultralytics/yolov5/issues/2224)
- yolov5x train.py error [\2181](https://github.com/ultralytics/yolov5/issues/2181)
- degrees is radians? [\2160](https://github.com/ultralytics/yolov5/issues/2160)
- AssertionError: Image Not Found [\2130](https://github.com/ultralytics/yolov5/issues/2130)
- How to load custom trained model to detect sample image? [\2097](https://github.com/ultralytics/yolov5/issues/2097)
- YOLOv5 installed failed on Macbook M1 [\2075](https://github.com/ultralytics/yolov5/issues/2075)
- How to set the number of seconds to detect once [\2072](https://github.com/ultralytics/yolov5/issues/2072)
- Where the changes should be made to detect horizontal line and vertical lines? Can anyone discus elaborately? [\2070](https://github.com/ultralytics/yolov5/issues/2070)
- Video inference stops after a certain number of frames [\2064](https://github.com/ultralytics/yolov5/issues/2064)
- Can't YOLOV5 be detected with multithreading? [\1979](https://github.com/ultralytics/yolov5/issues/1979)
- I want to make a images file what divided images in test.py [\1931](https://github.com/ultralytics/yolov5/issues/1931)
- different image size w/ torchscript windows c++ [\1920](https://github.com/ultralytics/yolov5/issues/1920)
- run detect the result ,the Image don't have box [\1910](https://github.com/ultralytics/yolov5/issues/1910)
- resume problem [\1884](https://github.com/ultralytics/yolov5/issues/1884)
- Detect source as .txt error [\1877](https://github.com/ultralytics/yolov5/issues/1877)
- yolov5 v4.0 tensorrt deployment [\1874](https://github.com/ultralytics/yolov5/issues/1874)
- Hyperparameter Evolution: load dataset every time [\1864](https://github.com/ultralytics/yolov5/issues/1864)
- Caching images problem [\1862](https://github.com/ultralytics/yolov5/issues/1862)
- About Release v4.0 [\1841](https://github.com/ultralytics/yolov5/issues/1841)
- glenn best practices for running trained YOLOv5 models in new python environments is to use PyTorch Hub. See PyTorch Hub Tutorial: [\1789](https://github.com/ultralytics/yolov5/issues/1789)
- yolov5x.pt is not compatible with ./models/yolov5x.yam [\1721](https://github.com/ultralytics/yolov5/issues/1721)
- Parameter '--device' doesn't work! [\1706](https://github.com/ultralytics/yolov5/issues/1706)
- Thank you for your issue! [\1687](https://github.com/ultralytics/yolov5/issues/1687)
- Convert the label format [\1652](https://github.com/ultralytics/yolov5/issues/1652)
- Autorun not working [\1599](https://github.com/ultralytics/yolov5/issues/1599)
- When model.model\[-1\]. export = False in export.py, coreml export failing. Please check. [\1491](https://github.com/ultralytics/yolov5/issues/1491)
- Error 'AttributeError: 'str' object has no attribute 'get'' at running train.py [\1479](https://github.com/ultralytics/yolov5/issues/1479)
- Docker image is not working, torch.nn.modules.module.ModuleAttributeError: 'Hardswish' object has no attribute 'inplace' [\1327](https://github.com/ultralytics/yolov5/issues/1327)
</details>

<details>
<summary>Merged Pull Requests (172)</summary>

- Tensorboard model visualization bug fix [\2758](https://github.com/ultralytics/yolov5/pull/2758) ([glenn-jocher](https://github.com/glenn-jocher))
- utils/wandb\_logging PEP8 reformat [\2755](https://github.com/ultralytics/yolov5/pull/2755) ([glenn-jocher](https://github.com/glenn-jocher))
- torch.cuda.amp bug fix [\2750](https://github.com/ultralytics/yolov5/pull/2750) ([glenn-jocher](https://github.com/glenn-jocher))
- autocast enable=torch.cuda.is\_available\(\) [\2748](https://github.com/ultralytics/yolov5/pull/2748) ([glenn-jocher](https://github.com/glenn-jocher))
- Add Hub results.pandas\(\) method [\2725](https://github.com/ultralytics/yolov5/pull/2725) ([glenn-jocher](https://github.com/glenn-jocher))
- Update README with collapsable notes [\2721](https://github.com/ultralytics/yolov5/pull/2721) ([glenn-jocher](https://github.com/glenn-jocher))
- Fix \2716: Add support for list-of-directory data format for wandb [\2719](https://github.com/ultralytics/yolov5/pull/2719) ([AyushExel](https://github.com/AyushExel))
- Updated filename attributes for YOLOv5 Hub BytesIO [\2718](https://github.com/ultralytics/yolov5/pull/2718) ([glenn-jocher](https://github.com/glenn-jocher))
- Updated filename attributes for YOLOv5 Hub results [\2708](https://github.com/ultralytics/yolov5/pull/2708) ([glenn-jocher](https://github.com/glenn-jocher))
- pip install coremltools onnx [\2690](https://github.com/ultralytics/yolov5/pull/2690) ([glenn-jocher](https://github.com/glenn-jocher))
- autoShape forward im = np.asarray\(im\) \ to numpy [\2689](https://github.com/ultralytics/yolov5/pull/2689) ([glenn-jocher](https://github.com/glenn-jocher))
- PyTorch Hub model.save\(\) increment as runs/hub/exp [\2684](https://github.com/ultralytics/yolov5/pull/2684) ([glenn-jocher](https://github.com/glenn-jocher))
- Fix: \2674 [\2683](https://github.com/ultralytics/yolov5/pull/2683) ([AyushExel](https://github.com/AyushExel))
- Update README with Tips for Best Results tutorial [\2682](https://github.com/ultralytics/yolov5/pull/2682) ([glenn-jocher](https://github.com/glenn-jocher))
- Disallow resume for dataset uploading [\2657](https://github.com/ultralytics/yolov5/pull/2657) ([AyushExel](https://github.com/AyushExel))
- Speed profiling improvements [\2648](https://github.com/ultralytics/yolov5/pull/2648) ([glenn-jocher](https://github.com/glenn-jocher))
- Add tqdm pbar.close\(\) [\2644](https://github.com/ultralytics/yolov5/pull/2644) ([zzttqu](https://github.com/zzttqu))
- PyTorch Hub amp.autocast\(\) inference [\2641](https://github.com/ultralytics/yolov5/pull/2641) ([glenn-jocher](https://github.com/glenn-jocher))
- PyTorch Hub custom model to CUDA device fix [\2636](https://github.com/ultralytics/yolov5/pull/2636) ([glenn-jocher](https://github.com/glenn-jocher))
- Improve git\_describe\(\) fix 1 [\2635](https://github.com/ultralytics/yolov5/pull/2635) ([glenn-jocher](https://github.com/glenn-jocher))
- Fix: evolve with wandb [\2634](https://github.com/ultralytics/yolov5/pull/2634) ([AyushExel](https://github.com/AyushExel))
- Improve git\_describe\(\) [\2633](https://github.com/ultralytics/yolov5/pull/2633) ([glenn-jocher](https://github.com/glenn-jocher))
- FROM nvcr.io/nvidia/pytorch:21.03-py3 [\2623](https://github.com/ultralytics/yolov5/pull/2623) ([glenn-jocher](https://github.com/glenn-jocher))
- Remove conflicting nvidia-tensorboard package [\2622](https://github.com/ultralytics/yolov5/pull/2622) ([glenn-jocher](https://github.com/glenn-jocher))
- Update Detections\(\) self.n comment [\2620](https://github.com/ultralytics/yolov5/pull/2620) ([glenn-jocher](https://github.com/glenn-jocher))
- Update detections\(\) self.t = tuple\(\) [\2617](https://github.com/ultralytics/yolov5/pull/2617) ([glenn-jocher](https://github.com/glenn-jocher))
- Create date\_modified\(\) [\2616](https://github.com/ultralytics/yolov5/pull/2616) ([glenn-jocher](https://github.com/glenn-jocher))
- Added '.mpo' to supported image formats [\2615](https://github.com/ultralytics/yolov5/pull/2615) ([maxupp](https://github.com/maxupp))
- Fix Indentation in test.py [\2614](https://github.com/ultralytics/yolov5/pull/2614) ([AyushExel](https://github.com/AyushExel))
- Update git\_describe\(\) for remote dir usage [\2606](https://github.com/ultralytics/yolov5/pull/2606) ([glenn-jocher](https://github.com/glenn-jocher))
- Remove Cython from requirements.txt [\2604](https://github.com/ultralytics/yolov5/pull/2604) ([glenn-jocher](https://github.com/glenn-jocher))
- resume.py fix DDP typo [\2603](https://github.com/ultralytics/yolov5/pull/2603) ([glenn-jocher](https://github.com/glenn-jocher))
- Update segment2box\(\) comment [\2600](https://github.com/ultralytics/yolov5/pull/2600) ([glenn-jocher](https://github.com/glenn-jocher))
- Save webcam results, add --nosave option [\2598](https://github.com/ultralytics/yolov5/pull/2598) ([glenn-jocher](https://github.com/glenn-jocher))
- YOLOv5 PyTorch Hub models \>\> check\_requirements\(\) [\2592](https://github.com/ultralytics/yolov5/pull/2592) ([glenn-jocher](https://github.com/glenn-jocher))
- YOLOv5 PyTorch Hub models \>\> check\_requirements\(\) [\2591](https://github.com/ultralytics/yolov5/pull/2591) ([glenn-jocher](https://github.com/glenn-jocher))
- YOLOv5 PyTorch Hub models \>\> check\_requirements\(\) [\2588](https://github.com/ultralytics/yolov5/pull/2588) ([glenn-jocher](https://github.com/glenn-jocher))
- W&B DDP fix 2 [\2587](https://github.com/ultralytics/yolov5/pull/2587) ([glenn-jocher](https://github.com/glenn-jocher))
- W&B resume ddp from run link fix [\2579](https://github.com/ultralytics/yolov5/pull/2579) ([AyushExel](https://github.com/AyushExel))
- YOLOv5 PyTorch Hub models \>\> check\_requirements\(\) [\2577](https://github.com/ultralytics/yolov5/pull/2577) ([glenn-jocher](https://github.com/glenn-jocher))
- Update tensorboard\>=2.4.1 [\2576](https://github.com/ultralytics/yolov5/pull/2576) ([glenn-jocher](https://github.com/glenn-jocher))
- Enhanced check\_requirements\(\) with auto-install [\2575](https://github.com/ultralytics/yolov5/pull/2575) ([glenn-jocher](https://github.com/glenn-jocher))
- W&B DDP fix [\2574](https://github.com/ultralytics/yolov5/pull/2574) ([AyushExel](https://github.com/AyushExel))
- check\_requirements\(\) exclude pycocotools, thop [\2571](https://github.com/ultralytics/yolov5/pull/2571) ([glenn-jocher](https://github.com/glenn-jocher))
- Update Detections\(\) times=None [\2570](https://github.com/ultralytics/yolov5/pull/2570) ([glenn-jocher](https://github.com/glenn-jocher))
- Add opencv-contrib-python to requirements.txt [\2564](https://github.com/ultralytics/yolov5/pull/2564) ([youngjinshin](https://github.com/youngjinshin))
- Supervisely Ecosystem [\2519](https://github.com/ultralytics/yolov5/pull/2519) ([mkolomeychenko](https://github.com/mkolomeychenko))
- add option to disable half precision when testing [\2507](https://github.com/ultralytics/yolov5/pull/2507) ([bfineran](https://github.com/bfineran))
- PyTorch Hub models default to CUDA:0 if available [\2472](https://github.com/ultralytics/yolov5/pull/2472) ([glenn-jocher](https://github.com/glenn-jocher))
- Scipy kmeans-robust autoanchor update [\2470](https://github.com/ultralytics/yolov5/pull/2470) ([glenn-jocher](https://github.com/glenn-jocher))
- Be able to create dataset from annotated images only [\2466](https://github.com/ultralytics/yolov5/pull/2466) ([kinoute](https://github.com/kinoute))
- autoShape\(\) speed profiling update [\2460](https://github.com/ultralytics/yolov5/pull/2460) ([glenn-jocher](https://github.com/glenn-jocher))
- Add autoShape\(\) speed profiling [\2459](https://github.com/ultralytics/yolov5/pull/2459) ([glenn-jocher](https://github.com/glenn-jocher))
- CVPR 2021 Argoverse-HD autodownload curl [\2455](https://github.com/ultralytics/yolov5/pull/2455) ([glenn-jocher](https://github.com/glenn-jocher))
- labels.jpg class names [\2454](https://github.com/ultralytics/yolov5/pull/2454) ([glenn-jocher](https://github.com/glenn-jocher))
- Update test.py --task train val study [\2453](https://github.com/ultralytics/yolov5/pull/2453) ([glenn-jocher](https://github.com/glenn-jocher))
- Integer printout [\2450](https://github.com/ultralytics/yolov5/pull/2450) ([glenn-jocher](https://github.com/glenn-jocher))
- DDP after autoanchor reorder [\2421](https://github.com/ultralytics/yolov5/pull/2421) ([glenn-jocher](https://github.com/glenn-jocher))
- CVPR 2021 Argoverse-HD autodownload fix [\2418](https://github.com/ultralytics/yolov5/pull/2418) ([glenn-jocher](https://github.com/glenn-jocher))
- CVPR 2021 Argoverse-HD dataset autodownload support [\2400](https://github.com/ultralytics/yolov5/pull/2400) ([karthiksharma98](https://github.com/karthiksharma98))
- GCP sudo docker userdata.sh [\2393](https://github.com/ultralytics/yolov5/pull/2393) ([glenn-jocher](https://github.com/glenn-jocher))
- AWS wait && echo "All tasks done." [\2391](https://github.com/ultralytics/yolov5/pull/2391) ([glenn-jocher](https://github.com/glenn-jocher))
- bbox\_iou\(\) stability and speed improvements [\2385](https://github.com/ultralytics/yolov5/pull/2385) ([glenn-jocher](https://github.com/glenn-jocher))
- image weights compatible faster random index generator v2 for mosaic … [\2383](https://github.com/ultralytics/yolov5/pull/2383) ([developer0hye](https://github.com/developer0hye))
- ENV HOME=/usr/src/app [\2382](https://github.com/ultralytics/yolov5/pull/2382) ([glenn-jocher](https://github.com/glenn-jocher))
- --no-cache notebook [\2381](https://github.com/ultralytics/yolov5/pull/2381) ([glenn-jocher](https://github.com/glenn-jocher))
- Resume with custom anchors fix [\2361](https://github.com/ultralytics/yolov5/pull/2361) ([glenn-jocher](https://github.com/glenn-jocher))
- Anchor override for training from scratch [\2350](https://github.com/ultralytics/yolov5/pull/2350) ([glenn-jocher](https://github.com/glenn-jocher))
- faster random index generator for mosaic augmentation [\2345](https://github.com/ultralytics/yolov5/pull/2345) ([developer0hye](https://github.com/developer0hye))
- Add --label-smoothing eps argument to train.py \(default 0.0\) [\2344](https://github.com/ultralytics/yolov5/pull/2344) ([ptran1203](https://github.com/ptran1203))
- FROM nvcr.io/nvidia/pytorch:21.02-py3 [\2341](https://github.com/ultralytics/yolov5/pull/2341) ([glenn-jocher](https://github.com/glenn-jocher))
- EMA bug fix 2 [\2330](https://github.com/ultralytics/yolov5/pull/2330) ([glenn-jocher](https://github.com/glenn-jocher))
- remove TTA 1 pixel offset [\2325](https://github.com/ultralytics/yolov5/pull/2325) ([glenn-jocher](https://github.com/glenn-jocher))
- Update Dockerfile install htop [\2320](https://github.com/ultralytics/yolov5/pull/2320) ([glenn-jocher](https://github.com/glenn-jocher))
- Update test.py [\2319](https://github.com/ultralytics/yolov5/pull/2319) ([glenn-jocher](https://github.com/glenn-jocher))
- final\_epoch EMA bug fix [\2317](https://github.com/ultralytics/yolov5/pull/2317) ([glenn-jocher](https://github.com/glenn-jocher))
- Fix labels being missed when image extension appears twice in filename [\2300](https://github.com/ultralytics/yolov5/pull/2300) ([idenc](https://github.com/idenc))
- W&B entity support [\2298](https://github.com/ultralytics/yolov5/pull/2298) ([toretak](https://github.com/toretak))
- GPU export options [\2297](https://github.com/ultralytics/yolov5/pull/2297) ([toretak](https://github.com/toretak))
- Improved model+EMA checkpointing fix [\2295](https://github.com/ultralytics/yolov5/pull/2295) ([glenn-jocher](https://github.com/glenn-jocher))
- Improved model+EMA checkpointing [\2292](https://github.com/ultralytics/yolov5/pull/2292) ([glenn-jocher](https://github.com/glenn-jocher))
- Update train.py [\2290](https://github.com/ultralytics/yolov5/pull/2290) ([glenn-jocher](https://github.com/glenn-jocher))
- Amazon AWS EC2 startup and re-startup scripts patch [\2282](https://github.com/ultralytics/yolov5/pull/2282) ([glenn-jocher](https://github.com/glenn-jocher))
- FLOPS min stride 32 [\2276](https://github.com/ultralytics/yolov5/pull/2276) ([xiaowo1996](https://github.com/xiaowo1996))
- Update Dockerfile with apt install zip [\2274](https://github.com/ultralytics/yolov5/pull/2274) ([glenn-jocher](https://github.com/glenn-jocher))
- Update greetings.yml for auto-rebase on PR [\2272](https://github.com/ultralytics/yolov5/pull/2272) ([glenn-jocher](https://github.com/glenn-jocher))
- Update minimum stride to 32 [\2266](https://github.com/ultralytics/yolov5/pull/2266) ([glenn-jocher](https://github.com/glenn-jocher))
- Robust objectness loss balancing [\2256](https://github.com/ultralytics/yolov5/pull/2256) ([glenn-jocher](https://github.com/glenn-jocher))
- Update inference default to multi\_label=False [\2252](https://github.com/ultralytics/yolov5/pull/2252) ([glenn-jocher](https://github.com/glenn-jocher))
- Improved hubconf.py CI tests [\2251](https://github.com/ultralytics/yolov5/pull/2251) ([glenn-jocher](https://github.com/glenn-jocher))
- YOLOv5 Hub URL inference bug fix [\2250](https://github.com/ultralytics/yolov5/pull/2250) ([glenn-jocher](https://github.com/glenn-jocher))
- Unified hub and detect.py box and labels plotting [\2243](https://github.com/ultralytics/yolov5/pull/2243) ([kinoute](https://github.com/kinoute))
- Add isdocker\(\) [\2232](https://github.com/ultralytics/yolov5/pull/2232) ([glenn-jocher](https://github.com/glenn-jocher))
- Add check\_imshow\(\) [\2231](https://github.com/ultralytics/yolov5/pull/2231) ([glenn-jocher](https://github.com/glenn-jocher))
- Update CI badge [\2230](https://github.com/ultralytics/yolov5/pull/2230) ([glenn-jocher](https://github.com/glenn-jocher))
- Update yolo.py channel array [\2223](https://github.com/ultralytics/yolov5/pull/2223) ([glenn-jocher](https://github.com/glenn-jocher))
- LoadStreams\(\) frame loss bug fix [\2222](https://github.com/ultralytics/yolov5/pull/2222) ([glenn-jocher](https://github.com/glenn-jocher))
- TTA augument boxes one pixel shifted in de-flip ud and lr [\2219](https://github.com/ultralytics/yolov5/pull/2219) ([VdLMV](https://github.com/VdLMV))
- Dynamic ONNX engine generation [\2208](https://github.com/ultralytics/yolov5/pull/2208) ([aditya-dl](https://github.com/aditya-dl))
- YOLOv5 PyTorch Hub results.save\(\) method retains filenames [\2194](https://github.com/ultralytics/yolov5/pull/2194) ([dan0nchik](https://github.com/dan0nchik))
- YOLOv5 Segmentation Dataloader Updates [\2188](https://github.com/ultralytics/yolov5/pull/2188) ([glenn-jocher](https://github.com/glenn-jocher))
- Amazon AWS EC2 startup and re-startup scripts [\2185](https://github.com/ultralytics/yolov5/pull/2185) ([glenn-jocher](https://github.com/glenn-jocher))
- PyTorch Hub results.save\('path/to/dir'\) [\2179](https://github.com/ultralytics/yolov5/pull/2179) ([glenn-jocher](https://github.com/glenn-jocher))
- Changed socket port and added timeout [\2176](https://github.com/ultralytics/yolov5/pull/2176) ([NanoCode012](https://github.com/NanoCode012))
- Update utils/datasets.py to support .webp files [\2174](https://github.com/ultralytics/yolov5/pull/2174) ([Transigent](https://github.com/Transigent))
- Update requirements.txt [\2173](https://github.com/ultralytics/yolov5/pull/2173) ([glenn-jocher](https://github.com/glenn-jocher))
- Update detect.py [\2167](https://github.com/ultralytics/yolov5/pull/2167) ([ab-101](https://github.com/ab-101))
- Update data-autodownload background tasks [\2154](https://github.com/ultralytics/yolov5/pull/2154) ([glenn-jocher](https://github.com/glenn-jocher))
- Linear LR scheduler option [\2150](https://github.com/ultralytics/yolov5/pull/2150) ([glenn-jocher](https://github.com/glenn-jocher))
- Update train.py batch\_size \* 2 [\2149](https://github.com/ultralytics/yolov5/pull/2149) ([glenn-jocher](https://github.com/glenn-jocher))
- Update train.py test batch\_size [\2148](https://github.com/ultralytics/yolov5/pull/2148) ([glenn-jocher](https://github.com/glenn-jocher))
- LoadImages\(\) pathlib update [\2140](https://github.com/ultralytics/yolov5/pull/2140) ([glenn-jocher](https://github.com/glenn-jocher))
- Unique \*.cache filenames fix [\2134](https://github.com/ultralytics/yolov5/pull/2134) ([train255](https://github.com/train255))
- Making inference thread-safe by avoiding mutable state in Detect class [\2120](https://github.com/ultralytics/yolov5/pull/2120) ([olehb](https://github.com/olehb))
- Make normalized confusion matrix more interpretable [\2114](https://github.com/ultralytics/yolov5/pull/2114) ([rbavery](https://github.com/rbavery))
- Update plot\_study\(\) [\2112](https://github.com/ultralytics/yolov5/pull/2112) ([glenn-jocher](https://github.com/glenn-jocher))
- Update test.py --task speed and study [\2099](https://github.com/ultralytics/yolov5/pull/2099) ([glenn-jocher](https://github.com/glenn-jocher))
- Add variable-stride inference support [\2091](https://github.com/ultralytics/yolov5/pull/2091) ([glenn-jocher](https://github.com/glenn-jocher))
- Add Kaggle badge [\2090](https://github.com/ultralytics/yolov5/pull/2090) ([glenn-jocher](https://github.com/glenn-jocher))
- Add Amazon Deep Learning AMI environment [\2085](https://github.com/ultralytics/yolov5/pull/2085) ([glenn-jocher](https://github.com/glenn-jocher))
- Add YOLOv5-P6 models [\2083](https://github.com/ultralytics/yolov5/pull/2083) ([glenn-jocher](https://github.com/glenn-jocher))
- GhostConv update [\2082](https://github.com/ultralytics/yolov5/pull/2082) ([glenn-jocher](https://github.com/glenn-jocher))
- W&B epoch logging update [\2073](https://github.com/ultralytics/yolov5/pull/2073) ([glenn-jocher](https://github.com/glenn-jocher))
- Update to colors.TABLEAU\_COLORS [\2069](https://github.com/ultralytics/yolov5/pull/2069) ([glenn-jocher](https://github.com/glenn-jocher))
- Update run-once lines [\2058](https://github.com/ultralytics/yolov5/pull/2058) ([glenn-jocher](https://github.com/glenn-jocher))
- Metric-Confidence plots feature addition [\2057](https://github.com/ultralytics/yolov5/pull/2057) ([glenn-jocher](https://github.com/glenn-jocher))
- Add histogram equalization fcn [\2049](https://github.com/ultralytics/yolov5/pull/2049) ([glenn-jocher](https://github.com/glenn-jocher))
- Confusion matrix native image-space fix [\2046](https://github.com/ultralytics/yolov5/pull/2046) ([ramonhollands](https://github.com/ramonhollands))
- Check im.format during dataset caching [\2042](https://github.com/ultralytics/yolov5/pull/2042) ([glenn-jocher](https://github.com/glenn-jocher))
- Add exclude tuple to check\_requirements\(\) [\2041](https://github.com/ultralytics/yolov5/pull/2041) ([glenn-jocher](https://github.com/glenn-jocher))
- data-autodownload background tasks [\2034](https://github.com/ultralytics/yolov5/pull/2034) ([glenn-jocher](https://github.com/glenn-jocher))
- Docker pyYAML\>=5.3.1 fix [\2031](https://github.com/ultralytics/yolov5/pull/2031) ([glenn-jocher](https://github.com/glenn-jocher))
- PyYAML==5.4.1 [\2030](https://github.com/ultralytics/yolov5/pull/2030) ([glenn-jocher](https://github.com/glenn-jocher))
- Update autoshape .print\(\) and .save\(\) [\2022](https://github.com/ultralytics/yolov5/pull/2022) ([glenn-jocher](https://github.com/glenn-jocher))
- Update requirements.txt [\2021](https://github.com/ultralytics/yolov5/pull/2021) ([glenn-jocher](https://github.com/glenn-jocher))
- Update general.py check\_git\_status\(\) fix [\2020](https://github.com/ultralytics/yolov5/pull/2020) ([glenn-jocher](https://github.com/glenn-jocher))
- Update inference multiple-counting [\2019](https://github.com/ultralytics/yolov5/pull/2019) ([glenn-jocher](https://github.com/glenn-jocher))
- Update ci-testing.yml --img 128 [\2018](https://github.com/ultralytics/yolov5/pull/2018) ([glenn-jocher](https://github.com/glenn-jocher))
- Update google\_utils.py attempt\_download\(\) fix [\2017](https://github.com/ultralytics/yolov5/pull/2017) ([glenn-jocher](https://github.com/glenn-jocher))
- Update Dockerfile [\2016](https://github.com/ultralytics/yolov5/pull/2016) ([glenn-jocher](https://github.com/glenn-jocher))
- check\_git\_status\(\) Windows fix [\2015](https://github.com/ultralytics/yolov5/pull/2015) ([glenn-jocher](https://github.com/glenn-jocher))
- --verbose on final\_epoch [\1997](https://github.com/ultralytics/yolov5/pull/1997) ([glenn-jocher](https://github.com/glenn-jocher))
- Add xywhn2xyxy\(\) [\1983](https://github.com/ultralytics/yolov5/pull/1983) ([glenn-jocher](https://github.com/glenn-jocher))
- Update Dockerfile [\1982](https://github.com/ultralytics/yolov5/pull/1982) ([glenn-jocher](https://github.com/glenn-jocher))
- check\_git\_status\(\) asserts [\1977](https://github.com/ultralytics/yolov5/pull/1977) ([glenn-jocher](https://github.com/glenn-jocher))
- Update train.py [\1972](https://github.com/ultralytics/yolov5/pull/1972) ([Anon-Artist](https://github.com/Anon-Artist))
- Update autoanchor.py [\1971](https://github.com/ultralytics/yolov5/pull/1971) ([Anon-Artist](https://github.com/Anon-Artist))
- Update yolo.py [\1970](https://github.com/ultralytics/yolov5/pull/1970) ([Anon-Artist](https://github.com/Anon-Artist))
- Update test.py [\1969](https://github.com/ultralytics/yolov5/pull/1969) ([Anon-Artist](https://github.com/Anon-Artist))
- Update plots.py [\1968](https://github.com/ultralytics/yolov5/pull/1968) ([Anon-Artist](https://github.com/Anon-Artist))
- check\_git\_status\(\) when not exist /workspace [\1966](https://github.com/ultralytics/yolov5/pull/1966) ([glenn-jocher](https://github.com/glenn-jocher))
- Security Fix for Arbitrary Code Execution - huntr.dev [\1962](https://github.com/ultralytics/yolov5/pull/1962) ([huntr-helper](https://github.com/huntr-helper))
- prevent check\_git\_status\(\) in docker images [\1951](https://github.com/ultralytics/yolov5/pull/1951) ([glenn-jocher](https://github.com/glenn-jocher))
- Add ComputeLoss\(\) class [\1950](https://github.com/ultralytics/yolov5/pull/1950) ([glenn-jocher](https://github.com/glenn-jocher))
- W&B mosaic log bug fix [\1949](https://github.com/ultralytics/yolov5/pull/1949) ([glenn-jocher](https://github.com/glenn-jocher))
- Start setting up the improved W&B integration [\1948](https://github.com/ultralytics/yolov5/pull/1948) ([AyushExel](https://github.com/AyushExel))
- W&B log epoch [\1946](https://github.com/ultralytics/yolov5/pull/1946) ([glenn-jocher](https://github.com/glenn-jocher))
- Daemon thread mosaic plots fix [\1943](https://github.com/ultralytics/yolov5/pull/1943) ([glenn-jocher](https://github.com/glenn-jocher))
- Fix batch-size on resume for multi-gpu [\1942](https://github.com/ultralytics/yolov5/pull/1942) ([NanoCode012](https://github.com/NanoCode012))
- Add nn.SiLU inplace in attempt\_load\(\) [\1940](https://github.com/ultralytics/yolov5/pull/1940) ([1991wangliang](https://github.com/1991wangliang))
- GitHub API rate limit fallback [\1930](https://github.com/ultralytics/yolov5/pull/1930) ([glenn-jocher](https://github.com/glenn-jocher))
- check\_git\_status\(\) bug fix [\1925](https://github.com/ultralytics/yolov5/pull/1925) ([glenn-jocher](https://github.com/glenn-jocher))
- check\_git\_status\(\) improvements [\1916](https://github.com/ultralytics/yolov5/pull/1916) ([glenn-jocher](https://github.com/glenn-jocher))
- Colorstr\(\) updates [\1909](https://github.com/ultralytics/yolov5/pull/1909) ([glenn-jocher](https://github.com/glenn-jocher))
- PyTorch Hub results.render\(\) [\1897](https://github.com/ultralytics/yolov5/pull/1897) ([glenn-jocher](https://github.com/glenn-jocher))
- Docker CUDA warning fix [\1895](https://github.com/ultralytics/yolov5/pull/1895) ([glenn-jocher](https://github.com/glenn-jocher))
- GitHub API rate limit fix [\1894](https://github.com/ultralytics/yolov5/pull/1894) ([glenn-jocher](https://github.com/glenn-jocher))
- Add colorstr\(\) [\1887](https://github.com/ultralytics/yolov5/pull/1887) ([glenn-jocher](https://github.com/glenn-jocher))
- auto-verbose if nc \<= 20 [\1869](https://github.com/ultralytics/yolov5/pull/1869) ([glenn-jocher](https://github.com/glenn-jocher))
- actions/stalev3 [\1868](https://github.com/ultralytics/yolov5/pull/1868) ([glenn-jocher](https://github.com/glenn-jocher))
- Add check\_requirements\(\) [\1853](https://github.com/ultralytics/yolov5/pull/1853) ([glenn-jocher](https://github.com/glenn-jocher))
- W&B ID reset on training completion [\1852](https://github.com/ultralytics/yolov5/pull/1852) ([TommyZihao](https://github.com/TommyZihao))
</details>

51.3

39.4b

17.0

13.2b

6.1

[assets]: https://github.com/ultralytics/yolov5/releases
[previous]: https://github.com/ultralytics/yolov5/releases/tag/v6.0
[current]: https://github.com/ultralytics/yolov5/releases/tag/v6.1
[TTA]: https://github.com/ultralytics/yolov5/issues/303

This release incorporates many new features and bug fixes ([**271 PRs** from **48 contributors**](https://github.com/ultralytics/yolov5/compare/v6.0...v6.1)) since our last [release][previous] in October 2021. It adds [TensorRT](https://github.com/ultralytics/yolov5/pull/5699), [Edge TPU](https://github.com/ultralytics/yolov5/pull/3630) and [OpenVINO](https://github.com/ultralytics/yolov5/pull/6057) support, and provides retrained models at `--batch-size 128` with new default one-cycle linear LR [scheduler](https://github.com/ultralytics/yolov5/pull/6729). YOLOv5 now officially supports 11 different formats, not just for export but for inference (both detect.py and PyTorch Hub), and validation to profile mAP and speed results after export.

Format | `export.py --include` | Model
:--- | --: | :--
[PyTorch](https://pytorch.org/) | - | `yolov5s.pt`
[TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov5s.torchscript`
[ONNX](https://onnx.ai/) | `onnx` | `yolov5s.onnx`
[OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov5s_openvino_model/`
[TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov5s.engine`
[CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov5s.mlmodel`
[TensorFlow SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov5s_saved_model/`
[TensorFlow GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov5s.pb`
[TensorFlow Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov5s.tflite`
[TensorFlow Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov5s_edgetpu.tflite`
[TensorFlow.js](https://www.tensorflow.org/js) | `tfjs` | `yolov5s_web_model/`


Usage examples (ONNX shown):
bash
Export: python export.py --weights yolov5s.pt --include onnx
Detect: python detect.py --weights yolov5s.onnx
PyTorch Hub: model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5s.onnx')
Validate: python val.py --weights yolov5s.onnx
Visualize: https://netron.app



Important Updates

- **TensorRT support**: TensorFlow, Keras, TFLite, TF.js model export now fully integrated using `python export.py --include saved_model pb tflite tfjs` (https://github.com/ultralytics/yolov5/pull/5699 by imyhxy)
- **Tensorflow Edge TPU support ⭐ NEW**: New smaller YOLOv5n (1.9M params) model below YOLOv5s (7.5M params), exports to 2.1 MB INT8 size, ideal for ultralight mobile solutions. (https://github.com/ultralytics/yolov5/pull/3630 by zldrobit)
- **OpenVINO support**: YOLOv5 ONNX models are now compatible with both OpenCV DNN and ONNX Runtime (https://github.com/ultralytics/yolov5/pull/6057 by glenn-jocher).
- **Export Benchmarks**: Benchmark (mAP and speed) all YOLOv5 export formats with `python utils/benchmarks.py --weights yolov5s.pt`. Currently operates on CPU, future updates will implement GPU support. (https://github.com/ultralytics/yolov5/pull/6613 by glenn-jocher).
- **Architecture:** no changes
- **Hyperparameters:** minor change
- hyp-scratch-large.yaml `lrf` reduced from 0.2 to 0.1 (https://github.com/ultralytics/yolov5/pull/6525 by glenn-jocher).
- **Training:** Default Learning Rate (LR) scheduler updated
- One-cycle with cosine replace with one-cycle linear for improved results (https://github.com/ultralytics/yolov5/pull/6729 by glenn-jocher).

New Results

All model trainings logged to https://wandb.ai/glenn-jocher/YOLOv5_v61_official

<p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/155040763-93c22a27-347c-4e3c-847a-8094621d3f4e.png"></p>
<details>
<summary>YOLOv5-P5 640 Figure (click to expand)</summary>

<p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/155040757-ce0934a3-06a6-43dc-a979-2edbbd69ea0e.png"></p>
</details>
<details>
<summary>Figure Notes (click to expand)</summary>

* **COCO AP val** denotes mAP0.5:0.95 metric measured on the 5000-image [COCO val2017](http://cocodataset.org) dataset over various inference sizes from 256 to 1536.
* **GPU Speed** measures average inference time per image on [COCO val2017](http://cocodataset.org) dataset using a [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) V100 instance at batch-size 32.
* **EfficientDet** data from [google/automl](https://github.com/google/automl) at batch size 8.
* **Reproduce** by `python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt`
</details>

Example YOLOv5l before and after metrics:

|YOLOv5l<br><sup>Large|size<br><sup>(pixels) |mAP<sup>val<br>0.5:0.95 |mAP<sup>val<br>0.5 |Speed<br><sup>CPU b1<br>(ms) |Speed<br><sup>V100 b1<br>(ms) |Speed<br><sup>V100 b32<br>(ms) |params<br><sup>(M) |FLOPs<br><sup> 640 (B)
--- |--- |--- |--- |--- |--- |--- |--- |---

6.0

[assets]: https://github.com/ultralytics/yolov5/releases
[TTA]: https://github.com/ultralytics/yolov5/issues/303

This release incorporates many new features and bug fixes ([**465 PRs** from **73 contributors**](https://github.com/ultralytics/yolov5/compare/v5.0...v6.0)) since our last [release v5.0](https://github.com/ultralytics/yolov5/releases/tag/v5.0) in April, brings architecture tweaks, and also introduces new P5 and P6 'Nano' models: **YOLOv5n** and **YOLOv5n6**. Nano models maintain the YOLOv5s depth multiple of 0.33 but reduce the YOLOv5s width multiple from 0.50 to 0.25, resulting in ~75% fewer parameters, from 7.5M to 1.9M, ideal for mobile and CPU solutions.

Example usage:
bash
python detect.py --weights yolov5n.pt --img 640 Nano P5 model trained at --img 640 (28.4 mAP0.5:0.95)
python detect.py --weights yolov5n6.pt --img 1280 Nano P6 model trained at --img 1280 (34.0 mAP0.5:0.95)



Important Updates

- **Roboflow Integration ⭐ NEW**: Train YOLOv5 models directly on any Roboflow dataset with our new integration! (https://github.com/ultralytics/yolov5/issues/4975 by Jacobsolawetz)

- **YOLOv5n 'Nano' models ⭐ NEW**: New smaller YOLOv5n (1.9M params) model below YOLOv5s (7.5M params), exports to 2.1 MB INT8 size, ideal for ultralight mobile solutions. (https://github.com/ultralytics/yolov5/discussions/5027 by glenn-jocher)
- **TensorFlow and Keras Export**: TensorFlow, Keras, TFLite, TF.js model export now fully integrated using `python export.py --include saved_model pb tflite tfjs` (https://github.com/ultralytics/yolov5/pull/1127 by zldrobit)
- **OpenCV DNN**: YOLOv5 ONNX models are now compatible with both OpenCV DNN and ONNX Runtime (https://github.com/ultralytics/yolov5/pull/4833 by SamFC10).
- **Model Architecture:** Updated backbones are slightly smaller, faster and more accurate.
- Replacement of `Focus()` with an equivalent `Conv(k=6, s=2, p=2)` layer (https://github.com/ultralytics/yolov5/issues/4825 by thomasbi1) for improved exportability
- New `SPPF()` replacement for `SPP()` layer for reduced ops (https://github.com/ultralytics/yolov5/pull/4420 by glenn-jocher)
- Reduction in P3 backbone layer `C3()` repeats from 9 to 6 for improved speeds
- Reorder places `SPPF()` at end of backbone
- Reintroduction of shortcut in the last `C3()` backbone layer
- Updated [hyperparameters](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-high.yaml) with increased mixup and copy-paste augmentation


New Results

<p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/136901921-abcfcd9d-f978-4942-9b97-0e3f202907df.png"></p>
<details>
<summary>YOLOv5-P5 640 Figure (click to expand)</summary>

<p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/136763877-b174052b-c12f-48d2-8bc4-545e3853398e.png"></p>
</details>
<details>
<summary>Figure Notes (click to expand)</summary>

* **COCO AP val** denotes mAP0.5:0.95 metric measured on the 5000-image [COCO val2017](http://cocodataset.org) dataset over various inference sizes from 256 to 1536.
* **GPU Speed** measures average inference time per image on [COCO val2017](http://cocodataset.org) dataset using a [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) V100 instance at batch-size 32.
* **EfficientDet** data from [google/automl](https://github.com/google/automl) at batch size 8.
* **Reproduce** by `python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt`
</details>

mAP improves from +0.3% to +1.1% across all models, and ~5% FLOPs reduction produces slight speed improvements and a reduced CUDA memory footprint. Example YOLOv5l before and after metrics:

|YOLOv5l<br><sup>Large|size<br><sup>(pixels) |mAP<sup>val<br>0.5:0.95 |mAP<sup>val<br>0.5 |Speed<br><sup>CPU b1<br>(ms) |Speed<br><sup>V100 b1<br>(ms) |Speed<br><sup>V100 b32<br>(ms) |params<br><sup>(M) |FLOPs<br><sup>640 (B)
--- |--- |--- |--- |--- |--- |--- |--- |---

5.0

This release implements **YOLOv5-P6** models and retrained **YOLOv5-P5** models. All model sizes YOLOv5s/m/l/x are now available in both P5 and P6 architectures:

* **YOLOv5-P5** models (same architecture as v4.0 release): **3 output layers** P3, P4, P5 at strides 8, 16, 32, trained at `--img 640`
bash
python detect.py --weights yolov5s.pt P5 models
yolov5m.pt
yolov5l.pt
yolov5x.pt

* **YOLOv5-P6** models: **4 output layers** P3, P4, P5, P6 at strides 8, 16, 32, 64 trained at `--img 1280`
bash
python detect.py --weights yolov5s6.pt P6 models
yolov5m6.pt
yolov5l6.pt
yolov5x6.pt


Example usage:
bash
Command Line
python detect.py --weights yolov5m.pt --img 640 P5 model at 640
python detect.py --weights yolov5m6.pt --img 640 P6 model at 640
python detect.py --weights yolov5m6.pt --img 1280 P6 model at 1280

python
PyTorch Hub
model = torch.hub.load('ultralytics/yolov5', 'yolov5m6') P6 model
results = model(imgs, size=1280) inference at 1280


Notable Updates

- **YouTube Inference**: Direct inference from YouTube videos, i.e. `python detect.py --source 'https://youtu.be/NUsoVlDFqZg'`. Live streaming videos and normal videos supported. (https://github.com/ultralytics/yolov5/pull/2752)
- **AWS Integration**: Amazon AWS integration and new [AWS Quickstart Guide](https://github.com/ultralytics/yolov5/wiki/AWS-Quickstart) for simple EC2 instance YOLOv5 training and resuming of interrupted Spot instances. (https://github.com/ultralytics/yolov5/pull/2185)
- **Supervise.ly Integration**: New integration with the [Supervisely Ecosystem](https://github.com/supervisely-ecosystem) for training and deploying YOLOv5 models with Supervise.ly (https://github.com/ultralytics/yolov5/issues/2518)
- **Improved W&B Integration:** Allows saving datasets and models directly to [Weights & Biases](https://wandb.ai/site?utm_campaign=repo_yolo_readme). This allows for --resume directly from W&B (useful for temporary environments like Colab), as well as enhanced visualization tools. See this [blog](https://wandb.ai/cayush/yolov5-dsviz-demo/reports/Object-Detection-with-YOLO-and-Weights-Biases--Vmlldzo0NTgzMjk) by AyushExel for details. (https://github.com/ultralytics/yolov5/pull/2125)


Updated Results

P6 models include an extra P6/64 output layer for detection of larger objects, and benefit the most from training at higher resolution. For this reason we trained all P5 models at 640, and all P6 models at 1280.

<p align="center"><img width="800" src="https://user-images.githubusercontent.com/26833433/114313216-f0a5e100-9af5-11eb-8445-c682b60da2e3.png"></p>
<details>
<summary>YOLOv5-P5 640 Figure (click to expand)</summary>

<p align="center"><img width="800" src="https://user-images.githubusercontent.com/26833433/114313219-f1d70e00-9af5-11eb-9973-52b1f98d321a.png"></p>
</details>
<details>
<summary>Figure Notes (click to expand)</summary>

* GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 32, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS.
* EfficientDet data from [google/automl](https://github.com/google/automl) at batch size 8.
* **Reproduce** by `python test.py --task study --data coco.yaml --iou 0.7 --weights yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt`
</details>

- **April 11, 2021**: [v5.0 release](https://github.com/ultralytics/yolov5/releases/tag/v5.0): YOLOv5-P6 1280 models, [AWS](https://github.com/ultralytics/yolov5/wiki/AWS-Quickstart), [Supervise.ly](https://github.com/ultralytics/yolov5/issues/2518) and [YouTube](https://github.com/ultralytics/yolov5/pull/2752) integrations.
- **January 5, 2021**: [v4.0 release](https://github.com/ultralytics/yolov5/releases/tag/v4.0): nn.SiLU() activations, [Weights & Biases](https://wandb.ai/site?utm_campaign=repo_yolo_readme) logging, [PyTorch Hub](https://pytorch.org/hub/ultralytics_yolov5/) integration.
- **August 13, 2020**: [v3.0 release](https://github.com/ultralytics/yolov5/releases/tag/v3.0): nn.Hardswish() activations, data autodownload, native AMP.
- **July 23, 2020**: [v2.0 release](https://github.com/ultralytics/yolov5/releases/tag/v2.0): improved model definition, training and mAP.


Pretrained Checkpoints

[assets]: https://github.com/ultralytics/yolov5/releases

Model |size<br><sup>(pixels) |mAP<sup>val<br>0.5:0.95 |mAP<sup>test<br>0.5:0.95 |mAP<sup>val<br>0.5 |Speed<br><sup>V100 (ms) | |params<br><sup>(M) |FLOPS<br><sup>640 (B)
--- |--- |--- |--- |--- |--- |---|--- |---
[YOLOv5s][assets] |640 |36.7 |36.7 |55.4 |**2.0** | |7.3 |17.0
[YOLOv5m][assets] |640 |44.5 |44.5 |63.1 |2.7 | |21.4 |51.3
[YOLOv5l][assets] |640 |48.2 |48.2 |66.9 |3.8 | |47.0 |115.4
[YOLOv5x][assets] |640 |**50.4** |**50.4** |**68.8** |6.1 | |87.7 |218.8
| | | | | | || |
[YOLOv5s6][assets] |1280 |43.3 |43.3 |61.9 |**4.3** | |12.7 |17.4
[YOLOv5m6][assets] |1280 |50.5 |50.5 |68.7 |8.4 | |35.9 |52.4
[YOLOv5l6][assets] |1280 |53.4 |53.4 |71.1 |12.3 | |77.2 |117.7
[YOLOv5x6][assets] |1280 |**54.4** |**54.4** |**72.0** |22.4 | |141.8 |222.9
| | | | | | || |

4.0

This release implements two architecture changes to YOLOv5, as well as various bug fixes and performance improvements.

Breaking Changes

- nn.SiLU() activations replace nn.LeakyReLU(0.1) and nn.Hardswish() activations used in previous versions. nn.SiLU() was introduced in PyTorch 1.7.0 (https://pytorch.org/docs/stable/generated/torch.nn.SiLU.html), and due to the recent timeframe certain export pipelines may be temporarily unavailable (CoreML possibly) without updates to the associated tools (i.e. coremltools).

Bug Fixes
- Multi-GPU --resume 1810
- leaf Variable inplace bug fix 1759
- Various additional bug fixes contained in PRs 1235 through 1837

Added Functionality
- Weights & Biases (W&B) Feature Addition 1235
- Utils reorganization 1392
- PyTorch Hub and autoShape update 1415
- W&B artifacts feature addition 1712
- Various additional feature additions contained in PRs 1235 through 1837


Updated Results

Latest models are all slightly smaller to due removal of one convolution within each bottleneck, which have been renamed as C3() modules now in light of the 3 I/O convolutions each one does vs the 4 in the standard CSP bottleneck. The previous manual concatenation and LeakyReLU(0.1) activations have both removed, simplifying the architecture, reducing parameter count, and better exploiting the .fuse() operation at inference time.

nn.SiLU() activations replace nn.LeakyReLU(0.1) and nn.Hardswish() activations throughout the model, simplifying the architecture as we now only have one single activation function used everywhere rather than the two types before.

In general the changes result in smaller models (89.0M params -> 87.7M YOLOv5x), faster inference times (6.9ms -> 6.0ms), and improved mAP (49.2 -> 50.1) for all models except YOLOv5s, which reduced mAP slightly (37.0 -> 36.8). In general the largest models benefit the most from this update. YOLOv5x in particular is now above 50.0 mAP at --img-size 640, which may be the first time this is possible at 640 resolution for any architecture I'm aware of (correct me if I'm wrong though).

<img src="https://user-images.githubusercontent.com/26833433/103594689-455e0e00-4eae-11eb-9cdf-7d753e2ceeeb.png" width="1000">** GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 32, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS. EfficientDet data from [google/automl](https://github.com/google/automl) at batch size 8.


Pretrained Checkpoints

| Model | size | AP<sup>val</sup> | AP<sup>test</sup> | AP<sub>50</sub> | Speed<sub>V100</sub> | FPS<sub>V100</sub> || params | GFLOPS |
|---------- |------ |------ |------ |------ | -------- | ------| ------ |------ | :------: |

3.1

This release aggregates various minor bug fixes and performance improvements since the main v3.0 release and incorporates PyTorch 1.7.0 compatibility updates. v3.1 models share weights with v3.0 models but contain minor module updates (`inplace` fields for nn.Hardswish() activations) for native PyTorch 1.7.0 compatibility. For PyTorch 1.7.0 release updates see https://github.com/pytorch/pytorch/releases/tag/v1.7.0.


Breaking Changes

- 'giou' hyperparameter has been renamed to 'box' to better reflect a criteria-agnostic regression loss term (https://github.com/ultralytics/yolov5/pull/1120)


Bug Fixes
- PyTorch 1.7 compatibility update. `torch>=1.6.0` required, `torch>=1.7.0` recommended (https://github.com/ultralytics/yolov5/pull/1233)
- GhostConv module bug fix (https://github.com/ultralytics/yolov5/pull/1176)
- Rectangular padding min stride bug fix from 64 to 32 (https://github.com/ultralytics/yolov5/pull/1165)
- Mosaic4 bug fix (https://github.com/ultralytics/yolov5/pull/1021)
- Logging directory runs/exp bug fix (https://github.com/ultralytics/yolov5/pull/978)
- Various additional

Added Functionality
- PyTorch Hub functionality with YOLOv5 .autoshape() method added (https://github.com/ultralytics/yolov5/pull/1210)
- Autolabelling addition and standardization across detect.py and test.py (https://github.com/ultralytics/yolov5/pull/1182)
- Precision-Recall Curve automatic plotting when testing (https://github.com/ultralytics/yolov5/pull/1107)
- Self-host VOC dataset for more reliable access and faster downloading (https://github.com/ultralytics/yolov5/pull/1077)
- Adding option to output autolabel confidence with --save-conf in test.py and detect.py (https://github.com/ultralytics/yolov5/pull/994)
- Google App Engine deployment option (https://github.com/ultralytics/yolov5/pull/964)
- Infinite Dataloader for faster training (https://github.com/ultralytics/yolov5/pull/876)
- Various additional

3.0

Model | AP<sup>val</sup> | AP<sup>test</sup> | AP<sub>50</sub> | Speed<sub>GPU</sub> | FPS<sub>GPU</sub> || params | FLOPS |
---------- |------ |------ |------ | -------- | ------| ------ |------ | :------: |

2.0

bash
git clone https://github.com/ultralytics/yolov5 # clone repo
cd yolov5
git reset --hard 5e970d4 last commit before v2.0


Bug Fixes
- Various

Added Functionality
- Various

<img src="https://user-images.githubusercontent.com/26833433/85340570-30360a80-b49b-11ea-87cf-bdf33d53ae15.png" width="800">
** GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 8, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS.
<br/><br/>


- **July 23, 2020**: [v2.0 release](https://github.com/ultralytics/yolov5/releases/tag/v2.0): improved model definition, training and mAP.
- **June 22, 2020**: [PANet](https://arxiv.org/abs/1803.01534) updates: new heads, reduced parameters, improved speed and mAP [364fcfd](https://github.com/ultralytics/yolov5/commit/364fcfd7dba53f46edd4f04c037a039c0a287972).
- **June 19, 2020**: [FP16](https://pytorch.org/docs/stable/nn.html#torch.nn.Module.half) as new default for smaller checkpoints and faster inference [d4c6674](https://github.com/ultralytics/yolov5/commit/d4c6674c98e19df4c40e33a777610a18d1961145).
- **June 9, 2020**: [CSP](https://github.com/WongKinYiu/CrossStagePartialNetworks) updates: improved speed, size, and accuracy (credit to WongKinYiu for CSP).
- **May 27, 2020**: Public release. YOLOv5 models are SOTA among all known YOLO implementations.
- **April 1, 2020**: Start development of future compound-scaled [YOLOv3](https://github.com/ultralytics/yolov3)/[YOLOv4](https://github.com/AlexeyAB/darknet)-based PyTorch models.


Pretrained Checkpoints

| Model | AP<sup>val</sup> | AP<sup>test</sup> | AP<sub>50</sub> | Speed<sub>GPU</sub> | FPS<sub>GPU</sub> || params | FLOPS |
|---------- |------ |------ |------ | -------- | ------| ------ |------ | :------: |

1.0

YOLOv5 1.0 Release Notes

- **June 22, 2020**: [PANet](https://arxiv.org/abs/1803.01534) updates: increased layers, reduced parameters, faster inference and improved mAP [364fcfd](https://github.com/ultralytics/yolov5/commit/364fcfd7dba53f46edd4f04c037a039c0a287972).
- **June 19, 2020**: [FP16](https://pytorch.org/docs/stable/nn.html#torch.nn.Module.half) as new default for smaller checkpoints and faster inference [d4c6674](https://github.com/ultralytics/yolov5/commit/d4c6674c98e19df4c40e33a777610a18d1961145).
- **June 9, 2020**: [CSP](https://github.com/WongKinYiu/CrossStagePartialNetworks) updates: improved speed, size, and accuracy. Credit to WongKinYiu for excellent CSP work.
- **May 27, 2020**: Public release of repo. YOLOv5 models are SOTA among all known YOLO implementations.
- **April 1, 2020**: Start development of future [YOLOv3](https://github.com/ultralytics/yolov3)/[YOLOv4](https://github.com/AlexeyAB/darknet)-based PyTorch models in a range of compound-scaled sizes.

<img src="https://user-images.githubusercontent.com/26833433/85340570-30360a80-b49b-11ea-87cf-bdf33d53ae15.png" width="800">
** GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 8, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS.

Pretrained Checkpoints

| Model | AP<sup>val</sup> | AP<sup>test</sup> | AP<sub>50</sub> | Speed<sub>GPU</sub> | FPS<sub>GPU</sub> || params | FLOPS |
|---------- |------ |------ |------ | -------- | ------| ------ |------ | :------: |