There is a newer version of the record available.

Published February 22, 2022 | Version v6.1
Software Open

ultralytics/yolov5: v6.1 - TensorRT, TensorFlow Edge TPU and OpenVINO Export and Inference

  • 1. @ultralytics
  • 2. Jacobs JETS @ NASA Johnson Space Center
  • 3. Grid.ai | PytorchLightning
  • 4. MarkAny
  • 5. 罗布乐思
  • 6. Dakewe Biotech Co., Ltd.
  • 7. @zealabs
  • 8. 别怕失败,大不了从头来过
  • 9. @unleashlive, @ultralytics
  • 10. Orobix
  • 11. NEC Laboratories America, Inc.
  • 12. @innaite

Description

This release incorporates new features and bug fixes (271 PRs from 48 contributors) since our last release in October 2021. It adds TensorRT, Edge TPU and OpenVINO support, and provides retrained models at --batch-size 128 with new default one-cycle linear LR scheduler. 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 - yolov5s.pt
TorchScript torchscript yolov5s.torchscript
ONNX onnx yolov5s.onnx
OpenVINO openvino yolov5s_openvino_model/
TensorRT engine yolov5s.engine
CoreML coreml yolov5s.mlmodel
TensorFlow SavedModel saved_model yolov5s_saved_model/
TensorFlow GraphDef pb yolov5s.pb
TensorFlow Lite tflite yolov5s.tflite
TensorFlow Edge TPU edgetpu yolov5s_edgetpu.tflite
TensorFlow.js tfjs yolov5s_web_model/

Usage examples (ONNX shown):

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 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 mAP@0.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)
v5.0 640 48.2 66.9 457.9 11.6 2.8 47.0 115.4
v6.0 (previous) 640 48.8 67.2 424.5 10.9 2.7 46.5 109.1
v6.1 (this release) 640 49.0 67.3 424.5 10.9 2.7 46.5 109.1
Pretrained Checkpoints
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 640 28.0 45.7 45 6.3 0.6 1.9 4.5
YOLOv5s 640 37.4 56.8 98 6.4 0.9 7.2 16.5
YOLOv5m 640 45.4 64.1 224 8.2 1.7 21.2 49.0
YOLOv5l 640 49.0 67.3 430 10.1 2.7 46.5 109.1
YOLOv5x 640 50.7 68.9 766 12.1 4.8 86.7 205.7
YOLOv5n6 1280 36.0 54.4 153 8.1 2.1 3.2 4.6
YOLOv5s6 1280 44.8 63.7 385 8.2 3.6 16.8 12.6
YOLOv5m6 1280 51.3 69.3 887 11.1 6.8 35.7 50.0
YOLOv5l6 1280 53.7 71.3 1784 15.8 10.5 76.8 111.4
YOLOv5x6<br>+ TTA 1280<br>1536 55.0<br>55.8 72.7<br>72.7 3136<br>- 26.2<br>- 19.4<br>- 140.7<br>- 209.8<br>-
<details> <summary>Table Notes (click to expand)</summary> * All checkpoints are trained to 300 epochs with default settings. Nano and Small models use [hyp.scratch-low.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-low.yaml) hyps, 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 --task speed --batch 1` * **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/v6.0...v6.1 Changes since this release: https://github.com/ultralytics/yolov5/compare/v6.1...HEAD

<details> <summary>New Features and Bug Fixes (271)</summary> * fix `tf` conversion in new v6 models by @YoniChechik in https://github.com/ultralytics/yolov5/pull/5153 * Use YOLOv5n for CI testing by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5154 * Update stale.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5156 * Check `'onnxruntime-gpu' if torch.has_cuda` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5087 * Add class filtering to `LoadImagesAndLabels()` dataloader by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5172 * W&B: fix dpp with wandb disabled by @AyushExel in https://github.com/ultralytics/yolov5/pull/5163 * Update autodownload fallbacks to v6.0 assets by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5177 * W&B: DDP fix by @AyushExel in https://github.com/ultralytics/yolov5/pull/5176 * Adjust legend labels for classes without instances by @NauchtanRobotics in https://github.com/ultralytics/yolov5/pull/5174 * Improved check_suffix() robustness to `''` and `""` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5192 * Highlight contributors in README by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5173 * Add hyp.scratch-med.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5196 * Update Objects365.yaml to include the official validation set by @farleylai in https://github.com/ultralytics/yolov5/pull/5194 * Autofix duplicate label handling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5210 * Update Objects365.yaml val count by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5212 * Update/inplace ops by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5233 * Add `on_fit_epoch_end` callback by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5232 * Update rebase.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5245 * Add dependabot for GH actions by @zhiqwang in https://github.com/ultralytics/yolov5/pull/5250 * Bump cirrus-actions/rebase from 1.4 to 1.5 by @dependabot in https://github.com/ultralytics/yolov5/pull/5251 * Bump actions/cache from 1 to 2.1.6 by @dependabot in https://github.com/ultralytics/yolov5/pull/5252 * Bump actions/stale from 3 to 4 by @dependabot in https://github.com/ultralytics/yolov5/pull/5253 * Update rebase.yml with workflows permissions by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5255 * autosplit: take image files with uppercase extensions into account by @jdfr in https://github.com/ultralytics/yolov5/pull/5269 * take EXIF orientation tags into account when fixing corrupt images by @jdfr in https://github.com/ultralytics/yolov5/pull/5270 * More informative `EarlyStopping()` message by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5303 * Uncomment OpenCV 4.5.4 requirement in detect.py by @SamFC10 in https://github.com/ultralytics/yolov5/pull/5305 * Weights download script minor improvements by @CristiFati in https://github.com/ultralytics/yolov5/pull/5213 * Small fixes to docstrings by @zhiqwang in https://github.com/ultralytics/yolov5/pull/5313 * W&B: Media panel fix by @AyushExel in https://github.com/ultralytics/yolov5/pull/5317 * Add `autobatch` feature for best `batch-size` estimation by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5092 * Update `AutoShape.forward()` model.classes example by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5324 * DDP `nl` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5332 * Add pre-commit CI action by @Borda in https://github.com/ultralytics/yolov5/pull/4982 * W&B: Fix sweep by @AyushExel in https://github.com/ultralytics/yolov5/pull/5402 * Update GitHub issues templates by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5404 * Fix `MixConv2d()` remove shortcut + apply depthwise by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5410 * Meshgrid `indexing='ij'` for PyTorch 1.10 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5309 * Update `get_loggers()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4854 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5438 * Fixed a small typo in CONTRIBUTING.md by @pranathlcp in https://github.com/ultralytics/yolov5/pull/5445 * Update `check_git_status()` to run under `ROOT` working directory by @MrinalJain17 in https://github.com/ultralytics/yolov5/pull/5441 * Fix tf.py `LoadImages()` dataloader return values by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5455 * Remove `check_requirements(('tensorflow>=2.4.1',))` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5476 * Improve GPU name by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5478 * Update torch_utils.py import `LOGGER` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5483 * Add tf.py verification printout by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5484 * Keras CI fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5486 * Delete code-format.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5487 * Fix float zeros format by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5491 * Handle edgetpu model inference by @Namburger in https://github.com/ultralytics/yolov5/pull/5372 * precommit: isort by @Borda in https://github.com/ultralytics/yolov5/pull/5493 * Fix `increment_path()` with multiple-suffix filenames by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5518 * Write date in checkpoint file by @developer0hye in https://github.com/ultralytics/yolov5/pull/5514 * Update plots.py feature_visualization path issues by @ys31jp in https://github.com/ultralytics/yolov5/pull/5519 * Update cls bias init by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5520 * Common `is_coco` logic betwen train.py and val.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5521 * Fix `increment_path()` explicit file vs dir handling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5523 * Fix detect.py URL inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5525 * Update `check_file()` avoid repeat URL downloads by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5526 * Update export.py by @nanmi in https://github.com/ultralytics/yolov5/pull/5471 * Update train.py by @wonbeomjang in https://github.com/ultralytics/yolov5/pull/5451 * Suppress ONNX export trace warning by @deepsworld in https://github.com/ultralytics/yolov5/pull/5437 * Update autobatch.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5536 * Update autobatch.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5538 * Update Issue Templates with 💡 ProTip! by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5539 * Update `models/hub/*.yaml` files for v6.0n release by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5540 * `intersect_dicts()` in hubconf.py fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5542 * Fix for *.yaml emojis on load by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5543 * Fix `save_one_box()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5545 * Inside Ultralytics video https://youtu.be/Zgi9g1ksQHc by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5546 * Add `--conf-thres` >> 0.001 warning by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5567 * `LOGGER` consolidation by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5569 * New `DetectMultiBackend()` class by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5549 * FROM nvcr.io/nvidia/pytorch:21.10-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5592 * Add `notebook_init()` to utils/__init__.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5488 * Fix `check_requirements()` resource warning allocation open file by @ayman-saleh in https://github.com/ultralytics/yolov5/pull/5602 * Update train, val `tqdm` to fixed width by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5367 * Update val.py `speed` and `study` tasks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5608 * `np.unique()` sort fix for segments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5609 * Improve plots.py robustness by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5616 * HUB dataset previews to JPEG by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5627 * DDP `WORLD_SIZE`-safe dataloader workers by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5631 * Default DataLoader `shuffle=True` for training by @werner-duvaud in https://github.com/ultralytics/yolov5/pull/5623 * AutoAnchor and AutoBatch `LOGGER` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5635 * W&B refactor, handle exceptions, CI example by @AyushExel in https://github.com/ultralytics/yolov5/pull/5618 * Replace 2 `transpose()` with 1 `permute` in TransformerBlock()` by @dingyiwei in https://github.com/ultralytics/yolov5/pull/5645 * Bump pip from 19.2 to 21.1 in /utils/google_app_engine by @dependabot in https://github.com/ultralytics/yolov5/pull/5661 * Update ci-testing.yml to Python 3.9 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5660 * TFDetect dynamic anchor count assignment fix by @nrupatunga in https://github.com/ultralytics/yolov5/pull/5668 * Update train.py comment to 'Model attributes' by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5670 * Update export.py docstring by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5689 * `NUM_THREADS` leave at least 1 CPU free by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5706 * Prune unused imports by @Borda in https://github.com/ultralytics/yolov5/pull/5711 * Explicitly compute TP, FP in val.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5727 * Remove `.autoshape()` method by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5694 * SECURITY.md by @IL2006 in https://github.com/ultralytics/yolov5/pull/5695 * Save *.npy features on detect.py `--visualize` by @Zengyf-CVer in https://github.com/ultralytics/yolov5/pull/5701 * Export, detect and validation with TensorRT engine file by @imyhxy in https://github.com/ultralytics/yolov5/pull/5699 * Do not save hyp.yaml and opt.yaml on evolve by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5775 * fix the path error in export.py by @miknyko in https://github.com/ultralytics/yolov5/pull/5778 * TorchScript `torch==1.7.0` Path support by @miknyko in https://github.com/ultralytics/yolov5/pull/5781 * W&B: refactor W&B tables by @AyushExel in https://github.com/ultralytics/yolov5/pull/5737 * Scope TF imports in `DetectMultiBackend()` by @phodgers in https://github.com/ultralytics/yolov5/pull/5792 * Remove NCOLS from tqdm by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5804 * Refactor new `model.warmup()` method by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5810 * GCP VM from Image example by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5814 * Bump actions/cache from 2.1.6 to 2.1.7 by @dependabot in https://github.com/ultralytics/yolov5/pull/5816 * Update `dataset_stats()` to `cv2.INTER_AREA` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5821 * Fix TensorRT potential unordered binding addresses by @imyhxy in https://github.com/ultralytics/yolov5/pull/5826 * Handle non-TTY `wandb.errors.UsageError` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5839 * Avoid inplace modifying`imgs` in `LoadStreams` by @passerbythesun in https://github.com/ultralytics/yolov5/pull/5850 * Update `LoadImages` `ret_val=False` handling by @gmt710 in https://github.com/ultralytics/yolov5/pull/5852 * Update val.py by @pradeep-vishnu in https://github.com/ultralytics/yolov5/pull/5838 * Update TorchScript suffix to `*.torchscript` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5856 * Add `--workers 8` argument to val.py by @iumyx2612 in https://github.com/ultralytics/yolov5/pull/5857 * Update `plot_lr_scheduler()` by @daikankan in https://github.com/ultralytics/yolov5/pull/5864 * Update `nl` after `cutout()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5873 * `AutoShape()` models as `DetectMultiBackend()` instances by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5845 * Single-command multiple-model export by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5882 * `Detections().tolist()` explicit argument fix by @lizeng614 in https://github.com/ultralytics/yolov5/pull/5907 * W&B: Fix bug in upload dataset module by @AyushExel in https://github.com/ultralytics/yolov5/pull/5908 * Add *.engine (TensorRT extensions) to .gitignore by @greg2451 in https://github.com/ultralytics/yolov5/pull/5911 * Add ONNX inference providers by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5918 * Add hardware checks to `notebook_init()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5919 * Revert "Update `plot_lr_scheduler()`" by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5920 * Absolute '/content/sample_data' by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5922 * Default PyTorch Hub to `autocast(False)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5926 * Fix ONNX opset inconsistency with parseargs and run args by @d57montes in https://github.com/ultralytics/yolov5/pull/5937 * Make `select_device()` robust to `batch_size=-1` by @youyuxiansen in https://github.com/ultralytics/yolov5/pull/5940 * fix .gitignore not tracking existing folders by @pasmai in https://github.com/ultralytics/yolov5/pull/5946 * Update `strip_optimizer()` by @iumyx2612 in https://github.com/ultralytics/yolov5/pull/5949 * Add nms and agnostic nms to export.py by @d57montes in https://github.com/ultralytics/yolov5/pull/5938 * Refactor `NUM_THREADS` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5954 * Fix Detections class `tolist()` method by @yonomitt in https://github.com/ultralytics/yolov5/pull/5945 * Fix `imgsz` bug by @d57montes in https://github.com/ultralytics/yolov5/pull/5948 * `pretrained=False` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5966 * make parameter ignore epochs by @jinmc in https://github.com/ultralytics/yolov5/pull/5972 * YOLOv5s6 params and FLOPs fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5977 * Update callbacks.py with `__init__()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5979 * Increase `ar_thr` from 20 to 100 for better detection on slender (high aspect ratio) objects by @MrinalJain17 in https://github.com/ultralytics/yolov5/pull/5556 * Allow `--weights URL` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5991 * Recommend `jar xf file.zip` for zips by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5993 * *.torchscript inference `self.jit` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6007 * Check TensorRT>=8.0.0 version by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6021 * Multi-layer capable `--freeze` argument by @youyuxiansen in https://github.com/ultralytics/yolov5/pull/6019 * train -> val comment fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6024 * Add dataset source citations by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6032 * Kaggle `LOGGER` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6041 * Simplify `set_logging()` indexing by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6042 * `--freeze` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6044 * OpenVINO Export by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6057 * Reduce G/D/CIoU logic operations by @jedi007 in https://github.com/ultralytics/yolov5/pull/6074 * Init tensor directly on device by @deepsworld in https://github.com/ultralytics/yolov5/pull/6068 * W&B: track batch size after autobatch by @AyushExel in https://github.com/ultralytics/yolov5/pull/6039 * W&B: Log best results after training ends by @AyushExel in https://github.com/ultralytics/yolov5/pull/6120 * Log best results by @awsaf49 in https://github.com/ultralytics/yolov5/pull/6085 * Refactor/reduce G/C/D/IoU `if: else` statements by @cmoseses in https://github.com/ultralytics/yolov5/pull/6087 * Add EdgeTPU support by @zldrobit in https://github.com/ultralytics/yolov5/pull/3630 * Enable AdamW optimizer by @bilzard in https://github.com/ultralytics/yolov5/pull/6152 * Update export format docstrings by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6151 * Update greetings.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6165 * [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https://github.com/ultralytics/yolov5/pull/6177 * Update NMS `max_wh=7680` for 8k images by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6178 * Add OpenVINO inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6179 * Ignore `*_openvino_model/` dir by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6180 * Global export format sort by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6182 * Fix TorchScript on mobile export by @yinrong in https://github.com/ultralytics/yolov5/pull/6183 * TensorRT 7 `anchor_grid` compatibility fix by @imyhxy in https://github.com/ultralytics/yolov5/pull/6185 * Add `tensorrt>=7.0.0` checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6193 * Add CoreML inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6195 * Fix `nan`-robust stream FPS by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6198 * Edge TPU compiler comment by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6196 * TFLite `--int8` 'flatbuffers==1.12' fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6216 * TFLite `--int8` 'flatbuffers==1.12' fix 2 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6217 * Add `edgetpu_compiler` checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6218 * Attempt `edgetpu-compiler` autoinstall by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6223 * Update README speed reproduction command by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6228 * Update P2-P7 `models/hub` variants by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6230 * TensorRT 7 export fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6235 * Fix `cmd` string on `tfjs` export by @dart-bird in https://github.com/ultralytics/yolov5/pull/6243 * Enable ONNX `--half` FP16 inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6268 * Update export.py with Detect, Validate usages by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6280 * Add `is_kaggle()` function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6285 * Fix `device` count check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6290 * Fixing bug multi-gpu training by @hdnh2006 in https://github.com/ultralytics/yolov5/pull/6299 * `select_device()` cleanup by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6302 * Fix `train.py` parameter groups desc error by @Otfot in https://github.com/ultralytics/yolov5/pull/6318 * Remove `dataset_stats()` autodownload capability by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6303 * Console corrupted -> corrupt by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6338 * TensorRT `assert im.device.type != 'cpu'` on export by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6340 * `export.py` return exported files/dirs by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6343 * `export.py` automatic `forward_export` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6352 * Add optional `VERBOSE` environment variable by @johnk2hawaii in https://github.com/ultralytics/yolov5/pull/6353 * Reuse `de_parallel()` rather than `is_parallel()` by @imyhxy in https://github.com/ultralytics/yolov5/pull/6354 * `DEVICE_COUNT` instead of `WORLD_SIZE` to calculate `nw` by @sitecao in https://github.com/ultralytics/yolov5/pull/6324 * Flush callbacks when on `--evolve` by @AyushExel in https://github.com/ultralytics/yolov5/pull/6374 * FROM nvcr.io/nvidia/pytorch:21.12-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6377 * FROM nvcr.io/nvidia/pytorch:21.10-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6379 * Add `albumentations` to Dockerfile by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6392 * Add `stop_training=False` flag to callbacks by @haimat in https://github.com/ultralytics/yolov5/pull/6365 * Add `detect.py` GIF video inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6410 * Update `greetings.yaml` email address by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6412 * Rename logger from 'utils.logger' to 'yolov5' by @JonathanSamelson in https://github.com/ultralytics/yolov5/pull/6421 * Prefer `tflite_runtime` for TFLite inference if installed by @motokimura in https://github.com/ultralytics/yolov5/pull/6406 * Update workflows by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6427 * Namespace `VERBOSE` env variable to `YOLOv5_VERBOSE` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6428 * Add `*.asf` video support by @toschi23 in https://github.com/ultralytics/yolov5/pull/6436 * Revert "Remove `dataset_stats()` autodownload capability" by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6442 * Fix `select_device()` for Multi-GPU by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6434 * Fix2 `select_device()` for Multi-GPU by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6461 * Add Product Hunt social media icon by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6464 * Resolve dataset paths by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6489 * Simplify TF normalized to pixels by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6494 * Improved `export.py` usage examples by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6495 * CoreML inference fix `list()` -> `sorted()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6496 * Suppress `torch.jit.TracerWarning` on export by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6498 * Suppress `export.run()` `TracerWarning` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6499 * W&B: Remember `batch_size` on resuming by @AyushExel in https://github.com/ultralytics/yolov5/pull/6512 * Update hyp.scratch-high.yaml `lrf: 0.1` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6525 * TODO issues exempt from stale action by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6530 * Update val_batch*.jpg for Chinese fonts by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6526 * Social icons after text by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6473 * Edge TPU compiler `sudo` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6531 * Edge TPU export 'list index out of range' fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6533 * Edge TPU `tf.lite.experimental.load_delegate` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6536 * Fixing minor multi-streaming issues with TensoRT engine by @greg2451 in https://github.com/ultralytics/yolov5/pull/6504 * Load checkpoint on CPU instead of on GPU by @bilzard in https://github.com/ultralytics/yolov5/pull/6516 * flake8: code meanings by @Borda in https://github.com/ultralytics/yolov5/pull/6481 * Fix 6 Flake8 issues by @Borda in https://github.com/ultralytics/yolov5/pull/6541 * Edge TPU TF imports fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6542 * Move trainloader functions to class methods by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6559 * Improved AutoBatch DDP error message by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6568 * Fix zero-export handling with `if any(f):` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6569 * Fix `plot_labels()` colored histogram bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6574 * Allow custom` --evolve` project names by @MattVAD in https://github.com/ultralytics/yolov5/pull/6567 * Add `DATASETS_DIR` global in general.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6578 * return `opt` from `train.run()` by @chf4850 in https://github.com/ultralytics/yolov5/pull/6581 * Fix YouTube dislike button bug in `pafy` package by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6603 * Fix `hyp_evolve.yaml` indexing bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6604 * Fix `ROOT / data` when running W&B `log_dataset()` by @or-toledano in https://github.com/ultralytics/yolov5/pull/6606 * YouTube dependency fix `youtube_dl==2020.12.2` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6612 * Add YOLOv5n to Reproduce section by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6619 * W&B: Improve resume stability by @AyushExel in https://github.com/ultralytics/yolov5/pull/6611 * W&B: don't log media in evolve by @AyushExel in https://github.com/ultralytics/yolov5/pull/6617 * YOLOv5 Export Benchmarks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6613 * Fix ConfusionMatrix scale `vmin=0.0` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6638 * Fixed wandb logger `KeyError` by @imyhxy in https://github.com/ultralytics/yolov5/pull/6637 * Fix yolov3.yaml remove list by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6655 * Validate with 2x `--workers` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6658 * Validate with 2x `--workers` single-GPU/CPU fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6659 * Add `--cache val` option by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6663 * Robust `scipy.cluster.vq.kmeans` too few points by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6668 * Update Dockerfile `torch==1.10.2+cu113` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6669 * FROM nvcr.io/nvidia/pytorch:22.01-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6670 * FROM nvcr.io/nvidia/pytorch:21.10-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6671 * Update Dockerfile reorder installs by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6672 * FROM nvcr.io/nvidia/pytorch:22.01-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6673 * FROM nvcr.io/nvidia/pytorch:21.10-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6677 * Fix TF exports >= 2GB by @zldrobit in https://github.com/ultralytics/yolov5/pull/6292 * Fix `--evolve --bucket gs://...` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6698 * Fix CoreML P6 inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6700 * Fix floating point in number of workers by @SamuelYvon in https://github.com/ultralytics/yolov5/pull/6701 * Edge TPU inference fix by @RaffaeleGalliera in https://github.com/ultralytics/yolov5/pull/6686 * Use `export_formats()` in export.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6705 * Suppress `torch` AMP-CPU warnings by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6706 * Update `nw` to `max(nd, 1)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6714 * GH: add PR template by @Borda in https://github.com/ultralytics/yolov5/pull/6482 * Switch default LR scheduler from cos to linear by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6729 * Updated VOC hyperparameters by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6732 </details><details> <summary>New Contributors (48)</summary> * @YoniChechik made their first contribution in https://github.com/ultralytics/yolov5/pull/5153 * @farleylai made their first contribution in https://github.com/ultralytics/yolov5/pull/5194 * @jdfr made their first contribution in https://github.com/ultralytics/yolov5/pull/5269 * @pranathlcp made their first contribution in https://github.com/ultralytics/yolov5/pull/5445 * @MrinalJain17 made their first contribution in https://github.com/ultralytics/yolov5/pull/5441 * @Namburger made their first contribution in https://github.com/ultralytics/yolov5/pull/5372 * @ys31jp made their first contribution in https://github.com/ultralytics/yolov5/pull/5519 * @nanmi made their first contribution in https://github.com/ultralytics/yolov5/pull/5471 * @wonbeomjang made their first contribution in https://github.com/ultralytics/yolov5/pull/5451 * @deepsworld made their first contribution in https://github.com/ultralytics/yolov5/pull/5437 * @ayman-saleh made their first contribution in https://github.com/ultralytics/yolov5/pull/5602 * @werner-duvaud made their first contribution in https://github.com/ultralytics/yolov5/pull/5623 * @nrupatunga made their first contribution in https://github.com/ultralytics/yolov5/pull/5668 * @IL2006 made their first contribution in https://github.com/ultralytics/yolov5/pull/5695 * @Zengyf-CVer made their first contribution in https://github.com/ultralytics/yolov5/pull/5701 * @miknyko made their first contribution in https://github.com/ultralytics/yolov5/pull/5778 * @phodgers made their first contribution in https://github.com/ultralytics/yolov5/pull/5792 * @passerbythesun made their first contribution in https://github.com/ultralytics/yolov5/pull/5850 * @gmt710 made their first contribution in https://github.com/ultralytics/yolov5/pull/5852 * @pradeep-vishnu made their first contribution in https://github.com/ultralytics/yolov5/pull/5838 * @iumyx2612 made their first contribution in https://github.com/ultralytics/yolov5/pull/5857 * @daikankan made their first contribution in https://github.com/ultralytics/yolov5/pull/5864 * @lizeng614 made their first contribution in https://github.com/ultralytics/yolov5/pull/5907 * @greg2451 made their first contribution in https://github.com/ultralytics/yolov5/pull/5911 * @youyuxiansen made their first contribution in https://github.com/ultralytics/yolov5/pull/5940 * @pasmai made their first contribution in https://github.com/ultralytics/yolov5/pull/5946 * @yonomitt made their first contribution in https://github.com/ultralytics/yolov5/pull/5945 * @jinmc made their first contribution in https://github.com/ultralytics/yolov5/pull/5972 * @jedi007 made their first contribution in https://github.com/ultralytics/yolov5/pull/6074 * @awsaf49 made their first contribution in https://github.com/ultralytics/yolov5/pull/6085 * @cmoseses made their first contribution in https://github.com/ultralytics/yolov5/pull/6087 * @bilzard made their first contribution in https://github.com/ultralytics/yolov5/pull/6152 * @pre-commit-ci made their first contribution in https://github.com/ultralytics/yolov5/pull/6177 * @yinrong made their first contribution in https://github.com/ultralytics/yolov5/pull/6183 * @dart-bird made their first contribution in https://github.com/ultralytics/yolov5/pull/6243 * @hdnh2006 made their first contribution in https://github.com/ultralytics/yolov5/pull/6299 * @Otfot made their first contribution in https://github.com/ultralytics/yolov5/pull/6318 * @johnk2hawaii made their first contribution in https://github.com/ultralytics/yolov5/pull/6353 * @sitecao made their first contribution in https://github.com/ultralytics/yolov5/pull/6324 * @haimat made their first contribution in https://github.com/ultralytics/yolov5/pull/6365 * @JonathanSamelson made their first contribution in https://github.com/ultralytics/yolov5/pull/6421 * @motokimura made their first contribution in https://github.com/ultralytics/yolov5/pull/6406 * @toschi23 made their first contribution in https://github.com/ultralytics/yolov5/pull/6436 * @MattVAD made their first contribution in https://github.com/ultralytics/yolov5/pull/6567 * @chf4850 made their first contribution in https://github.com/ultralytics/yolov5/pull/6581 * @or-toledano made their first contribution in https://github.com/ultralytics/yolov5/pull/6606 * @SamuelYvon made their first contribution in https://github.com/ultralytics/yolov5/pull/6701 * @RaffaeleGalliera made their first contribution in https://github.com/ultralytics/yolov5/pull/6686 </details>

Full Changelog: https://github.com/ultralytics/yolov5/compare/v6.0...v6.1

Files

ultralytics/yolov5-v6.1.zip

Files (887.4 kB)

Name Size Download all
md5:56b73d528d96495ac8a1056f8bb2eb59
887.4 kB Preview Download

Additional details

Related works