959 Commits

Author SHA1 Message Date
Glenn Jocher
eb1217f3ac
Add PyTorch AMP check (#7917)
* Add PyTorch AMP check

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* Cleanup

* Cleanup

* Robust for DDP

* Fixes

* Add amp enabled boolean to check_train_batch_size

* Simplify

* space to prefix

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-22 13:41:18 +02:00
Glenn Jocher
15057d2a34
Add check_yaml() to benchmarks.py (#7916)
Locate file in subdirectories.
2022-05-21 19:39:19 +02:00
Glenn Jocher
a9a92aec5c
cv2.resize interpolation fix (#7903)
Fix for https://github.com/ultralytics/yolov5/discussions/7901
2022-05-20 12:59:05 +02:00
Anton Lebedev
43569d53da
Bug fix mAP0.5-0.95 (#6787)
* Improve mAP0.5-0.95

Two changes provided
1. Added limit on the maximum number of detections for each image likewise pycocotools
2. Rework process_batch function

Changes #2 solved issue #4251
I also independently encountered the problem described in issue #4251 that the values for the same thresholds do not match when changing the limits in the torch.linspace function.
These changes solve this problem.

Currently during validation yolov5x.pt model the following results were obtained:
from yolov5 validation
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100%|██████████| 157/157 [01:07<00:00,  2.33it/s]
                 all       5000      36335      0.743      0.626      0.682      0.506
from pycocotools
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.505
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.685

These results are very close, although not completely pass the competition issue #2258.
I think it's problem with false positive bboxes matched ignored criteria, but this is not actual for custom datasets and does not require an additional solution.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove line to retain pycocotools results

* Update val.py

* Update val.py

* Remove to device op

* Higher precision int conversion

* Update val.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-20 11:33:10 +02:00
xylieong
f43cd53d44
Added Windows cmd to count GPU devices (#7891)
* Added Windows cmd to count GPU devices

* Cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-05-19 15:48:44 +02:00
Glenn Jocher
9a7f289eed
Update Dockerfile-arm64 (#7860)
* Update Dockerfile-arm64

* Update docker.yml
2022-05-17 16:35:12 +02:00
Glenn Jocher
91c82d8f92
Update Dockerfile-cpu install libpython3.8-dev (#7857)
* Update Dockerfile-cpu install `libpython3.8-dev`

Fix OpenVINO export

* Update Dockerfile-arm64
2022-05-17 15:09:10 +02:00
Glenn Jocher
d7d2b10f69
Create docker.yml (#7856)
* Create docker.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docker.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docker.yml

* Update docker.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* Cleanup2

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-17 14:11:38 +02:00
Glenn Jocher
614ef110b3
Update Dockerfile --no-install-recommends (#7846)
* Update Dockerfile-cpu `--no-install-recommends`

Per https://ubuntu.com/blog/we-reduced-our-docker-images-by-60-with-no-install-recommends

* Update Dockerfile-M1

* Update Dockerfile

* Update Dockerfile-M1

* Update Dockerfile-cpu
2022-05-17 01:29:23 +02:00
Glenn Jocher
f00071416f
Refactor collections and fstrings (#7821)
* Update torch_utils.py

* Additional code refactoring

* tuples to sets

* Cleanup
2022-05-15 16:38:26 +02:00
Glenn Jocher
3356f2609c
Add Python version output (#7814) 2022-05-14 18:30:47 +02:00
Glenn Jocher
4a295b1a89
Add @threaded decorator (#7813)
* Add `@threaded` decorator

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-14 16:12:08 +02:00
Glenn Jocher
9d8ed37df7
Rename utils/datasets.py > utils/dataloaders.py (#7799) 2022-05-13 14:34:16 +02:00
Yonghye Kwon
5a1ef32553
Add random interpolation method augmentation (#6826)
* add random_interpolation option to make model robust to interpolation methods

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix precommit error

* Update augmentations.py

* Update augmentations.py

* Update augmentations.py

* Update datasets.py

* Update datasets.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-05-13 14:26:11 +02:00
Glenn Jocher
5e077bfd39
Add Dockerfile-M1 (#7720)
* Add Dockerfile-M1

* Update

* Update

* Update Dockerfile-M1
2022-05-13 14:15:21 +02:00
Glenn Jocher
8a4175cde0
Add smoothing to curve plots and max F1 index (#7798)
@sergiossm
2022-05-13 13:53:21 +02:00
Glenn Jocher
f3fecf94a9
Pin downloads to release version (#7790)
* Pin downloads to release version

Fixes a release version to avoid forward-compatibility issues in future releases.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-13 00:24:53 +02:00
Cristi Fati
4870064629
Ability to dowlnoad older assets (#7767)
* Ability to dowlnoad older assets

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* Cleanup2

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-05-11 12:52:10 +02:00
Glenn Jocher
aa7a0e91b1
Update on_train_end callback (#7716) 2022-05-05 21:25:13 -07:00
Glenn Jocher
d4ea61e043
FROM nvcr.io/nvidia/pytorch:22.04-py3 (#7680)
* FROM nvcr.io/nvidia/pytorch:22.04-py3

* Update Docker

* Update Docker

* Update Docker

* Update Docker

* Update TRT auto-install

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* Cleanup

* Cleanup cpu

* Cleanup cpu

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-03 13:47:30 -07:00
Glenn Jocher
e305aba686
Pin Docker-cpu FROM ubuntu:20.04 (#7677) 2022-05-02 23:27:24 -07:00
Glenn Jocher
c4862fcd31
Update Dockerfile-cpu to force python3.9 (#7675)
* Update

* Update

* Do not install torch

* Pillow>9.1

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile-cpu

* Update Dockerfile

* fix emoji

* reduce scipy

* add libpython3.9

* Update Dockerfile
2022-05-02 20:53:02 -07:00
SylvanDing
5743deb9df
Update plot.py (#7654)
fix bug in issue #7650
2022-04-30 20:01:21 -07:00
Glenn Jocher
1a3ecb8b38
increment_path() robustness improvements (#7628)
Improved robustness to filename edge cases like `data/images/zidane.23.jpg` that currently fail. May resolve https://github.com/ultralytics/yolov5/issues/7432
2022-04-28 14:00:43 -07:00
Glenn Jocher
b53917de8d
Remove tqdm.auto (#7599) 2022-04-26 15:00:01 -07:00
Glenn Jocher
e54e758cfb
Add PyTorch-only benchmark arg (#7564)
Usage:
```
python utils/benchmarks.py --weights yolov5s.pt --img 640 --pt-only
```
2022-04-24 20:03:23 -07:00
Glenn Jocher
7043872f25
PyTorch Hub _verbose=False fix2 (#7550)
* PyTorch Hub `_verbose=False` fix2

* Update downloads.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update hubconf.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-23 11:26:25 -07:00
Glenn Jocher
404b4fefbe
Update restapi.py (#7309)
* Update restapi.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update restapi.py

* Update restapi.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update restapi.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-22 16:19:21 -07:00
Glenn Jocher
3a89377c04
Improve availability of YOLOv5 in Russia (#7545)
* Add redundant weights download mirrors

This PR seeks to improve access worldwide to YOLOv5 weights. Universal access to AI for all is our core value, and we are against any censorship or restriction efforts.

I've uploaded the official YOLOv5 v6.1 weights to a primary backup bucket on GCP and to secondary backup on Google Drive at https://drive.google.com/drive/folders/1EFQTEUeXWSFww0luse2jB9M1QNZQGwNl. Autodownload with try the first two locations (GitHuB release assets and GCP bucket), and point users to the Google Drive folder if the first two fail.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-22 16:07:33 -07:00
Ayush Chaurasia
4cac1cfc8f
Add --noplots flag to suppress figures and images logging (#7534)
* support nomedia

* support nomedia for validation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update train.py

* Revert no plot evolve

evolve plots do not contain any images

* Revert plot_results

contains no media

* Update wandb_utils.py

* sync-bn cleanup

* Cleanup

* Rename nomedia -> noplots

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-04-22 15:04:08 -07:00
Glenn Jocher
f62609eb52
Update check_requirements() with cmds=() argument (#7543) 2022-04-22 14:31:05 -07:00
Powercube7
4b284a12c7
Update downloads.py current release (#7541)
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-04-22 13:44:54 -07:00
Zengyf-CVer
c264795f50
Add mdformat to precommit checks and update other version (#7529)
* Update .pre-commit-config.yaml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update .pre-commit-config.yaml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update CONTRIBUTING.md

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-04-22 13:36:27 -07:00
Glenn Jocher
b804b36bc4
Add Docker --file argument to build (#7527) 2022-04-21 20:31:26 -07:00
Glenn Jocher
918d7b2b3f
Refactor Dockerfiles to utils/docker (#7510)
* Refactor Docker files

* Refactor Docker files

* Update Dockerfile
2022-04-20 14:23:55 -07:00
Joseph Kocherhans
b77c8d9d72
Added YOLOv5_AUTOINSTALL environment variable (#7505)
* Added a way to skip dependency auto-installation.

Setting the environment variable `YOLOv5_AUTOINSTALL=False` will
skip installing any missing dependencies as if the user had passed
`install=False` to `check_requirements`.

* Cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-04-20 12:08:22 -07:00
Glenn Jocher
ab5b917494
check_fonts() download to CONFIG_DIR fix (#7489)
Follows https://github.com/ultralytics/yolov5/pull/7488. Correct bug where fonts were downloading to current working directory rather than global CONFIG_DIR
2022-04-19 17:50:02 -07:00
Glenn Jocher
c9042dc2ad
Improved non-latin Annotator() plotting (#7488)
* Improved non-latin labels Annotator plotting

May resolve https://github.com/ultralytics/yolov5/issues/7460

* Update train.py

* Update train.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add progress arg

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-19 17:32:15 -07:00
Glenn Jocher
c9a3b14a74
Disable pbar for DDP ranks > 0 (#7440) 2022-04-16 15:12:38 +02:00
Glenn Jocher
014acde79d
Update git_describe() (#7402)
* Update `git_describe()`

Add .git path check to avoid `fatal: not a git repository (or any of the parent directories): .git` printout

* Update general.py
2022-04-12 17:26:53 +02:00
Ayush Chaurasia
74aaab3312
Add version warning for wandb (#7385)
* add version warning

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update __init__.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-04-12 11:46:56 +02:00
Glenn Jocher
1993efd59e
Swap unsafe_chunk() for chunk() (#7362)
Eliminates all unsafe function in YOLOv5 out of an abundance of caution.
2022-04-10 13:53:28 +02:00
Glenn Jocher
406ee528f0
Loss and IoU speed improvements (#7361)
* Loss speed improvements

* bbox_iou speed improvements

* bbox_ioa speed improvements

* box_iou speed improvements

* box_iou speed improvements
2022-04-10 13:46:07 +02:00
Glenn Jocher
698a5d7f26
Add python benchmarks.py --test for export-only (#7350)
* Test exports

* Fix precommit
2022-04-09 01:32:16 +02:00
Glenn Jocher
446e6f563a
Rename 'MacOS' to 'macOS' (#7349) 2022-04-08 23:05:15 +02:00
Glenn Jocher
5f941a84ef
Print dataset scan only if RANK in (-1, 0) (#7337)
* Print dataset scan only `if RANK in (-1, 0)`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-07 16:44:08 +02:00
Glenn Jocher
676e10cf1a
Simplify callbacks.py return (#7333)
* Simplify callbacks.py return

* Indent args (pytorch convention)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-07 16:15:01 +02:00
Nick Martin
a88a81469a
Copy wandb param dict before training to avoid overwrites (#7317)
* Copy wandb param dict before training to avoid overwrites.

Copy the hyperparameter dict retrieved from wandb configuration before passing it to `train()`. Training overwrites parameters in the dictionary (eg scaling obj/box/cls gains), which causes the values reported in wandb to not match the input values. This is confusing as it makes it hard to reproduce a run, and also throws off wandb's Bayesian sweep algorithm.

* Cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2022-04-06 18:35:33 +02:00
Glenn Jocher
245d6459a9
Add callbacks (#7315)
* Add `on_train_start()` callback

* Update

* Update
2022-04-06 17:23:34 +02:00
Glenn Jocher
32661f75ac
Add retry=3 to download() (#7313)
* Add `retry=3` to `download()`

* Update general.py

* Update general.py

* Update general.py

* Update VOC.yaml

* Update VisDrone.yaml
2022-04-06 13:12:41 +02:00