Planned intervention: On Wednesday April 3rd 05:30 UTC Zenodo will be unavailable for up to 2-10 minutes to perform a storage cluster upgrade.

There is a newer version of the record available.

Published August 17, 2022 | Version v6.2
Software Open

ultralytics/yolov5: v6.2 - YOLOv5 Classification Models, Apple M1, Reproducibility, ClearML and Deci.ai integrations

  • 1. @ultralytics
  • 2. Jacobs JETS @ NASA Johnson Space Center
  • 3. Grid.ai | PytorchLightning
  • 4. MarkAny
  • 5. 罗布乐思
  • 6. Dakewe Biotech Co., Ltd.
  • 7. @frc5431 @Rebirth-of-the-Night
  • 8. @zealabs
  • 9. 别怕失败,大不了从头来过
  • 10. @unleashlive, @ultralytics
  • 11. North Carolina State University
  • 12. Technische Universität München
  • 13. Ephesoft
  • 14. Orobix

Description

This release incorporates 401 PRs from 41 contributors since our last release in February 2022. It adds Classification training, validation, prediction and export (to all 11 formats), and also provides ImageNet-pretrained YOLOv5m-cls, ResNet (18, 34, 50, 101) and EfficientNet (b0-b3) models.

My main goal with this release is to introduce super simple YOLOv5 classification workflows just like our existing object detection models. The new v6.2 YOLOv5-cls models below are just a start, we will continue to improve these going forward together with our existing detection models. We'd love your contributions on this effort!

Our next release, v6.3 is scheduled for September and will bring official instance segmentation support to YOLOv5, with a major v7.0 release later this year updating architectures across all 3 tasks - classification, detection and segmentation.

New Classification Model Usage Examples Train

YOLOv5 classification training supports auto-download of MNIST, Fashion-MNIST, CIFAR10, CIFAR100, Imagenette, Imagewoof, and ImageNet datasets with the --data argument. To start training on MNIST for example use --data mnist.

# Single-GPU
python classify/train.py --model yolov5s-cls.pt --data cifar100 --epochs 5 --img 224 --batch 128

# Multi-GPU DDP
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 classify/train.py --model yolov5s-cls.pt --data imagenet --epochs 5 --img 224 --device 0,1,2,3
Val

Validate accuracy on a pretrained model. To validate YOLOv5m-cls accuracy on ImageNet.

bash data/scripts/get_imagenet.sh --val  # download ImageNet val split (6.3G, 50000 images)
python classify/val.py --weights yolov5m-cls.pt --data ../datasets/imagenet --img 224  # validate
Predict

Run a classification prediction on an image.

python classify/predict.py --weights yolov5s-cls.pt --data data/images/bus.jpg
model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5s-cls.pt')  # load from PyTorch Hub
Export

Export a group of trained YOLOv5-cls, ResNet and EfficientNet models to ONNX and TensorRT.

python export.py --weights yolov5s-cls.pt resnet50.pt efficientnet_b0.pt --include onnx engine --img 224
Important Updates New Classification Checkpoints

We trained YOLOv5-cls classification models on ImageNet for 90 epochs using a 4xA100 instance, and we trained ResNet and EfficientNet models alongside with the same default training settings to compare. We exported all models to ONNX FP32 for CPU speed tests and to TensorRT FP16 for GPU speed tests. We ran all speed tests on Google Colab Pro for easy reproducibility.

Model size<br><sup>(pixels) accuracy<br><sup>top1 accuracy<br><sup>top5 Train time<br><sup>90 epochs<br>4x A100 (hours) Speed<br><sup>ONNX-CPU<br>(ms) Speed<br><sup>TensorRT-V100<br>(ms) params<br><sup>(M) FLOPs<br><sup>@224 (B)
YOLOv5n-cls 224 64.6 85.4 7:59 3.3 0.5 2.5 0.5
YOLOv5s-cls 224 71.5 90.2 8:09 6.6 0.6 5.4 1.4
YOLOv5m-cls 224 75.9 92.9 10:06 15.5 0.9 12.9 3.9
YOLOv5l-cls 224 78.0 94.0 11:56 26.9 1.4 26.5 8.5
YOLOv5x-cls 224 79.0 94.4 15:04 54.3 1.8 48.1 15.9
ResNet18 224 70.3 89.5 6:47 11.2 0.5 11.7 3.7
ResNet34 224 73.9 91.8 8:33 20.6 0.9 21.8 7.4
ResNet50 224 76.8 93.4 11:10 23.4 1.0 25.6 8.5
ResNet101 224 78.5 94.3 17:10 42.1 1.9 44.5 15.9
EfficientNet_b0 224 75.1 92.4 13:03 12.5 1.3 5.3 1.0
EfficientNet_b1 224 76.4 93.2 17:04 14.9 1.6 7.8 1.5
EfficientNet_b2 224 76.6 93.4 17:10 15.9 1.6 9.1 1.7
EfficientNet_b3 224 77.7 94.0 19:19 18.9 1.9 12.2 2.4
  • All checkpoints are trained to 90 epochs with SGD optimizer with lr0=0.001 at image size 224 and all default settings. Runs logged to https://wandb.ai/glenn-jocher/YOLOv5-Classifier-v6-2.
  • Accuracy values are for single-model single-scale on ImageNet-1k dataset.<br>Reproduce by python classify/val.py --data ../datasets/imagenet --img 224
  • Speed averaged over 100 inference images using a Colab Pro V100 High-RAM instance.<br>Reproduce by python classify/val.py --data ../datasets/imagenet --img 224 --batch 1
  • Export to ONNX at FP32 and TensorRT at FP16 done with export.py. <br>Reproduce by python export.py --weights yolov5s-cls.pt --include engine onnx --imgsz 224
Changelog <details> <summary>🛠️ New Features and Bug Fixes (401)</summary> * Pre-commit table fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6744 * Update tutorial.ipynb (2 CPUs, 12.7 GB RAM, 42.2/166.8 GB disk) by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6767 * Update min warmup iterations from 1k to 100 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6768 * Default `OMP_NUM_THREADS=8` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6770 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6771 * Update hyp.VOC.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6772 * Fix export for 1-channel images by @lcombaldieu in https://github.com/ultralytics/yolov5/pull/6780 * Update EMA decay `tau` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6769 * YOLOv5s6 params FLOPs fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6782 * Update PULL_REQUEST_TEMPLATE.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6783 * Update autoanchor.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6794 * Update sweep.yaml by @lcombaldieu in https://github.com/ultralytics/yolov5/pull/6825 * AutoAnchor improved initialization robustness by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6854 * Add `*.ts` to `VID_FORMATS` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6859 * Update `--cache disk` deprecate `*_npy/` dirs by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6876 * Update yolov5s.yaml by @vnekat in https://github.com/ultralytics/yolov5/pull/6865 * Default FP16 TensorRT export by @DavidBaldsiefen in https://github.com/ultralytics/yolov5/pull/6798 * Bump actions/setup-python from 2 to 3 by @dependabot in https://github.com/ultralytics/yolov5/pull/6880 * Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/ultralytics/yolov5/pull/6881 * Fix TRT `max_workspace_size` deprecation notice by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6856 * Update bytes to GB with bit shift by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6886 * Move `git_describe()` to general.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6918 * PyTorch 1.11.0 compatibility updates by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6932 * Optimize PyTorch 1.11.0 compatibility update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6933 * Allow 3-point segments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6938 * Fix PyTorch Hub export inference shapes by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6949 * DetectMultiBackend() `--half` handling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6945 * Update Dockerfile `torch==1.11.0+cu113` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6954 * New val.py `cuda` variable by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6957 * DetectMultiBackend() return `device` update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6958 * Tensor initialization on device improvements by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6959 * EdgeTPU optimizations by @paradigmn in https://github.com/ultralytics/yolov5/pull/6808 * Model `ema` key backward compatibility fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6972 * YOLOv5 Export Benchmarks for GPU by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6963 * Update TQDM bar format by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6988 * Conditional `Timeout()` by OS (disable on Windows) by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7013 * fix: add default PIL font as fallback by @maxstrobel in https://github.com/ultralytics/yolov5/pull/7010 * Consistent saved_model output format by @MrinalJain17 in https://github.com/ultralytics/yolov5/pull/7032 * `ComputeLoss()` indexing/speed improvements by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7048 * Update Dockerfile to `git clone` instead of `COPY` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7053 * Create SECURITY.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7054 * Fix incomplete URL substring sanitation by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7056 * Use PIL to eliminate chroma subsampling in crops by @LaserBorg in https://github.com/ultralytics/yolov5/pull/7008 * Fix `check_anchor_order()` in pixel-space not grid-space by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7060 * Update detect.py non-inplace with `y.tensor_split()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7062 * Update common.py lists for tuples by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7063 * Update W&B message to `LOGGER.info()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7064 * Update __init__.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7065 * Add non-zero `da` `check_anchor_order()` condition by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7066 * Fix2 `check_anchor_order()` in pixel-space not grid-space by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7067 * Revert "Update detect.py non-inplace with `y.tensor_split()`" by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7074 * Update loss.py with `if self.gr < 1:` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7087 * Update loss for FP16 `tobj` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7088 * Display model name in model summary by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7101 * `torch.split()` 1.7.0 compatibility fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7102 * Update benchmarks significant digits by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7103 * Model summary `pathlib` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7104 * Remove named arguments where possible by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7105 * Multi-threaded VisDrone and VOC downloads by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7108 * `np.fromfile()` Chinese image paths fix by @yeshanliu in https://github.com/ultralytics/yolov5/pull/6979 * Add PyTorch Hub `results.save(labels=False)` option by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7129 * Fix `cv2.imwrite` on non-ASCII paths by @CCRcmcpe in https://github.com/ultralytics/yolov5/pull/7139 * Fix `detect.py --view-img` for non-ASCII paths by @Zengyf-CVer in https://github.com/ultralytics/yolov5/pull/7093 * Add Architecture Summary to README Tutorials by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7146 * Adjust NMS time limit warning to batch size by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7156 * Sidestep `os.path.relpath()` Windows bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7158 * NMS unused variable fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7161 * `yolo.py --profile` updates by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7170 * Revert `C3()` change by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7172 * Bump actions/cache from 2.1.7 to 3 by @dependabot in https://github.com/ultralytics/yolov5/pull/7175 * yolo.py profiling updates by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7178 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7212 * `ENV OMP_NUM_THREADS=8` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7215 * Add train.py `--name cfg` option by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7202 * precommit: yapf by @Borda in https://github.com/ultralytics/yolov5/pull/5494 * CLI `fire` prep updates by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7229 * Update .pre-commit-config.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7230 * SavedModel TF Serve Fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7228 * Create CODE_OF_CONDUCT.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7233 * Fix `www.youtube.com` hostname by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7242 * Update minimum Python>=3.7.0 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7247 * Update setup.cfg to `description_file` field by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7248 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7254 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7255 * Fix Flask REST API by @Zengyf-CVer in https://github.com/ultralytics/yolov5/pull/7210 * Export with official `nn.SiLU()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7256 * Refactor out-of-place `Detect()` for reduced ops by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7257 * `torch.split()` replace slicing on out-of-place inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7258 * Export single output only by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7259 * TorchScript single-output fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7261 * Integrate offset into grid by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7262 * [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https://github.com/ultralytics/yolov5/pull/7279 * Update Dockerfile by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7282 * Enable TensorFlow ops for `--nms` and `--agnostic-nms` by @leeflix in https://github.com/ultralytics/yolov5/pull/7281 * Update `cv2.imread()` patch with flags argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7287 * Context manager `open(file) as f` fixes by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7289 * val.py `--weights` and `--data` compatibility check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7292 * Add dataset sizes (zipped) by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7293 * Add `check_requirements(('pycocotools>=2.0',))` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7295 * fix: disable usage of root logger by @maxstrobel in https://github.com/ultralytics/yolov5/pull/7296 * Update export.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7301 * Use `tqdm.auto` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7311 * Add `retry=3` to `download()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7313 * Add callbacks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7315 * Copy wandb param dict before training to avoid overwrites. by @n1mmy in https://github.com/ultralytics/yolov5/pull/7317 * Update Objects365.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7323 * Fix TF export for BottleneckCSP layer by @nrupatunga in https://github.com/ultralytics/yolov5/pull/7330 * Objects365 images GB vs zips GB by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7335 * Simplify callbacks.py return by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7333 * Print dataset scan only `if RANK in (-1, 0)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7337 * Update `_make_grid()` to model `dtype` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7346 * Rename 'MacOS' to 'macOS' by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7349 * Add `python benchmarks.py --test` for export-only by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7350 * Add ONNX export metadata by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7353 * DetectMultiBackend() default `stride=32` by @rglkt in https://github.com/ultralytics/yolov5/pull/7342 * Loss and IoU speed improvements by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7361 * Swap `unsafe_chunk()` for `chunk()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7362 * Delete FUNDING.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7363 * Replace Slack with Community Forum in issues by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7364 * Update ci-testing.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7365 * Bump actions/stale from 4 to 5 by @dependabot in https://github.com/ultralytics/yolov5/pull/7371 * Update optimizer param group strategy by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7376 * Add support for different normalization layers by @vardanagarwal in https://github.com/ultralytics/yolov5/pull/7377 * Dynamic normalization layer selection by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7392 * Add version warning for wandb by @AyushExel in https://github.com/ultralytics/yolov5/pull/7385 * Remove OpenVINO ONNX `opset<=12` check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7398 * Fix EdgeTPU output directory by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7399 * Update `git_describe()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7402 * Remove `tensorrt` pip install check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7439 * Disable `pbar` for DDP ranks > 0 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7440 * Add `--half` support for FP16 CoreML exports with by @Cedric-Perauer in https://github.com/ultralytics/yolov5/pull/7446 * Bump cirrus-actions/rebase from 1.5 to 1.6 by @dependabot in https://github.com/ultralytics/yolov5/pull/7462 * Update val.py by @HERIUN in https://github.com/ultralytics/yolov5/pull/7478 * Improved non-latin `Annotator()` plotting by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7488 * `check_fonts()` download to `CONFIG_DIR` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7489 * Fix val.py Ensemble() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7490 * Added `YOLOv5_AUTOINSTALL` environment variable by @jkocherhans in https://github.com/ultralytics/yolov5/pull/7505 * Refactor Dockerfiles to `utils/docker` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7510 * Add yesqa to precommit checks by @Zengyf-CVer in https://github.com/ultralytics/yolov5/pull/7511 * Fix val `plots=plots` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7524 * Reduce val device transfers by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7525 * Add Docker `--file` argument to build by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7527 * Empty val batch CUDA device fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7539 * Autoinstall TensorRT if missing by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7537 * Add mdformat to precommit checks and update other version by @Zengyf-CVer in https://github.com/ultralytics/yolov5/pull/7529 * Update precommit monthly python 3.7+ by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7542 * Update downloads.py current release by @Powercube7 in https://github.com/ultralytics/yolov5/pull/7541 * Update check_requirements() with `cmds=()` argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7543 * Add `--noplots` flag to suppress figures and images logging by @AyushExel in https://github.com/ultralytics/yolov5/pull/7534 * Improve availability of YOLOv5 in Russia by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7545 * Update restapi.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7309 * Restrict TRT autoinstall to Linux-only by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7549 * PyTorch Hub `_verbose=False` fix2 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7550 * Enable `results.print()` when `_verbose=False` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7558 * Add `print(results)` override for PyTorch Hub results by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7559 * TensorRT PyTorch Hub inference fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7560 * Add PyTorch-only benchmark arg by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7564 * Fix `from yolov5 import utils` statement by @Jack24658735 in https://github.com/ultralytics/yolov5/pull/7578 * Remove `tqdm.auto` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7599 * Add `--half` support for OpenVINO exports by @djmmoss in https://github.com/ultralytics/yolov5/pull/7615 * `increment_path()` robustness improvements by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7628 * Reduce `opencv-python>=4.1.1` for Jetson Nano by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7645 * Bump `scipy>=1.5` to meet numpy constraints by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7646 * Update plot.py by @sylvanding in https://github.com/ultralytics/yolov5/pull/7654 * Bump github/codeql-action from 1 to 2 by @dependabot in https://github.com/ultralytics/yolov5/pull/7665 * Disallow `--dynamic` when `--half` is passed by @dmatos2012 in https://github.com/ultralytics/yolov5/pull/7669 * Update Dockerfile-cpu to force python3.9 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7675 * Pin Docker-cpu `FROM ubuntu:20.04` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7677 * FROM nvcr.io/nvidia/pytorch:22.04-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7680 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7686 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7715 * Update `on_train_end` callback by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7716 * Report fused model summary by default by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7722 * Ability to download older assets by @CristiFati in https://github.com/ultralytics/yolov5/pull/7767 * Pin downloads to release version by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7790 * Implement DDP `static_graph=True` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6940 * Add smoothing to curve plots and max F1 index by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7798 * Add Dockerfile-M1 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7720 * Add random interpolation method augmentation by @developer0hye in https://github.com/ultralytics/yolov5/pull/6826 * Rename `utils/datasets.py` -> `utils/dataloaders.py` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7799 * Add `@threaded` decorator by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7813 * Add Python version output by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7814 * Refactor collections and fstrings by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7821 * Refactor modules by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7823 * YOLOv5 OpenVINO PyTorch Hub inference fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7826 * New TensorFlow `TFDWConv()` module by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7824 * Bump cirrus-actions/rebase from 1.6 to 1.7 by @dependabot in https://github.com/ultralytics/yolov5/pull/7831 * New TensorFlow `TFCrossConv()` module by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7827 * Fix TFDWConv() `c1 == c2` check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7842 * Replace `openvino-dev` with OpenVINO Runtime inference by @GabrielDornelles in https://github.com/ultralytics/yolov5/pull/7843 * TFDWConv() `depthwise_initializer` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7845 * Update Dockerfile `--no-install-recommends` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7846 * Update CI CPU badge by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7855 * Create docker.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7856 * Update Dockerfile-cpu install `libpython3.8-dev` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7857 * Add TFDWConv() `depth_multiplier` arg by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7858 * Update Dockerfile-arm64 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7860 * Invert Docker Image publishing order by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7877 * Removed shell=True from subprocess commands that require user inputs by @JWLee89 in https://github.com/ultralytics/yolov5/pull/7875 * Added Windows cmd to count GPU devices by @xylieong in https://github.com/ultralytics/yolov5/pull/7891 * Bug fix mAP0.5-0.95 by @lebedevdes in https://github.com/ultralytics/yolov5/pull/6787 * `cv2.resize` interpolation fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7903 * Add `DWConvTranspose2d()` module by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7881 * Add `check_yaml()` to benchmarks.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7916 * Add `--keras` argument for TF exports by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7921 * Add PyTorch AMP check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7917 * Code refactor by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7923 * AMP check image download backup by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7936 * Fix AMP check tolerance by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7937 * Windows `check_file()` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7938 * Add OpenVINO metadata to export by @xylieong in https://github.com/ultralytics/yolov5/pull/7947 * OpenVINO metadata fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7952 * OpenVINO metadata fix2 by @xylieong in https://github.com/ultralytics/yolov5/pull/7954 * YOLOv5 Apple Metal Performance Shader (MPS) support by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7878 * Increase NMS time limit to 50 ms/img by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7956 * Increase NMS fixed time limit 300ms + 30ms/img by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7957 * AMP check improvements backup YOLOv5n pretrained by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7959 * Update greetings.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7965 * Update requirements.txt with Usage example by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7966 * Remove `formats` variable to avoid `pd` conflict by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7993 * `check_requirements()` Windows fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7997 * Add `psutil` and `ipython` to requirements.txt by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7998 * cURL download double quotes by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7999 * Update and add benchmarks to ci-testing.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7996 * Add warning emoji ⚠️ on `--conf > 0.001` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8005 * Update CI benchmarks to ONNX autoinstall by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8008 * Pin CI `protobuf==3.20.1` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8015 * `check_requirements()` "" Windows double quote by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8016 * Add requirements.txt `protobuf<=3.20.1` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8017 * Add best.pt PyTorch Hub inference to CI by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8024 * Add Dockerfile descriptions by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8031 * Simplify and fix `--save-period` epoch 0 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8042 * `.detach()` on bias init by @tcmyxc in https://github.com/ultralytics/yolov5/pull/8044 * `attempt_load()` deserialize fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8051 * Fix FP32 TensorRT model export by @SahilChachra in https://github.com/ultralytics/yolov5/pull/8046 * Make Docker actions conditional on `ultralytics/yolov5` repo by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8060 * Update stale.yml to 300 ops per run by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8061 * Fix torch `long` to `float` tensor on HUB macOS by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8067 * Improved dataset error introspection by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8091 * experimental.py Apple MPS device fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8121 * [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https://github.com/ultralytics/yolov5/pull/8119 * fix(utils): missing edge when resample segments by @HRan2004 in https://github.com/ultralytics/yolov5/pull/8092 * AutoBatch checks against failed solutions by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8159 * FROM nvcr.io/nvidia/pytorch:22.05-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8162 * Docker GPU pip install `opencv-python<4.6.0.66` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8164 * Improved `dataset_stats()` YAML checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8125 * Bump actions/setup-python from 3 to 4 by @dependabot in https://github.com/ultralytics/yolov5/pull/8186 * Reject webcam inference on Colab/Kaggle by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8209 * Remove streaming source sleep period by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8243 * Prefer MPS over CPU if available by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8210 * HUB dataset_stats() error reporting by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8192 * `process_batch()` as numpy arrays by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8254 * Created using Colaboratory by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8255 * `logging.ERROR` on `RANK` not in (0, 1) by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8284 * `device_name="MYRIAD" for Intel NCS2` comment by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8327 * Allow preview resize in detect.py by @RyanHir in https://github.com/ultralytics/yolov5/pull/8318 * Create README_cn.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8344 * Allow detect.py to use video size for initial window size by @NicholasZolton in https://github.com/ultralytics/yolov5/pull/8330 * Revamp Chinese docs by @zhiqwang in https://github.com/ultralytics/yolov5/pull/8350 * Fix bias warmup LR init by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8356 * Add File Size (MB) column to benchmarks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8359 * Update protobuf requirement from <=3.20.1 to <4.21.3 by @dependabot in https://github.com/ultralytics/yolov5/pull/8346 * Fix ONNX `--dynamic` export on GPU by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8378 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8380 * Implementation of Early Stopping for DDP training by @giacomoguiduzzi in https://github.com/ultralytics/yolov5/pull/8345 * Improve `--local_rank` arg comment by @pourmand1376 in https://github.com/ultralytics/yolov5/pull/8409 * Update cache comments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8414 * TRT `--half` fix autocast images to FP16 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8435 * Expose OpenVINO `batch_size` similarly to TensorRT by @democat3457 in https://github.com/ultralytics/yolov5/pull/8437 * Do not prefer Apple MPS by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8446 * Update stale.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8465 * [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https://github.com/ultralytics/yolov5/pull/8470 * Exclude torch==1.12.0, torchvision==0.13.0 (Fix #8395) by @mjun0812 in https://github.com/ultralytics/yolov5/pull/8497 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8507 * Training reproducibility improvements by @AyushExel in https://github.com/ultralytics/yolov5/pull/8213 * Revert "Expose OpenVINO `batch_size` similarly to TensorRT" by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8510 * Avoid FP64 ops for MPS support in train.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8511 * Fix ap calculation bug #8464 by @UnglvKitDe in https://github.com/ultralytics/yolov5/pull/8484 * Add `--hard-fail` argument to benchmarks for CI errors by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8513 * Simplify benchmarks.py assertions by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8515 * Properly expose `batch_size` from OpenVINO similarly to TensorRT by @democat3457 in https://github.com/ultralytics/yolov5/pull/8514 * Add `--half` arguments to export.py Usage examples by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8516 * XML export `--half` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8522 * Fix `LoadImages()` with dataset YAML lists by @democat3457 in https://github.com/ultralytics/yolov5/pull/8517 * val.py `assert ncm == nc` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8545 * CIoU protected divides by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8546 * Update metrics.py with IoU protected divides by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8550 * Add TensorRT dependencies by @Zengyf-CVer in https://github.com/ultralytics/yolov5/pull/8553 * Add `thop>=0.1.0` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8558 * Raise error on suffix-less model path by @democat3457 in https://github.com/ultralytics/yolov5/pull/8561 * Assert `--optimize` not used with cuda device by @democat3457 in https://github.com/ultralytics/yolov5/pull/8569 * Update requirements.txt comment spacing by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8562 * Explicitly set `weight_decay` value by @developer0hye in https://github.com/ultralytics/yolov5/pull/8592 * Update `scipy>=1.7.3` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8595 * Update `tqdm>=4.64.0` and `thop>=0.1.1` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8596 * Add `pip install wheel` to avoid legacy `setup.py install` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8597 * Link fuse() to AutoShape() for Hub models by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8599 * FROM nvcr.io/nvidia/pytorch:22.06-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8600 * Refactor optimizer initialization by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8607 * assert torch!=1.12.0 for DDP training by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8621 * Fix `OMP_NUM_THREADS=1` for macOS by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8624 * Upgrade onnxsim to v0.4.1 by @daquexian in https://github.com/ultralytics/yolov5/pull/8632 * Check TensorBoard logger before adding graph by @JarnoRFB in https://github.com/ultralytics/yolov5/pull/8664 * Use contextlib's suppress method to silence an error by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8668 * Update hubconf.py to reset LOGGER.level after load by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8674 * Update warning emojis by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8678 * Update hubconf.py to reset logging level to INFO by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8680 * Add generator and worker seed by @UnglvKitDe in https://github.com/ultralytics/yolov5/pull/8602 * Set `torch.cuda.manual_seed_all()` for DDP by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8688 * Move .dockerignore to root by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8690 * Faster crop saving by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8696 * Remove `else:` from load_image() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8692 * Avoid cv2 window init code on Windows by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8712 * Update dataloaders.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8714 * New `HUBDatasetStats()` class by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8716 * Fix BGR->RGB Bug in albumentations #8641 by @UnglvKitDe in https://github.com/ultralytics/yolov5/pull/8695 * coremltools>=5.2 for CoreML export by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8725 * Revert "Fix BGR->RGB Bug in albumentations #8641" by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8727 * fix: broken ``is_docker`` check by @maxstrobel in https://github.com/ultralytics/yolov5/pull/8711 * Revert protobuf<=3.20.1 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8742 * Dynamic batch size support for TensorRT by @democat3457 in https://github.com/ultralytics/yolov5/pull/8526 * Fix confusion matrix update when no predictions are made by @jbutle55 in https://github.com/ultralytics/yolov5/pull/8748 * Add val.py no label warning by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8782 * Fix `detect.py --update` list bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8783 * ci-testing.yml Windows-friendly ENV variables by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8794 * Add hubconf.py argparser by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8799 * Print hubconf.py args by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8800 * Update Colab Notebook CI by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8798 * Deprecate torch 1.6.0 `compat _non_persistent_buffers_set` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8797 * `Detect.inplace=False` for multithread-safe inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8801 * Update train.py for `val.run(half=amp)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8804 * Fix val.py 'no labels found bug' by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8806 * Update requirements.txt with tf-cpu and tf-aarch64 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8807 * FROM nvcr.io/nvidia/pytorch:22.07-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8808 * Update ci-testing.yml streamlined tests by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8809 * Check git status on upstream `ultralytics` or `origin` dynamically by @pourmand1376 in https://github.com/ultralytics/yolov5/pull/8694 * Fix Colab-update pre-commit EOF bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8810 * Update .pre-commit-config.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8811 * Update .pre-commit-config.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8812 * Remove `assert not is_docker()` from GitHub checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8813 * Add .git to .dockerignore by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8815 * Add tensor hooks and 10.0 gradient clipping by @UnglvKitDe in https://github.com/ultralytics/yolov5/pull/8598 * Update README.md with contributors.png by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8820 * Remove hook `torch.nan_to_num(x)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8826 * RUN git clone instead of COPY to `/usr/src/app` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8827 * [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https://github.com/ultralytics/yolov5/pull/8828 * Fix missing attr model.model when loading custom yolov model by @jacksonargo in https://github.com/ultralytics/yolov5/pull/8830 * New `smart_resume()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8838 * Self-contained checkpoint `--resume` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8839 * Add check_file(data) i.e. `--data coco128.yaml` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8851 * export.py replace `check_file` -> `check_yaml` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8852 * Update dataloaders.py remove `float64` shapes by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8865 * Fix TensorRT --dynamic excess outputs bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8869 * Single-line TRT dynamic assertion by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8871 * HUBDatasetStats() preview images to 50 quality by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8880 * `--resume` training from URL weights by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8882 * `--resume` training from URL weights fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8884 * Update CI to default Python 3.10 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8883 * ClearML experiment tracking integration by @thepycoder in https://github.com/ultralytics/yolov5/pull/8620 * `smart_optimizer()` improved reporting by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8887 * emoji-safe default logging by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8888 * Fix/improve social media bar by @kalenmike in https://github.com/ultralytics/yolov5/pull/8893 * Update README.md Environments icons by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8895 * Fix anchor incorrectly initialized by @YellowAndGreen in https://github.com/ultralytics/yolov5/pull/8891 * Edge TPU add `--search_delegate` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8902 * Capitalize YouTube by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8903 * About "os.R_OK" in general.py by @19190205wzy in https://github.com/ultralytics/yolov5/pull/8909 * Scope `torchvision.utils.draw_bounding_boxes` import by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8915 * Add `torch==1.7.0` to CI tests by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8916 * Direct download table links by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8917 * Fix `--source 'path/*.jpg'` glob example by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8927 * Deci.ai optimization and deployment Integration by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8928 * Allow train to use zipped content by @kalenmike in https://github.com/ultralytics/yolov5/pull/8940 * Remove DDP `destroy_process_group()` on train end by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8935 * GFLOPs computation fix for classification models by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8954 * New `smart_inference_mode()` conditional decorator by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8957 * Fix windows LOGGER with emojis output by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8958 * Add bash script arguments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8962 * Add `.tar` support for datasets by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8963 * Allow multiple-model serving from Flask REST API by @mpromonet in https://github.com/ultralytics/yolov5/pull/8973 * Colab and Kaggle loggers removeHandler by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8985 * Fix bug with resume by @savchenkoyana in https://github.com/ultralytics/yolov5/pull/8912 </details><details> <summary>😃 New Contributors (41)</summary> * @lcombaldieu made their first contribution in https://github.com/ultralytics/yolov5/pull/6780 * @vnekat made their first contribution in https://github.com/ultralytics/yolov5/pull/6865 * @DavidBaldsiefen made their first contribution in https://github.com/ultralytics/yolov5/pull/6798 * @paradigmn made their first contribution in https://github.com/ultralytics/yolov5/pull/6808 * @maxstrobel made their first contribution in https://github.com/ultralytics/yolov5/pull/7010 * @LaserBorg made their first contribution in https://github.com/ultralytics/yolov5/pull/7008 * @yeshanliu made their first contribution in https://github.com/ultralytics/yolov5/pull/6979 * @CCRcmcpe made their first contribution in https://github.com/ultralytics/yolov5/pull/7139 * @leeflix made their first contribution in https://github.com/ultralytics/yolov5/pull/7281 * @n1mmy made their first contribution in https://github.com/ultralytics/yolov5/pull/7317 * @rglkt made their first contribution in https://github.com/ultralytics/yolov5/pull/7342 * @vardanagarwal made their first contribution in https://github.com/ultralytics/yolov5/pull/7377 * @Cedric-Perauer made their first contribution in https://github.com/ultralytics/yolov5/pull/7446 * @HERIUN made their first contribution in https://github.com/ultralytics/yolov5/pull/7478 * @jkocherhans made their first contribution in https://github.com/ultralytics/yolov5/pull/7505 * @Powercube7 made their first contribution in https://github.com/ultralytics/yolov5/pull/7541 * @Jack24658735 made their first contribution in https://github.com/ultralytics/yolov5/pull/7578 * @djmmoss made their first contribution in https://github.com/ultralytics/yolov5/pull/7615 * @sylvanding made their first contribution in https://github.com/ultralytics/yolov5/pull/7654 * @dmatos2012 made their first contribution in https://github.com/ultralytics/yolov5/pull/7669 * @GabrielDornelles made their first contribution in https://github.com/ultralytics/yolov5/pull/7843 * @JWLee89 made their first contribution in https://github.com/ultralytics/yolov5/pull/7875 * @xylieong made their first contribution in https://github.com/ultralytics/yolov5/pull/7891 * @lebedevdes made their first contribution in https://github.com/ultralytics/yolov5/pull/6787 * @tcmyxc made their first contribution in https://github.com/ultralytics/yolov5/pull/8044 * @SahilChachra made their first contribution in https://github.com/ultralytics/yolov5/pull/8046 * @HRan2004 made their first contribution in https://github.com/ultralytics/yolov5/pull/8092 * @RyanHir made their first contribution in https://github.com/ultralytics/yolov5/pull/8318 * @NicholasZolton made their first contribution in https://github.com/ultralytics/yolov5/pull/8330 * @giacomoguiduzzi made their first contribution in https://github.com/ultralytics/yolov5/pull/8345 * @pourmand1376 made their first contribution in https://github.com/ultralytics/yolov5/pull/8409 * @democat3457 made their first contribution in https://github.com/ultralytics/yolov5/pull/8437 * @mjun0812 made their first contribution in https://github.com/ultralytics/yolov5/pull/8497 * @UnglvKitDe made their first contribution in https://github.com/ultralytics/yolov5/pull/8484 * @daquexian made their first contribution in https://github.com/ultralytics/yolov5/pull/8632 * @JarnoRFB made their first contribution in https://github.com/ultralytics/yolov5/pull/8664 * @jbutle55 made their first contribution in https://github.com/ultralytics/yolov5/pull/8748 * @jacksonargo made their first contribution in https://github.com/ultralytics/yolov5/pull/8830 * @thepycoder made their first contribution in https://github.com/ultralytics/yolov5/pull/8620 * @YellowAndGreen made their first contribution in https://github.com/ultralytics/yolov5/pull/8891 * @19190205wzy made their first contribution in https://github.com/ultralytics/yolov5/pull/8909 * @mpromonet made their first contribution in https://github.com/ultralytics/yolov5/pull/8973 * @savchenkoyana made their first contribution in https://github.com/ultralytics/yolov5/pull/8912 </details>

Files

ultralytics/yolov5-v6.2.zip

Files (944.0 kB)

Name Size Download all
md5:50ea149f021ea17f190f7ea3229b825b
944.0 kB Preview Download

Additional details

Related works