Commit Graph
100 Commits
Author SHA1 Message Date
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 3bb233a7fb Add ONNX export metadata (#7353) 2022-04-09 13:27:49 +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 302b00b5f4 Update _make_grid() (#7346) 2022-04-08 12:55:16 +02:00
Glenn Jocherandpre-commit-ci[bot] 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 Jocherandpre-commit-ci[bot] 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
Glenn Jocher 5783de26fe Objects365 dataset breakdown images vs zips (#7335) 2022-04-07 16:12:44 +02:00
Glenn Jocher 0ca85ed65f Update Objects365.yaml (#7323)
Updated dataset size to 712GB (includes undeleted zips).
2022-04-06 23:52:19 +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
Glenn Jocher f735458987 Use tqdm.auto (#7311) 2022-04-06 12:20:24 +02:00
Glenn Jocherandpre-commit-ci[bot] d257c75c84 Update export.py (#7301)
* Update export.py

Simplify code.

* [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-05 21:21:57 +02:00
Glenn Jocher c759bbdf19 Add check_requirements(('pycocotools>=2.0',)) (#7295)
Add  `check_requirements(('pycocotools>=2.0',))`
2022-04-05 15:55:16 +02:00
Glenn Jocher b1300f3e0b Add dataset sizes (zipped) (#7293) 2022-04-05 15:14:54 +02:00
Glenn Jocher d2e7ba2a3a val.py --weights and --data compatibility check (#7292)
Improved error messages for understanding of user error with val.py. May help https://github.com/ultralytics/yolov5/issues/7291
2022-04-05 14:23:15 +02:00
Glenn Jocher 5f97001ed4 Context manager open(file) as f fixes (#7289)
* Flask context manager `open()` fix

* Additional read context manager fixes
2022-04-05 12:54:25 +02:00
Glenn Jocher 2181ef371e Update cv2.imread() patch with flags argument (#7287) 2022-04-05 11:49:32 +02:00
Glenn Jocher 2da68664b5 Update Dockerfile (#7282) 2022-04-05 00:52:37 +02:00
Glenn Jocher ea72b84f5e Integrate offset into grid (#7262)
Eliminate 1 op during training and inference.
2022-04-03 23:40:23 +02:00
Glenn Jocher 8bc839ed8e TorchScript single-output fix (#7261) 2022-04-03 22:51:11 +02:00
Glenn Jocherandpre-commit-ci[bot] 05cf0d1a44 Export single output only (#7259)
* Update

* Update

* [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-03 21:29:20 +02:00
Glenn Jocher 779efbb9ca Update 2022-04-03 21:21:55 +02:00
Glenn Jocher ad0e4d5d19 torch.split() replace slicing on out-of-place inference (#7258) 2022-04-03 20:05:50 +02:00
Glenn Jocher 4f839b7970 Refactor out-of-place Detect() for reduced ops (#7257) 2022-04-03 19:26:23 +02:00
Glenn Jocher ffcbd8ca97 Export with official nn.SiLU() (#7256)
* Update

* Update time_limit
2022-04-03 18:45:05 +02:00
Glenn Jocher 035b5548e4 Update tutorial.ipynb (#7255) 2022-04-03 12:18:24 +02:00
Glenn Jocher 3d3483cf0c Update tutorial.ipynb (#7254) 2022-04-03 12:14:12 +02:00
Glenn Jocher 6f4eb95af7 Update setup.cfg to description_file field (#7248)
Resolve `UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead`
2022-04-03 00:18:18 +02:00
Glenn Jocher a19406b39d Update minimum Python>=3.7.0 (#7247) 2022-04-02 15:05:00 +02:00
Glenn Jocher 37675e110f Fix www.youtube.com hostname (#7242)
* Fix `www.youtube.com` hostname

* Update datasets.py
2022-04-01 21:38:49 +02:00
Glenn Jocher 71621df875 Create CODE_OF_CONDUCT.md (#7233) 2022-04-01 00:24:37 +02:00
Glenn Jocher 734ab033fd SavedModel TF Serve Fix (#7228)
* SavedModel TF Serve Fix

Fix for https://github.com/ultralytics/yolov5/issues/7205 proposed by @tylertroy

* Update export.py
2022-04-01 00:07:23 +02:00
Glenn Jocher 4d157f578a Update .pre-commit-config.yaml (#7230) 2022-03-31 17:26:34 +02:00
Glenn Jocher 2c3221844b CLI fire prep updates (#7229)
* CLI fire prep updates

* revert unintentional TF export change
2022-03-31 17:11:43 +02:00
Glenn Jocher df9008ee69 Add train.py --name cfg option (#7202)
Automatically names run as --cfg argument
2022-03-31 13:17:22 +02:00
Glenn Jocher c94736acec ENV OMP_NUM_THREADS=8 (#7215) 2022-03-30 16:01:55 +02:00
Glenn Jocher 9c1e91aea2 Update tutorial.ipynb (#7212) 2022-03-30 12:53:49 +02:00
Glenn Jocherandpre-commit-ci[bot] cf4f3c3455 yolo.py profiling updates (#7178)
* yolo.py profiling updates

* [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-03-29 10:15:53 +02:00
Glenn Jocher ee77632393 Revert C3() change (#7172) 2022-03-28 02:31:00 +02:00
Glenn Jocher 1832264dd6 Update 2022-03-28 02:26:44 +02:00
Glenn Jocher b2194b9015 yolo.py --profile updates (#7170) 2022-03-27 20:24:42 +02:00
Glenn Jocher 7830e91b9a yolo.py --profile default GPU batch size 16 2022-03-26 16:53:42 +01:00
Glenn Jocher 3373aab56c NMS unused variable fix (#7161)
* NMS unused variable fix

* Update general.py
2022-03-26 16:52:58 +01:00
Glenn Jocher e19f87eb4b Sidestep os.path.relpath() Windows bug (#7158)
* Sidestep os.path.relpath() Windows bug

os.path.relpath() seems to have a major bug on Windows due to Windows horrible path handling. This fix attempts to sidestep the issue.

```
File "C:\Users\mkokg/.cache\torch\hub\ultralytics_yolov5_master\export.py", line 64, in
ROOT = Path(os.path.relpath(ROOT, Path.cwd())) # relative
File "C:\Users\mkokg\AppData\Local\Programs\Python\Python310\lib\ntpath.py", line 718, in relpath
raise ValueError("path is on mount %r, start on mount %r" % (
ValueError: path is on mount 'C:', start on mount 'D:'
```

* Update yolo.py

* Update yolo.py

* Update yolo.py

* Update export.py
2022-03-26 14:18:53 +01:00
Glenn Jocher 26bfd44465 Adjust NMS time limit warning to batch size (#7156) 2022-03-26 11:45:28 +01:00
Glenn Jocher 7a2a11893b Add Architecture Summary to README Tutorials (#7146)
* Add Architecture Summary to README Tutorials

Per https://github.com/ultralytics/yolov5/issues/6998#issuecomment-1073517405

* Update README.md
2022-03-25 14:45:23 +01:00
Glenn Jocher a0a4adf6de Add PyTorch Hub results.save(labels=False) option (#7129)
Resolves https://github.com/ultralytics/yolov5/issues/388#issuecomment-1077121821
2022-03-24 11:31:22 +01:00
Glenn Jocher c3ae4e4af6 Multi-threaded VisDrone and VOC downloads (#7108)
* Multi-threaded VOC download

* Update VOC.yaml

* Update

* Update general.py

* Update general.py
2022-03-23 01:19:37 +01:00
Glenn Jocher ecc2c7ba73 Remove named arguments where possible (#7105)
* Remove named arguments where possible

Speed improvements.

* Update yolo.py

* Update yolo.py

* Update yolo.py
2022-03-22 20:44:07 +01:00
Glenn Jocher 6134ec5d94 Model summary pathlib fix (#7104)
Stems not working correctly for YOLOv5l with current .rstrip() implementation. After fix:
```
YOLOv5l summary: 468 layers, 46563709 parameters, 46563709 gradients, 109.3 GFLOPs
```
2022-03-22 20:05:07 +01:00
Glenn Jocher ee0b3b2a95 Update benchmarks significant digits (#7103) 2022-03-22 18:02:35 +01:00
Glenn Jocherandpre-commit-ci[bot] 05aae17333 torch.split() 1.7.0 compatibility fix (#7102)
* Update loss.py

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

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

* Update loss.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-03-22 17:36:05 +01:00
Glenn Jocher a600baed8e Update model summary to display model name (#7101) 2022-03-22 15:41:19 +01:00
Glenn Jocher a2d617ece9 Update loss for FP16 tobj (#7088) 2022-03-21 19:18:34 +01:00
Glenn Jocher 6f128031d0 Update loss.py with if self.gr < 1: (#7087)
* Update loss.py with `if self.gr < 1:`

* Update loss.py
2022-03-21 18:35:36 +01:00
Glenn Jocher 9b771a3e71 Revert "Update detect.py non-inplace with y.tensor_split() (#7062)" (#7074)
This reverts commit d5e363f29d.
2022-03-21 09:33:39 +01:00
Glenn Jocher 9cd89b75cc Fix2 check_anchor_order() in pixel-space not grid-space (#7067)
Follows https://github.com/ultralytics/yolov5/pull/7060 which provided only a partial solution to this issue. #7060 resolved occurences in yolo.py, this applies the same fix in autoanchor.py.
2022-03-20 18:55:13 +01:00
Glenn Jocher 178c109576 Add non-zero da check_anchor_order() condition (#7066) 2022-03-20 18:37:27 +01:00
Glenn Jocher 9e75cbf4c1 Update __init__.py (#7065) 2022-03-20 18:17:04 +01:00
Glenn Jocher e278fd63ec Update W&B message to LOGGER.info() (#7064) 2022-03-20 18:15:22 +01:00
Glenn Jocher 0529b77232 Update common.py lists for tuples (#7063)
Improved profiling.
2022-03-20 18:03:37 +01:00
Glenn Jocher d5e363f29d Update detect.py non-inplace with y.tensor_split() (#7062) 2022-03-20 18:02:05 +01:00
Glenn Jocher f327eee614 Fix check_anchor_order() in pixel-space not grid-space (#7060)
* Update `check_anchor_order()`

Use mean area per output layer for added stability.

* Check in pixel-space not grid-space fix
2022-03-20 16:27:51 +01:00
Glenn Jocher 9f4d11379b Fix incomplete URL substring sanitation (#7056)
Resolves code scanning alert in https://github.com/ultralytics/yolov5/issues/7055
2022-03-20 14:18:05 +01:00
Glenn Jocher 6843ea5d7f Create SECURITY.md (#7054)
* Create SECURITY.md

Resolves https://github.com/ultralytics/yolov5/issues/7052

* Move into ./github

* Update SECURITY.md
2022-03-20 13:55:32 +01:00
Glenn Jocher 9ebec7885f Update Dockerfile to git clone instead of COPY (#7053)
Resolves git command errors that currently happen in image, i.e.:

```bash
root@382ae64aeca2:/usr/src/app# git pull
Warning: Permanently added the ECDSA host key for IP address '140.82.113.3' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
```
2022-03-20 13:51:22 +01:00
Glenn Jocher b0ba101ac0 ComputeLoss() indexing/speed improvements (#7048)
* device as class attribute

* Update loss.py

* Update loss.py

* improve zeros

* tensor split
2022-03-20 01:04:48 +01:00
Glenn Jocher 3f634d43c8 Conditional Timeout() by OS (disable on Windows) (#7013)
* Conditional `Timeout()` by OS (disable on Windows)

* Update general.py
2022-03-16 15:33:54 +01:00
Glenn Jocher c09fb2aa95 Update TQDM bar format (#6988) 2022-03-15 16:32:56 +01:00
Glenn Jocher 932dc78496 YOLOv5 Export Benchmarks for GPU (#6963)
* Add benchmarks.py GPU support

* Updates

* Updates

* Updates

* Updates

* Add --half

* Add TRT requirements

* Cleanup

* Add TF to warmup types

* Update export.py

* Update export.py

* Update benchmarks.py
2022-03-14 15:07:13 +01:00
Glenn Jocher 99de551f97 pt model to cpu on TF export 2022-03-14 12:41:06 +01:00
Glenn Jocher 2d45de617e Model ema key backward compatibility fix (#6972)
Fix for older model loading issue in https://github.com/ultralytics/yolov5/commit/d3d9cbce221b2ced46dde374f24fde72c8e71c37#commitcomment-68622388
2022-03-14 10:54:51 +01:00
Glenn Jocher 701e1177ac Tensor initialization on device improvements (#6959)
* Update common.py speed improvements

Eliminate .to() ops where possible for reduced data transfer overhead. Primarily affects warmup and PyTorch Hub inference.

* Updates

* Updates

* Update detect.py

* Update val.py
2022-03-12 14:00:48 +01:00
Glenn Jocher 52c1399fdc DetectMultiBackend() return device update (#6958)
Fixes ONNX validation that returns outputs on CPU.
2022-03-12 13:16:29 +01:00
Glenn Jocher c84dd27d62 New val.py cuda variable (#6957)
* New val.py `cuda` variable

Fix for ONNX GPU val.

* Update val.py
2022-03-12 12:57:08 +01:00
Glenn Jocher c6b4f84fd1 Update Dockerfile torch==1.11.0+cu113 (#6954) 2022-03-12 00:45:07 +01:00
Glenn Jocher b94b59e199 DetectMultiBackend() --half handling (#6945)
* DetectMultiBackend() `--half` handling

* CI fixes

* rename .half to .fp16 to avoid conflict

* warmup fix

* val update

* engine update

* engine update
2022-03-11 16:31:52 +01:00
Glenn Jocher 84efa62b2d Fix PyTorch Hub export inference shapes (#6949)
May resolve https://github.com/ultralytics/yolov5/issues/6947
2022-03-11 16:18:40 +01:00
Glenn Jocher caf7ad0500 Allow 3-point segments (#6938)
May resolve https://github.com/ultralytics/yolov5/issues/6931
2022-03-10 18:41:47 +01:00
Glenn Jocher 055e72af5b Optimize PyTorch 1.11.0 compatibility update (#6933) 2022-03-10 12:58:41 +01:00
Glenn Jocher d3d9cbce22 PyTorch 1.11.0 compatibility updates (#6932)
Resolves `AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'` first raised in https://github.com/ultralytics/yolov5/issues/5499
2022-03-10 12:41:06 +01:00
Glenn Jocher 6dd82c0252 Move git_describe() to general.py (#6918)
* Move `git_describe()` to general.py

* Move `git_describe()` to general.py
2022-03-09 18:22:53 +01:00
Glenn Jocher e6e36aac10 Update bytes to GB with bitshift (#6886) 2022-03-07 19:26:37 +01:00
Glenn Jocher acc58c1dcf Fix TRT max_workspace_size deprecation notice (#6856)
* Fix TRT `max_workspace_size` deprecation notice

* Update export.py

* Update export.py
2022-03-07 13:52:53 +01:00
Glenn Jocher 4728840745 Update --cache disk deprecate *_npy/ dirs (#6876)
* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Cleanup

* Cleanup
2022-03-06 16:16:17 +01:00
Glenn Jocher 8a66ebad44 Add *.ts to VID_FORMATS (#6859) 2022-03-04 14:10:13 +01:00
Glenn Jocherandpre-commit-ci[bot] 601dbb83f0 AutoAnchor improved initialization robustness (#6854)
* Update AutoAnchor

* Update AutoAnchor

* [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-03-04 10:32:18 +01:00
Glenn Jocher 63ddb6f0d0 Update autoanchor.py (#6794)
* Update autoanchor.py

* Update autoanchor.py
2022-02-26 19:15:12 +01:00
Glenn Jocher c2403eb04c Update PULL_REQUEST_TEMPLATE.md (#6783) 2022-02-25 14:01:58 +01:00
Glenn Jocher 9ec51a6396 YOLOv5s6 params FLOPs fix (#6782) 2022-02-25 13:59:21 +01:00
Glenn Jocher 0f819919ad Update EMA decay tau (#6769)
* Update EMA

* Update EMA

* ratio invert

* fix ratio invert

* fix2 ratio invert

* warmup iterations to 100

* ema_k

* implement tau

* implement tau
2022-02-25 12:33:09 +01:00
Glenn Jocher cea994b3f6 Update hyp.VOC.yaml (#6772) 2022-02-25 00:14:17 +01:00
Glenn Jocher 741cd0eb23 Update tutorial.ipynb (#6771) 2022-02-25 00:12:27 +01:00
Glenn Jocher c161557563 Default OMP_NUM_THREADS=8 (#6770) 2022-02-25 00:09:14 +01:00
Glenn Jocher 47f265dde2 Update min warmup iterations from 1k to 100 (#6768) 2022-02-24 23:37:25 +01:00
Glenn Jocher 4bab56526b Update tutorial.ipynb (2 CPUs, 12.7 GB RAM, 42.2/166.8 GB disk) (#6767) 2022-02-24 18:29:59 +01:00
Glenn Jocher 66aaf5184d Pre-commit table fix (#6744) 2022-02-22 19:35:31 +01:00
Glenn Jocher 3752807c0b YOLOv5 v6.1 release (#6739) 2022-02-22 12:35:24 +01:00