v6.2 - YOLOv5 Classification Models, Apple M1, Reproducibility, ClearML and Deci.ai integrations
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.
Important Updates
- Classification Models ⭐ NEW: YOLOv5-cls ImageNet-pretrained classification models are now available for the first time (https://github.com/ultralytics/yolov5/pull/8956 by @glenn-jocher)
- ClearML logging ⭐ NEW: Integration with the open-source experiment tracker ClearML. Installing with
pip install clearmlwill enable the integration and allow users to track every training run in ClearML. This in turn allows users to track and compare runs and even schedule runs remotely. (https://github.com/ultralytics/yolov5/pull/8620 by @thepycoder) - Deci.ai optimization ⭐ NEW: Automatically compile and quantize YOLOv5 for better inference performance in one click at Deci (https://github.com/ultralytics/yolov5/pull/8956 by @glenn-jocher).
- GPU Export Benchmarks: Benchmark (mAP and speed) all YOLOv5 export formats with
python utils/benchmarks.py --weights yolov5s.pt --device 0for GPU benchmarks or--device cpufor CPU benchmarks (https://github.com/ultralytics/yolov5/pull/6963 by @glenn-jocher). - Training Reproducibility: Single-GPU YOLOv5 training with
torch>=1.12.0is now fully reproducible, and a new--seedargument can be used (default seed=0) (https://github.com/ultralytics/yolov5/pull/8213 by @AyushExel). - Apple Metal Performance Shader (MPS) Support: MPS support for Apple M1/M2 devices with
--device mps(full functionality is pending torch updates in https://github.com/pytorch/pytorch/issues/77764) (https://github.com/ultralytics/yolov5/pull/7878 by @glenn-jocher)
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
(pixels) | accuracy
top1 | accuracy
top5 | Train time
90 epochs
4x A100 (hours) | Speed
ONNX-CPU
(ms) | Speed
TensorRT-V100
(ms) | params
(M) | FLOPs
@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.001andweight_decay=5e-5at 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.
Reproduce bypython classify/val.py --data ../datasets/imagenet --img 224 - Speed averaged over 100 inference images using a Colab Pro V100 High-RAM instance.
Reproduce bypython classify/val.py --data ../datasets/imagenet --img 224 --batch 1 - Export to ONNX at FP32 and TensorRT at FP16 done with
export.py.
Reproduce bypython export.py --weights yolov5s-cls.pt --include engine onnx --imgsz 224
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 YOLOv5m-cls accuracy on ImageNet-1k dataset:
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
Use pretrained YOLOv5s-cls.pt to predict bus.jpg:
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 YOLOv5s-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
Changelog
- Changes between previous release and this release: https://github.com/ultralytics/yolov5/compare/v6.1...v6.2
- Changes since this release: https://github.com/ultralytics/yolov5/compare/v6.2...HEAD
🛠️ New Features and Bug Fixes (401)
- 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=8by @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
tauby @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
*.tstoVID_FORMATSby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6859 - Update
--cache diskdeprecate*_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_sizedeprecation 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()
--halfhandling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6945 - Update Dockerfile
torch==1.11.0+cu113by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6954 - New val.py
cudavariable by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/6957 - DetectMultiBackend() return
deviceupdate 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
emakey 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 cloneinstead ofCOPYby @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
dacheck_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
tobjby @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
pathlibfix 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.imwriteon non-ASCII paths by @CCRcmcpe in https://github.com/ultralytics/yolov5/pull/7139 - Fix
detect.py --view-imgfor 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 --profileupdates 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=8by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7215- Add train.py
--name cfgoption by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7202 - precommit: yapf by @Borda in https://github.com/ultralytics/yolov5/pull/5494
- CLI
fireprep 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.comhostname 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_filefield 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
--nmsand--agnostic-nmsby @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 ffixes by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7289 - val.py
--weightsand--datacompatibility 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.autoby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7311 - Add
retry=3todownload()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 modeldtypeby @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 --testfor 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=32by @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()forchunk()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<=12check 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
tensorrtpip install check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7439 - Disable
pbarfor DDP ranks > 0 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7440 - Add
--halfsupport 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 toCONFIG_DIRfix 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_AUTOINSTALLenvironment variable by @jkocherhans in https://github.com/ultralytics/yolov5/pull/7505 - Refactor Dockerfiles to
utils/dockerby @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=plotsby @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
--fileargument 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
--noplotsflag 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=Falsefix2 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7550 - Enable
results.print()when_verbose=Falseby @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 utilsstatement by @Jack24658735 in https://github.com/ultralytics/yolov5/pull/7578 - Remove
tqdm.autoby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7599 - Add
--halfsupport 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.1for Jetson Nano by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7645 - Bump
scipy>=1.5to 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
--dynamicwhen--halfis 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.04by @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_endcallback 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=Trueby @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.pyby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7799 - Add
@threadeddecorator 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 == c2check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7842 - Replace
openvino-devwith OpenVINO Runtime inference by @GabrielDornelles in https://github.com/ultralytics/yolov5/pull/7843 - TFDWConv()
depthwise_initializerfix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7845 - Update Dockerfile
--no-install-recommendsby @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-devby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/7857 - Add TFDWConv()
depth_multiplierarg 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.resizeinterpolation 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
--kerasargument 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
formatsvariable to avoidpdconflict 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
psutilandipythonto 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.001by @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.1by @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.1by @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-periodepoch 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/8044attempt_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/yolov5repo 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
longtofloattensor 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.66by @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.ERRORonRANKnot in (0, 1) by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8284device_name="MYRIAD" for Intel NCS2comment 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
--dynamicexport 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_rankarg 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
--halffix autocast images to FP16 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8435 - Expose OpenVINO
batch_sizesimilarly 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_sizesimilarly 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-failargument 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_sizefrom OpenVINO similarly to TensorRT by @democat3457 in https://github.com/ultralytics/yolov5/pull/8514 - Add
--halfarguments to export.py Usage examples by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8516 - XML export
--halffix 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 == ncfix 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.0by @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
--optimizenot 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_decayvalue by @developer0hye in https://github.com/ultralytics/yolov5/pull/8592 - Update
scipy>=1.7.3by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8595 - Update
tqdm>=4.64.0andthop>=0.1.1by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8596 - Add
pip install wheelto avoid legacysetup.py installby @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=1for 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_dockercheck 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 --updatelist 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_setby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8797 Detect.inplace=Falsefor 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
ultralyticsororigindynamically 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/appby @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
--resumeby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8839 - Add check_file(data) i.e.
--data coco128.yamlby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8851 - export.py replace
check_file->check_yamlby @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8852 - Update dataloaders.py remove
float64shapes 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
--resumetraining from URL weights by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8882--resumetraining 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_delegatefix 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_boxesimport by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/8915 - Add
torch==1.7.0to 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
.tarsupport 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
😃 New Contributors (41)
- @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
