Commit Graph

142 Commits (c8a589920e877016c8a9be00fd0077005dc68f51)

Author SHA1 Message Date
Glenn Jocher 87b094bcbc
Feature visualization update (#3920)
* Feature visualization update

* Save to jpg (faster)

* Save to png
2021-07-07 15:41:58 +02:00
ketan-b 9d86b54eb3
Add multi-stream saving feature (#3864)
* Added the recording feature for multiple streams

Thanks for the very cool repo!!
I was trying to record multiple feeds at the same time, but the current version of the detector only had one video writer and one vid_path!
So the streams were not being saved and only were initialized with one frame and this process didn't record the whole thing.

Fix:
I made a list of `vid_writer` and `vid_path` and the `i` from the loop over the `pred` took care of the writer which need to work!

I hope this helps, Thanks!

* Cleanup list lengths

* batch size variable

* Update datasets.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-07-04 12:55:57 +02:00
Glenn Jocher 1f69d12591
Update 4 main ops for paths and .run() (#3715)
* Add yolov5/ to path

* rename functions to run()

* cleanup

* rename fix

* CI fix

* cleanup find models/export.py
2021-06-21 17:25:04 +02:00
Glenn Jocher fad27c0046
Update DDP for `torch.distributed.run` with `gloo` backend (#3680)
* Update DDP for `torch.distributed.run`

* Add LOCAL_RANK

* remove opt.local_rank

* backend="gloo|nccl"

* print

* print

* debug

* debug

* os.getenv

* gloo

* gloo

* gloo

* cleanup

* fix getenv

* cleanup

* cleanup destroy

* try nccl

* return opt

* add --local_rank

* add timeout

* add init_method

* gloo

* move destroy

* move destroy

* move print(opt) under if RANK

* destroy only RANK 0

* move destroy inside train()

* restore destroy outside train()

* update print(opt)

* cleanup

* nccl

* gloo with 60 second timeout

* update namespace printing
2021-06-19 16:30:25 +02:00
lb-desupervised bfb2276b1d
Slightly modify CLI execution (#3687)
* Slightly modify CLI execution

This simple change makes it easier to run the primary functions of this
repo (train/detect/test) from within Python. An object which represents
`opt` can be constructed and fed to the `main` function of each of these
modules, rather than having to call the lower level functions directly,
or run the module as a script.

* Update export.py

Add CLI parsing update for more convenient module usage within Python.

Co-authored-by: Lewis Belcher <lb@desupervised.io>
2021-06-19 12:06:59 +02:00
Glenn Jocher 2754adad46
Remove `/weights` directory (#3659)
* Remove `/weights` directory

* cleanup
2021-06-17 14:44:12 +02:00
Glenn Jocher 4695ca8314
Refactoring cleanup (#3565)
* Refactoring cleanup

* Update test.py
2021-06-09 22:50:27 +02:00
Glenn Jocher 66cf5c28c1
Refactor detect.py arguments (#3559)
* Refactor detect.py arguments

@SkalskiP @KalenMike

* unused ok

* comment arguments
2021-06-09 22:19:34 +02:00
Glenn Jocher a9553c04a7
Refactor test.py arguments (#3558)
* remove opt from test()

* pass kwargs

* update comments

* revert accidental default change

* multiple --img options

* add comments
2021-06-09 21:36:10 +02:00
Glenn Jocher ef0b5c9d29
On-demand `pycocotools` pip install (#3547) 2021-06-09 11:22:21 +02:00
Glenn Jocher c6b51f4189
Update FP16 `--half` argument for test.py and detect.py (#3532)
* Update FP16 `--half` argument for test.py and detect.py

* Update detect.py
2021-06-08 18:47:13 +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 61ea23c3fe
Implement `@torch.no_grad()` decorator (#3312)
* `@torch.no_grad()` decorator

* Update detect.py
2021-05-24 13:23:09 +02:00
Adrian Holovaty 3f74cd9ed1
Parameterize max_det + inference default at 1000 (#3215)
* Added max_det parameters in various places

* 120 character line

* PEP8

* 120 character line

* Update inference default to 1000 instances

* Update inference default to 1000 instances

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-05-17 22:47:44 +02:00
Glenn Jocher 25f8ab835e
detect.py streaming source `--save-crop` bug fix (#3102)
* detect.py streaming source --save-crop bug fix

Possible fix for #3100.

* () parenthesis
2021-05-10 16:39:37 +02:00
Glenn Jocher 91547edec1
Update detect.py (#3087)
* Update detect.py

* Update detect.py
2021-05-09 13:01:58 +02:00
Glenn Jocher a833ee2a46
Update check_requirements() exclude list (#2974) 2021-04-29 21:16:23 +02:00
Glenn Jocher 57812df68c
New Colors() class (#2963) 2021-04-28 16:05:14 +02:00
albinxavi aa78069c58
Change default value of hide-conf argument to false (#2925) 2021-04-25 14:18:14 +02:00
albinxavi eae28a93b0
Change default value of hide label argument to False (#2923) 2021-04-24 19:58:02 +02:00
Maximilian Peters f662c18507
Add detect.py --hide-conf --hide-labels --line-thickness options (#2658)
* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for hiding confidence values

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-23 21:07:48 +02:00
fcakyon b40dd99167
Explicit opt function arguments (#2817)
* more explicit function arguments

* fix typo in detect.py

* revert import order

* revert import order

* remove default value
2021-04-22 18:17:30 +02:00
Burhan c949fc86d1
Detection cropping+saving feature addition for detect.py and PyTorch Hub (#2827)
* Update detect.py

* Update detect.py

* Update greetings.yml

* Update cropping

* cleanup

* Update increment_path()

* Update common.py

* Update detect.py

* Update detect.py

* Update detect.py

* Update common.py

* cleanup

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-20 23:51:08 +02:00
Ben Milanko e2b7bc0b32
YouTube Livestream Detection (#2752)
* Youtube livestream detection

* dependancy update to auto install pafy

* Remove print

* include youtube_dl in deps

* PEP8 reformat

* youtube url check fix

* reduce lines

* add comment

* update check_requirements

* stream framerate fix

* Update README.md

* cleanup

* PEP8

* remove cap.retrieve() failure code

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-11 18:53:40 +02:00
Glenn Jocher ad05e37d99
Save webcam results, add --nosave option (#2598)
This updates the default detect.py behavior to automatically save all inference images/videos/webcams unless the new argument --nosave is used (python detect.py --nosave) or unless a list of streaming sources is passed (python detect.py --source streams.txt)
2021-03-25 14:09:49 +01:00
Glenn Jocher 0d891c601e
check_requirements() exclude pycocotools, thop (#2571)
Exclude non-critical packages from dependency checks in detect.py. pycocotools and thop in particular are not required for inference.

Issue first raised in https://github.com/ultralytics/yolov5/issues/1944 and also raised in https://github.com/ultralytics/yolov5/discussions/2556
2021-03-23 14:25:55 +01:00
Glenn Jocher 26c2e54c8f
Add check_imshow() (#2231)
* Add check_imshow()

* Update general.py

* Update general.py
2021-02-16 13:56:47 -08:00
ab-101 c32b0aff76
Update detect.py (#2167)
Without this cv2.imshow opens a window but nothing is visible
2021-02-08 23:13:40 -08:00
Glenn Jocher a18efc3a73
Add variable-stride inference support (#2091) 2021-01-30 13:47:23 -08:00
Glenn Jocher 2a835c79a9
Update run-once lines (#2058) 2021-01-27 16:01:24 -08:00
Glenn Jocher aac33f87ad
Update inference multiple-counting (#2019)
* Update inference multiple-counting

* update github check
2021-01-22 15:39:08 -08:00
Glenn Jocher e77c77f580
Add check_requirements() (#1853)
* Add check_requirements()

* add import

* parameterize filename

* add to detect, test
2021-01-06 16:35:40 -08:00
Rohan Dubey 7dddb1d928
Remove unused code (#1830)
* Add files via upload

* Add files via upload
2021-01-04 13:04:13 -08:00
Glenn Jocher d5289b54c4
clean_str() function addition (#1674)
* clean_str() function addition

* cleanup

* add euro symbol €

* add closing exclamation (spanish)

* cleanup
2020-12-17 17:20:20 -08:00
Glenn Jocher 54043a9fa4
Streaming --save-txt bug fix (#1672)
* Streaming --save-txt bug fix

* cleanup
2020-12-11 15:45:32 -08:00
Glenn Jocher 95fa65339f
Cat apriori to autolabels (#1484) 2020-11-23 13:38:47 +01:00
Glenn Jocher bd29a1c946
PosixPath to str webcam bug fix (#1437) 2020-11-18 10:03:41 +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
Glenn Jocher fe341fa44d
Utils reorganization (#1392)
* Utils reorganization

* Add new utils files

* cleanup

* simplify

* reduce datasets.py

* remove evolve.sh

* loadWebcam cleanup
2020-11-14 11:50:32 +01:00
Glenn Jocher c4addd7761
Unified '/project/name' results saving (#1377)
* Project/name update

* Update ci-testing.yml

* address project with path separator failure mode

* Project/name update

* address project with path separator failure mode

* Update ci-testing.yml

* detect.py default --name bug fix

* missing rstrip PR

* train/exp0 to train/exp
2020-11-12 23:37:46 +01:00
weida wang 04081f8102
Trailing --save-txt whitespace bug fix (#1374)
* update Write results

* Update detect.py

* Update test.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-11-12 17:37:16 +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 81d320109f
--save-txt store_true fix (#1323) 2020-11-08 19:53:48 +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
oleg 19c8b2c9b9
Adding --save-dir and --save-conf options to test.py (#1182)
* Adding --output and --save-conf options to test.py

* Update help fields

* Update test.py

* Make arguments and comments uniform with test.py

* Remove previous and print save_dir on finish

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-10-25 16:50:21 +01:00
Osama Akhtar 83deec133d
Add confidence score to label txt files (#994)
* add contrast to conf/class against bbox rectangle color

* added feature to save conf in txt labels

* Update general.py

* Update detect.py

* Update detect.py

* Update detect.py

save_conf variable removed as only used once, so we can use opt.save_conf instead.

* Update detect.py

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-10-20 14:20:27 +02:00
Glenn Jocher 3b57cb5641
Simplified inference (#1153) 2020-10-15 20:10:08 +02:00
Glenn Jocher 4d3680c81d
Minor import and spelling updates (#1133) 2020-10-13 17:24:27 +02:00
Frederik d11504aee1
Remove image open on macos (#1086)
* added option to not open on save

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-10-07 16:16:10 +02:00
stone99 b8f656742d
feat: add rtmp support (#1009)
* feat: add rtmp support

* Update detect.py

pass tuple to source.startswith()

Co-authored-by: ryan.fu <ryan.fu@aylaasia.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-09-22 11:37:49 -07:00
Glenn Jocher 82ed33a052 generalize webcam detection with opt.source.isnumeric() (yolov3 #1462) 2020-08-25 11:07:38 -07:00
Glenn Jocher f5da528d28 reformat code 2020-08-14 11:53:44 -07:00
NanoCode012 0892c44bc4
Fix Logging (#719)
* Add logging setup

* Fix fusing layers message

* Fix logging does not have end

* Add logging

* Change logging to use logger

* Update yolo.py

I tried this in a cloned branch, and everything seems to work fine

* Update yolo.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-08-12 14:18:19 -07:00
Glenn Jocher 7875f4c1fb reverse plotting low to high confidence 2020-08-12 13:50:16 -07:00
Glenn Jocher 9f482cbcb8 utils.general comment updates/bug fixes 2020-08-11 20:11:44 -07:00
hopesala d0d3dd1040
Update detect.py (#629)
* Update detect.py

Update print info for relative path and absolute
otherwise the info below is misleading

Results saved to /workspace//output_path

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-08-05 12:01:24 -07:00
lorenzomammana 728efa6576
Fix missing imports (#627)
* Fix missing imports

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-08-04 12:22:15 -07:00
Jirka Borovec d5b6416c87
Explicit Imports (#498)
* expand imports

* optimize

* miss

* fix
2020-08-02 15:47:36 -07:00
Glenn Jocher 43a616a955 PyTorch 1.6.0 compatability updates 2020-07-28 15:38:56 -07:00
Glenn Jocher fe094333e8
Update utils.py strip_optimizer() (#509)
Follow-on update that I missed adding into PR 509.
2020-07-24 19:30:37 -07:00
Glenn Jocher 02445d176d improved model.yaml source tracking 2020-07-13 14:35:47 -07:00
Glenn Jocher 78c9420e09 --classes bug fix #387 2020-07-13 13:27:46 -07:00
Glenn Jocher 094079bd26 update detect.py --class argument #387 2020-07-13 10:53:34 -07:00
Glenn Jocher e8cf24b6c8 Initial model ensemble capability #318 2020-07-07 15:40:50 -07:00
Glenn Jocher a40f615c6f .half() bug fix 2020-07-05 23:24:53 -07:00
Glenn Jocher 04bdbe4104 fuse update 2020-07-05 23:16:50 -07:00
Glenn Jocher 2541f77946 update detect.py 2020-07-05 11:57:48 -07:00
Glenn Jocher 1fdaa4987b update detect.py 2020-07-04 17:44:53 -07:00
Glenn Jocher 659ad748c8 update get_voc.sh 2020-07-04 17:13:43 -07:00
Glenn Jocher 5323ad224d export.py update 2020-07-01 16:15:25 -07:00
Glenn Jocher a62a1c2c67 export.py update 2020-07-01 16:14:49 -07:00
Glenn Jocher a9dc0c2c29 update check_img_size() for model strides 2020-06-30 15:25:38 -07:00
Russ Ferriday 0d5065d3b9
Remove non-ascii that breaks pdb single-stepping 2020-06-29 12:56:40 +01:00
Glenn Jocher 8c5b6220f5
Update detect.py 2020-06-25 19:26:23 -07:00
Glenn Jocher 496ec33a33
Update detect.py
Added some recent updates that were missing, and updated the filename with an if else.
2020-06-25 19:19:15 -07:00
Anish Hiranandani 68f63616b3 Fix after suggestion 2020-06-25 18:23:36 -07:00
Glenn Jocher 6c1b87a42e update google_utils import 2020-06-22 23:00:23 -07:00
Glenn Jocher bbd12c7cfe detect.py fast bug fix 2020-06-22 10:14:58 -07:00
Lornatang 2368603484 fix refrence bug
In torch==1.5, the import of the API has changed. Although it does not interrupt the operation of the program, it seems to me to be an implicit error and may throw an exception in later versions.
2020-06-17 09:56:26 +08:00
Glenn Jocher 76ca367a01 FP16 to FP32 ckpt load 2020-06-15 13:32:45 -07:00
Glenn Jocher 111994956e switch default inference to FP16 on GPU 2020-06-14 19:25:39 -07:00
Glenn Jocher 260b1729f0 FP16 inference update 2020-06-14 18:32:29 -07:00
Glenn Jocher 099e6f5ebd --img-size stride-multiple verification 2020-06-12 22:10:46 -07:00
Glenn Jocher ad71d2d513 update times to end-to-end latency (inference + NMS) 2020-06-12 11:42:08 -07:00
Glenn Jocher c14368d768 new CSP model release 2020-06-09 14:31:04 -07:00
Glenn Jocher c672bef10f model fuse 2020-06-07 14:07:22 -07:00
Glenn Jocher dbdee3a4a3 multi-gpu test bug fix #15 2020-06-04 15:23:03 -07:00
Glenn Jocher ba9ab663a2 model.names for dataParallel 2020-06-04 13:30:14 -07:00
Glenn Jocher eb97b2e413 NMS fast mode 2020-06-03 13:02:59 -07:00
Glenn Jocher 391492ee5b updates 2020-06-02 23:57:58 -07:00
Glenn Jocher df7988d8d0 onnx_export.py 2020-06-01 13:53:47 -07:00
Glenn Jocher 1e84a23f38 initial commit 2020-05-29 17:04:54 -07:00