Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Software . 2022
Data sources: Datacite
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Software . 2022
Data sources: ZENODO
addClaim

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

Authors: Glenn Jocher; Ayush Chaurasia; Alex Stoken; Jirka Borovec; NanoCode012; Yonghye Kwon; TaoXie; +22 Authors

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

Abstract

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 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 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 `n

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    67
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Top 1%
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Top 10%
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Top 1%
    OpenAIRE UsageCounts
    Usage byUsageCounts
    visibility views 1K
    download downloads 41
  • 1K
    views
    41
    downloads
    Powered byOpenAIRE UsageCounts
Powered by OpenAIRE graph
Found an issue? Give us feedback
visibility
download
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
views
OpenAIRE UsageCountsViews provided by UsageCounts
downloads
OpenAIRE UsageCountsDownloads provided by UsageCounts
67
Top 1%
Top 10%
Top 1%
1K
41