v6.1
版本发布时间: 2022-02-22 19:35:57
ultralytics/yolov5最新发布版本:v7.0(2022-11-22 23:29:09)
This release incorporates many 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).
- hyp-scratch-large.yaml
-
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
YOLOv5-P5 640 Figure (click to expand)
Figure Notes (click to expand)
- COCO AP val denotes mAP@0.5:0.95 metric measured on the 5000-image COCO val2017 dataset over various inference sizes from 256 to 1536.
- GPU Speed measures average inference time per image on COCO val2017 dataset using a AWS p3.2xlarge V100 instance at batch-size 32.
- EfficientDet data from 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
Example YOLOv5l before and after metrics:
YOLOv5l Large |
size (pixels) |
mAPval 0.5:0.95 |
mAPval 0.5 |
Speed CPU b1 (ms) |
Speed V100 b1 (ms) |
Speed V100 b32 (ms) |
params (M) |
FLOPs @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 | 430.0 | 10.1 | 2.7 | 46.5 | 109.1 |
Pretrained Checkpoints
Model | size (pixels) |
mAPval 0.5:0.95 |
mAPval 0.5 |
Speed CPU b1 (ms) |
Speed V100 b1 (ms) |
Speed V100 b32 (ms) |
params (M) |
FLOPs @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 | 12.6 | 16.8 |
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 + TTA |
1280 1536 |
55.0 55.8 |
72.7 72.7 |
3136 - |
26.2 - |
19.4 - |
140.7 - |
209.8 - |
Table Notes (click to expand)
- All checkpoints are trained to 300 epochs with default settings. Nano and Small models use hyp.scratch-low.yaml hyps, all others use hyp.scratch-high.yaml.
-
mAPval values are for single-model single-scale on COCO val2017 dataset.
Reproduce bypython val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65
-
Speed averaged over COCO val images using a AWS p3.2xlarge instance. NMS times (~1 ms/img) not included.
Reproduce bypython val.py --data coco.yaml --img 640 --task speed --batch 1
-
TTA Test Time Augmentation includes reflection and scale augmentations.
Reproduce bypython val.py --data coco.yaml --img 1536 --iou 0.7 --augment
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
New Features and Bug Fixes (271)
- 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 bestbatch-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 underROOT
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
andstudy
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 1permute
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()
tocv2.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
inLoadStreams
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
aftercutout()
by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5873 -
AutoShape()
models asDetectMultiBackend()
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 tobatch_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 ontfjs
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
automaticforward_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 thanis_parallel()
by @imyhxy in https://github.com/ultralytics/yolov5/pull/6354 -
DEVICE_COUNT
instead ofWORLD_SIZE
to calculatenw
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 toYOLOv5_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
fromtrain.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&Blog_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
tomax(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
New Contributors (48)
- @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
Full Changelog: https://github.com/ultralytics/yolov5/compare/v6.0...v6.1
1、 yolov5l.pt 89.29MB
2、 yolov5l6.pt 147.36MB
3、 yolov5m-VOC.pt 40.32MB
4、 yolov5m.pt 40.82MB
5、 yolov5m6.pt 68.96MB
6、 yolov5n-7-k5.pt 3.17MB
7、 yolov5n-7.pt 2.62MB
8、 yolov5n.pt 3.87MB
9、 yolov5n6.pt 6.86MB
10、 yolov5s.pt 14.12MB
11、 yolov5s6.pt 24.78MB
12、 YOLOv5x-7-k5.pt 115.9MB
13、 YOLOv5x-7.pt 101.9MB
14、 yolov5x.pt 166.05MB
15、 yolov5x6.pt 269.62MB