Commit Graph

53 Commits (958ab92dc1a29f41f4c813937fda2bc99e1f147b)

Author SHA1 Message Date
Glenn Jocher ef0b5c9d29
On-demand `pycocotools` pip install (#3547) 2021-06-09 11:22:21 +02:00
Glenn Jocher f3c3d2ce5d
Merge `develop` branch into `master` (#3518)
* update ci-testing.yml (#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* update ci-testing.yml (#3322)

* update ci-testing.yml

* update greetings.yml

* bring back os matrix

* Enable direct `--weights URL` definition (#3373)

* Enable direct `--weights URL` definition

@KalenMike this PR will enable direct --weights URL definition. Example use case:
```
python train.py --weights https://storage.googleapis.com/bucket/dir/model.pt
```

* cleanup

* bug fixes

* weights = attempt_download(weights)

* Update experimental.py

* Update hubconf.py

* return bug fix

* comment mirror

* min_bytes

* Update tutorial.ipynb (#3368)

add Open in Kaggle badge

* `cv2.imread(img, -1)` for IMREAD_UNCHANGED (#3379)

* Update datasets.py

* comment

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* COCO evolution fix (#3388)

* COCO evolution fix

* cleanup

* update print

* print fix

* Create `is_pip()` function (#3391)

Returns `True` if file is part of pip package. Useful for contextual behavior modification.

```python
def is_pip():
    # Is file in a pip package?
    return 'site-packages' in Path(__file__).absolute().parts
```

* Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED (#3379)" (#3395)

This reverts commit 21a9607e00.

* Update FLOPs description (#3422)

* Update README.md

* Changing FLOPS to FLOPs.

Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>

* Parse URL authentication (#3424)

* Parse URL authentication

* urllib.parse.unquote()

* improved error handling

* improved error handling

* remove %3F

* update check_file()

* Add FLOPs title to table (#3453)

* Suppress jit trace warning + graph once (#3454)

* Suppress jit trace warning + graph once

Suppress harmless jit trace warning on TensorBoard add_graph call. Also fix multiple add_graph() calls bug, now only on batch 0.

* Update train.py

* Update MixUp augmentation `alpha=beta=32.0` (#3455)

Per VOC empirical results https://github.com/ultralytics/yolov5/issues/3380#issuecomment-853001307 by @developer0hye

* Add `timeout()` class (#3460)

* Add `timeout()` class

* rearrange order

* Faster HSV augmentation (#3462)

remove datatype conversion process that can be skipped

* Add `check_git_status()` 5 second timeout (#3464)

* Add check_git_status() 5 second timeout

This should prevent the SSH Git bug that we were discussing @KalenMike

* cleanup

* replace timeout with check_output built-in timeout

* Improved `check_requirements()` offline-handling (#3466)

Improve robustness of `check_requirements()` function to offline environments (do not attempt pip installs when offline).

* Add `output_names` argument for ONNX export with dynamic axes (#3456)

* Add output names & dynamic axes for onnx export

Add output_names and dynamic_axes names for all outputs in torch.onnx.export. The first four outputs of the model will have names output0, output1, output2, output3

* use first output only + cleanup

Co-authored-by: Samridha Shrestha <samridha.shrestha@g42.ai>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* Revert FP16 `test.py` and `detect.py` inference to FP32 default (#3423)

* fixed inference bug ,while use half precision

* replace --use-half with --half

* replace space and PEP8 in detect.py

* PEP8 detect.py

* update --half help comment

* Update test.py

* revert space

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* Add additional links/resources to stale.yml message (#3467)

* Update stale.yml

* cleanup

* Update stale.yml

* reformat

* Update stale.yml HUB URL (#3468)

* Stale `github.actor` bug fix (#3483)

* Explicit `model.eval()` call `if opt.train=False` (#3475)

* call model.eval() when opt.train is False

call model.eval() when opt.train is False

* single-line if statement

* cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* check_requirements() exclude `opencv-python` (#3495)

Fix for 3rd party or contrib versions of installed OpenCV as in https://github.com/ultralytics/yolov5/issues/3494.

* Earlier `assert` for cpu and half option (#3508)

* early assert for cpu and half option

early assert for cpu and half option

* Modified comment

Modified comment

* Update tutorial.ipynb (#3510)

* Reduce test.py results spacing (#3511)

* Update README.md (#3512)

* Update README.md

Minor modifications

* 850 width

* Update greetings.yml

revert greeting change as PRs will now merge to master.

Co-authored-by: Piotr Skalski <SkalskiP@users.noreply.github.com>
Co-authored-by: SkalskiP <piotr.skalski92@gmail.com>
Co-authored-by: Peretz Cohen <pizzaz93@users.noreply.github.com>
Co-authored-by: tudoulei <34886368+tudoulei@users.noreply.github.com>
Co-authored-by: chocosaj <chocosaj@users.noreply.github.com>
Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
Co-authored-by: Yonghye Kwon <developer.0hye@gmail.com>
Co-authored-by: Sam_S <SamSamhuns@users.noreply.github.com>
Co-authored-by: Samridha Shrestha <samridha.shrestha@g42.ai>
Co-authored-by: edificewang <609552430@qq.com>
2021-06-08 10:22:10 +02:00
Glenn Jocher 3f03acb3db
check_requirements() exclude `opencv-python` (#3507)
Duplicate of #3495 merged to `develop`. This PR will be merged to `master`.

Fixes https://github.com/ultralytics/yolov5/issues/3494.
2021-06-07 15:38:51 +02:00
Christoph Gerum b133baa336
Add `device` argument to PyTorch Hub models (#3104)
* Allow to manual selection of device for torchhub models

* single line device

nested torch.device(torch.device(device)) ok

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-05-16 17:41:26 +02:00
Glenn Jocher 06372b1465
Scope all hubconf.py imports for torch.hub.list() (#3145)
* Scope all hubconf.py imports for torch.hub.list()

* Update hubconf.py
2021-05-12 20:28:26 +02:00
Glenn Jocher 1935266951
Scope imports for torch.hub.list() improvement (#3144) 2021-05-12 20:18:32 +02:00
Glenn Jocher 31ee54c28c
Hubconf.py bug fix (#3007) 2021-05-01 18:15:17 +02:00
Glenn Jocher 7c89c829e3 cleanup 2021-05-01 17:48:12 +02:00
Glenn Jocher c1a44ed9c5
Update hubconf.py for unified loading (#3005) 2021-05-01 17:35:02 +02:00
Glenn Jocher d08575ee5e
PyTorch Hub load directly when possible (#2986) 2021-04-30 14:59:51 +02:00
Glenn Jocher a833ee2a46
Update check_requirements() exclude list (#2974) 2021-04-29 21:16:23 +02:00
NanoCode012 c0d3f80544
Add verbose option to pytorch hub models (#2926)
* Add verbose and update print to logging

* Fix positonal param

* Revert auto formatting changes

* Update hubconf.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-25 22:01:05 +02:00
Glenn Jocher c15e25c40f
PyTorch Hub cv2 .save() .show() bug fix (#2831)
* PyTorch Hub cv2 .save() .show() bug fix

cv2.rectangle() was failing on non-contiguous np array inputs. This checks for contiguous arrays and applies is necessary:
```python
imgs[i] = im if im.data.contiguous else np.ascontiguousarray(im)  # update
```

* Update plots.py

```python
assert im.data.contiguous, 'Image not contiguous. Apply np.ascontiguousarray(im) to plot_on_box() input image.'
```

* Update hubconf.py

Expand CI tests to OpenCV image.
2021-04-18 13:47:40 +02:00
Glenn Jocher 0f395b3e3b
YOLOv5 v5.0 Release patch 1 (#2764)
* torch.jit.trace(model, img, strict=False)

* Update check_file()

* Update hubconf.py

* Update README.md
2021-04-11 23:11:43 +02:00
Glenn Jocher f5b8f7d54c
YOLOv5 v5.0 Release (#2762) 2021-04-11 19:23:47 +02:00
Glenn Jocher c03d590320
Add Hub results.pandas() method (#2725)
* Add Hub results.pandas() method

New method converts results from torch tensors to pandas DataFrames with column names.

This PR may partially resolve issue https://github.com/ultralytics/yolov5/issues/2703

```python
results = model(imgs)

print(results.pandas().xyxy[0])
         xmin        ymin        xmax        ymax  confidence  class    name
0   57.068970  391.770599  241.383545  905.797852    0.868964      0  person
1  667.661255  399.303589  810.000000  881.396667    0.851888      0  person
2  222.878387  414.774231  343.804474  857.825073    0.838376      0  person
3    4.205386  234.447678  803.739136  750.023376    0.658006      5     bus
4    0.000000  550.596008   76.681190  878.669922    0.450596      0  person
```

* Update comments 

torch example input now shown resized to size=640 and also now a multiple of P6 stride 64 (see https://github.com/ultralytics/yolov5/issues/2722#issuecomment-814785930)

* apply decorators

* PEP8

* Update common.py

* pd.options.display.max_columns = 10

* Update common.py
2021-04-07 16:28:07 +02:00
Glenn Jocher 866bc7d640
Speed profiling improvements (#2648)
* Speed profiling improvements

* Update torch_utils.py

deepcopy() required to avoid adding elements to model.

* Update torch_utils.py
2021-03-29 15:19:07 +02:00
Glenn Jocher ee169834bd
PyTorch Hub custom model to CUDA device fix (#2636)
Fix for #2630 raised by @Pro100rus32
2021-03-28 17:22:00 +02:00
Glenn Jocher 8ace1b1b99
YOLOv5 PyTorch Hub models >> check_requirements() (#2588)
* YOLOv5 PyTorch Hub models >> check_requirements()

Update YOLOv5 PyTorch Hub requirements.txt path to cache path.

* Update hubconf.py
2021-03-24 16:23:54 +01:00
Glenn Jocher 2bcc89d762
YOLOv5 PyTorch Hub models >> check_requirements() (#2577)
* Update hubconf.py with check_requirements()

Dependency checks have been missing from YOLOv5 PyTorch Hub model loading, causing errors in some cases when users are attempting to import hub models in unsupported environments. This should examine the YOLOv5 requirements.txt file and pip install any missing or version-conflict packages encountered. 

This is highly experimental (!), please let us know if this creates problems in your custom workflows.

* Update hubconf.py
2021-03-24 15:42:00 +01:00
Glenn Jocher 9b11f0c58b
PyTorch Hub models default to CUDA:0 if available (#2472)
* PyTorch Hub models default to CUDA:0 if available

* device as string bug fix
2021-03-14 23:16:17 -07:00
Glenn Jocher 569757ecc0
Add autoShape() speed profiling (#2459)
* Add autoShape() speed profiling

* Update common.py

* Create README.md

* Update hubconf.py

* cleanuip
2021-03-13 19:50:34 -08:00
Glenn Jocher fab5085674
EMA bug fix 2 (#2330)
* EMA bug fix 2

* update
2021-03-01 17:13:34 -08:00
Glenn Jocher db28ce61ac
Improved hubconf.py CI tests (#2251) 2021-02-19 12:35:38 -08:00
Glenn Jocher 9a3da79b4a
Update requirements.txt (#2021)
* Update requirements.txt

* Update ci-testing.yml

* Update hubconf.py
2021-01-23 12:51:04 -08:00
NanoCode012 14b0abe2d0
autoShape() default for PyTorch Hub models (#1692)
* Add autoshape parameter

* Remove autoshape call in ReadMe

* Update hubconf.py

* file/URI inputs and autoshape check passthrough

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-12-26 19:58:26 -08:00
Glenn Jocher e92245a38c
Simplified PyTorch hub for custom models (#1677) 2020-12-12 11:42:27 -08:00
Glenn Jocher f7a923b446
Simplified PyTorch hub for custom models (#1677) 2020-12-12 11:37:53 -08:00
Glenn Jocher 87ca35b922
Simplified PyTorch hub for custom models (#1677) 2020-12-12 11:16:57 -08:00
Glenn Jocher fa8f1fb0e9
Simplify autoshape() post-process (#1653)
* Simplify autoshape() post-process

* cleanup

* cleanup
2020-12-09 07:44:06 -08:00
Glenn Jocher 311de00855 PyTorch Hub and autoShape update (#1415) 2020-11-16 23:20:17 +01:00
Glenn Jocher 2aaaec3cca PyTorch Hub and autoShape update (#1415) 2020-11-16 23:16:35 +01:00
Glenn Jocher 7816c0c2d3 PyTorch Hub and autoShape update (#1415) 2020-11-16 23:15:43 +01:00
Glenn Jocher 93fc607f07 PyTorch Hub and autoShape update (#1415) 2020-11-16 23:14:07 +01:00
Glenn Jocher f5429260ca
PyTorch Hub and autoShape update (#1415)
* PyTorch Hub and autoShape update

* comment x for imgs

* reduce comment
2020-11-16 23:09:55 +01:00
Khiem Doan 1c8464e199
Use pathlib instead of low-level module (#1329)
* Use pathlib instead of low-level module

* Use pathlib instead of low-level module

* Update detect.py

* Update test.py

* reformat

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-11-10 13:01:19 +01:00
Glenn Jocher 4821d076e2
Increment train, test, detect runs/ (#1322)
* Increment train, test, detect runs/

* Update ci-testing.yml

* inference/images to data/images

* move images

* runs/exp to runs/train/exp

* update 'results saved to %s' str
2020-11-08 19:39:05 +01:00
Glenn Jocher c8c5ef36c9
PyTorch 1.7.0 Compatibility Updates (#1233)
* torch 1.7.0 compatibility updates

* add inference verification
2020-10-28 15:03:50 +01:00
Glenn Jocher 7f1640695b
Update hubconf.py (#1210) 2020-10-26 01:06:54 +01:00
Glenn Jocher 0fda95aaf4 Update cache out-of-date warning 2020-10-23 15:13:42 +02:00
Glenn Jocher 3b57cb5641
Simplified inference (#1153) 2020-10-15 20:10:08 +02:00
Glenn Jocher 4fce0096fa model.add_nms() method 2020-09-20 16:31:40 -07:00
Glenn Jocher c4cb78570c add NMS to pretrained pytorch hub models 2020-09-18 18:17:11 -07:00
Jirka Borovec d5b6416c87
Explicit Imports (#498)
* expand imports

* optimize

* miss

* fix
2020-08-02 15:47:36 -07:00
Glenn Jocher 84a946615a update hubconf.py 2020-07-16 16:44:00 -07:00
Glenn Jocher a5818b280e expired pytorch hub cache bug fix #365 2020-07-11 15:04:53 -07:00
Glenn Jocher 6e3c3b62b2 expired pytorch hub cache bug fix #365 2020-07-11 15:03:12 -07:00
Glenn Jocher 6fb5ff014c FP16 to FP32 ckpt load 2020-06-15 13:21:34 -07:00
Glenn Jocher 4f6c0cf4c5
Update hubconf.py 2020-06-14 12:15:14 -07:00
Lijun Yu 0dec8ffd66 path fix for torch hub 2020-06-14 14:47:40 -04:00