Commit Graph

326 Commits (4b01e9921858f634fa1d5700b58553936cab1b0d)

Author SHA1 Message Date
Glenn Jocher 75feeb797c
YOLOv5 PyTorch Hub models >> check_requirements() (#2591)
Prints 'Please restart runtime or rerun command for update to take effect.' following package auto-install to inform users to restart/rerun.
2021-03-24 16:42:54 +01:00
Glenn Jocher 2b329b0945
Enhanced check_requirements() with auto-install (#2575)
* Update check_requirements() with auto-install

This PR builds on an idea I had to automatically install missing dependencies rather than simply report an error message. 

YOLOv5 should now 1) display all dependency issues and not simply display the first missing dependency, and 2) attempt to install/update each missing/VersionConflict package.

* cleanup

* cleanup 2

* Check requirements.txt file exists

* cleanup 3
2021-03-24 01:05:59 +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 ba18528b47
bbox_iou() stability and speed improvements (#2385) 2021-03-06 13:07: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 ec1d8496ba
Improved model+EMA checkpointing (#2292)
* Enhanced model+EMA checkpointing

* update

* bug fix

* bug fix 2

* always save optimizer

* ema half

* remove model.float()

* model half

* carry ema/model in fp32

* rm model.float()

* both to float always

* cleanup

* cleanup
2021-02-24 18:26:46 -08:00
Glenn Jocher c09964c27c
Update inference default to multi_label=False (#2252)
* Update inference default to multi_label=False

* bug fix

* Update plots.py

* Update plots.py
2021-02-19 15:39:09 -08:00
Glenn Jocher d2e754b67b
Add isdocker() (#2232)
* Add isdocker()

* Update general.py

* Update general.py
2021-02-16 15:58:07 -08: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
Glenn Jocher bdd88e1ed7
YOLOv5 Segmentation Dataloader Updates (#2188)
* Update C3 module

* Update C3 module

* Update C3 module

* Update C3 module

* update

* update

* update

* update

* update

* update

* update

* update

* update

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* update

* update

* update

* update

* updates

* updates

* updates

* updates

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update datasets

* update

* update

* update

* update attempt_downlaod()

* merge

* merge

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* parameterize eps

* comments

* gs-multiple

* update

* max_nms implemented

* Create one_cycle() function

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* GitHub API rate limit fix

* update

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* ComputeLoss

* astuple

* epochs

* update

* update

* ComputeLoss()

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* merge

* merge

* merge

* merge

* update

* update

* update

* update

* commit=tag == tags[-1]

* Update cudnn.benchmark

* update

* update

* update

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* update

* update

* update

* update

* update

* mosaic9

* update

* update

* update

* update

* update

* update

* institute cache versioning

* only display on existing cache

* reverse cache exists booleans
2021-02-11 21:22:45 -08:00
NanoCode012 a5d5f9262d
Changed socket port and added timeout (#2176) 2021-02-10 13:01:48 -08:00
Glenn Jocher f59f80114c
Add 'exclude' tuple to check_requirements() (#2041) 2021-01-26 21:17:36 -08:00
Glenn Jocher 3b7feeafdf
Update general.py check_git_status() fix (#2020) 2021-01-22 15:59:01 -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 1445ab2b27
check_git_status() Windows fix (#2015)
* check_git_status() Windows fix

* Update general.py

* Update general.py

* Update general.py

* Update general.py

* Update general.py

* Update general.py
2021-01-22 12:37:12 -08:00
Glenn Jocher d9212140b3
Add xywhn2xyxy() (#1983) 2021-01-19 13:33:52 -08:00
Glenn Jocher b1cf25dd9a
check_git_status() asserts (#1977) 2021-01-18 10:49:28 -08:00
Glenn Jocher b26a2f6242
check_git_status() when not exist /workspace (#1966) 2021-01-17 11:55:25 -08:00
Glenn Jocher e8a41e8916
prevent check_git_status() in docker images (#1951)
* prevent check_git_status() running docker images

* Update general.py
2021-01-16 01:15:38 -08:00
Glenn Jocher 051e9e80de
check_git_status() bug fix (#1925) 2021-01-13 10:25:53 -08:00
Glenn Jocher 509dd51aca
check_git_status() improvements (#1916)
* check_online()

* Update general.py

* update check_git_status()

* reverse rev-parse order

* fetch

* improved responsiveness

* comment

* comment

* remove hyp['giou'] compat warning
2021-01-12 21:51:49 -08:00
Glenn Jocher dd03b20ba5
colorstr() updates (#1909)
* W&B ImportError message fix

* colorstr() updates

* colorstr() updates

* colorstr() default to 'blue', 'bold'

* train: magenta

* train: blue
2021-01-12 10:33:15 -08:00
Glenn Jocher 1d1c0567a4
PyTorch Hub results.render() (#1897) 2021-01-10 20:06:11 -08:00
Glenn Jocher 6ab589583c
Add colorstr() (#1887)
* Add colorful()

* update

* newline fix

* add git description

* --always

* update loss scaling

* update loss scaling 2

* rename to colorstr()
2021-01-09 15:24:18 -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
Tommy in Tongji 135ec5c5ce
W&B ID reset on training completion (#1852)
* Update train.py

Fix the bug of always the same W&B ID  and continue  overwrite with the old logging.
BUG report
https://github.com/ultralytics/yolov5/issues/1851

* Fix the bug of duplicate W&B ID

fix the bug of https://github.com/ultralytics/yolov5/issues/1851
If we had trained on yolov5s.pt, the program will generate a new unique W&B ID.
If we hadn't, the program will keep the old code, we can still use --resume aug.

* Update general.py

* revert train.py changes

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-01-06 16:27:22 -08:00
Glenn Jocher 69be8e738f
YOLOv5 v4.0 Release (#1837)
* Update C3 module

* Update C3 module

* Update C3 module

* Update C3 module

* update

* update

* update

* update

* update

* update

* update

* update

* update

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* update

* update

* update

* update

* updates

* updates

* updates

* updates

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update datasets

* update

* update

* update

* update attempt_downlaod()

* merge

* merge

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* parameterize eps

* comments

* gs-multiple

* update

* max_nms implemented

* Create one_cycle() function

* update

* update

* update

* update

* update

* update

* update

* update study.png

* update study.png

* Update datasets.py
2021-01-04 19:54:09 -08:00
Glenn Jocher 0e341c5660
Create one_cycle() function (#1836) 2021-01-04 15:49:08 -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
Polydefkis Gkagkos 1fc9d42a64
NMS --classes 0 bug fix (#1710) 2020-12-16 08:58:51 -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 68e6ab668b
Hub device mismatch bug fix (#1619) 2020-12-06 17:53:38 +01:00
Glenn Jocher 96a84468b9
Update labels_to_image_weights() (#1545) 2020-11-28 12:25:45 +01:00
Glenn Jocher 95fa65339f
Cat apriori to autolabels (#1484) 2020-11-23 13:38:47 +01:00
Glenn Jocher 394131c2aa
Use torchvision.ops.nms (#1460) 2020-11-20 11:23:36 +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 548a98a391
Recursive directories dataset capability (#1408)
* Recursive directories dataset capability

* x.split('.')[-1]

* f += glob.glob(f"{p}{os.sep}**.*", recursive=True)

* f += glob.glob(str(p / '**.*'), recursive=True)

* remove . from image and vid formats

* .txt to txt

* str(p / '**' / '*.*')
2020-11-16 16:24:57 +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
Glenn Jocher 67bf9a974e
Replace 'ground truth' with 'labels' (#1337)
* Replace 'ground truth' with 'labels'

* Using torch... update
2020-11-10 14:15:03 +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 ea7e78cb11
Grid indices overflow bug fix (#1316) 2020-11-06 19:17:50 +01:00
Glenn Jocher fed5d9cdfb
Grid indices overflow bug fix (#1313) 2020-11-06 13:40:11 +01:00
Glenn Jocher 453acdec67 Update tensorboard logging 2020-10-26 01:08:33 +01:00
Glenn Jocher 8e9b3d0205
Precision-Recall Curve feature update #1206 2020-10-25 12:59:16 +01:00
Glenn Jocher ed85038c38
Precision-Recall Curve feature update (#1206)
* Precision-Recall Curve feature update

* sentinel value update
2020-10-25 12:55:52 +01:00
Jirka Borovec c67e72200e
fix compatibility for hyper config (#1146)
* fix/hyper

* Hyp giou check to train.py

* restore general.py

* train.py overwrite fix

* restore general.py and pep8 update

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-10-15 15:05:58 +02:00
Glenn Jocher 4d3680c81d
Minor import and spelling updates (#1133) 2020-10-13 17:24:27 +02:00
Jirka Borovec 00917a6225
update expt name comment and folder parsing for training (#978)
* comment

* fix parsing

* fix evolve

* folder

* tqdm

* Update train.py

* Update train.py

* reinstate anchors into meta dict

anchor evolution is working correctly now

* reinstate logger

prefer the single line readout for concise logging, which helps simplify notebook and tutorials etc.

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-10-13 14:10:21 +02:00
Glenn Jocher 0ada058f63
Generalized regression criterion renaming (#1120) 2020-10-11 17:25:17 +02:00
Glenn Jocher 5fac5ad165
Precision-Recall Curve Feature Addition (#1107)
* initial commit

* Update general.py

Indent update

* Update general.py

refactor duplicate code

* 200 dpi
2020-10-09 14:50:59 +02:00
Glenn Jocher 883924d9dc classifier, export, torch seed updates 2020-10-06 14:54:02 +02:00
Jiacong Fang c5d2331897
Fix increment_dir to use run_xxx for logdir (#1058)
* Fix increment_dir to use run_xxx for logdir 

Rerunning train.py with logdir in the form of `run_xxx` causes index slicing in
```
n = max([int(x[len(dir):x.find('_') if '_' in Path(x).name else None]) for x in d]) + 1  # increment
```
to underflow.

* Replace find with rfind
2020-10-05 15:46:32 +02:00
Glenn Jocher 5a9c5c1d3b add mosaic and warmup to hyperparameters (#931) 2020-09-13 14:08:06 -07:00
Glenn Jocher c54e39464c
check_file() assert unique 2020-09-11 14:33:06 -07:00
Glenn Jocher bc1fd13a7a gsutil cp hyp evolution bug fix (#876) 2020-09-03 20:29:08 -07:00
Glenn Jocher ffe9eb4238 remove if platform.system() == 'Darwin' checks 2020-09-03 11:41:33 -07:00
Glenn Jocher 987c226849 seaborn plotting correlogram addition 2020-08-29 15:13:58 -07:00
rafale77 9776e70988
torch.ops.torchvision.nms (#860)
Don't load the entire torchvision library just for nms when the function is already in the torch library.
2020-08-27 11:13:41 -07:00
Glenn Jocher 31d6c389f2 Update general.py plot_evolution() 2020-08-25 23:08:14 -07:00
Willie Maddox 455f7b8f76
Update general.py (#823)
Fixes #822

`init_seeds` from `torch_utils` import is being overwritten by function `init_seeds` in `general.py`
2020-08-25 13:01:17 -07:00
Glenn Jocher 5a7d79fbe6
Update general.py bbox_iou() with eps improvements (#736)
eps reduced to 1e-9 for additional precaution.
2020-08-25 12:56:39 -07:00
Glenn Jocher f7e075fe93 gsutil cp yaml when evolving to GCP bucket 2020-08-22 15:47:39 -07:00
Glenn Jocher 9dbaa1bbbe Update plot_results() 2020-08-22 15:32:05 -07:00
Glenn Jocher ea5e97fb9b
FP16 NMS (#814) 2020-08-21 14:44:25 -07:00
Glenn Jocher b42e8a531b optimize imports 2020-08-20 21:17:40 -07:00
Glenn Jocher 5e0b90de8f CIoU nan bug fix (#736) 2020-08-20 10:37:55 -07:00
Glenn Jocher ebafd1ead5
single command --resume (#756)
* single command --resume

* else check files, remove TODO

* argparse.Namespace()

* tensorboard lr

* bug fix in get_latest_run()
2020-08-17 16:28:43 -07:00
Glenn Jocher 916d4aad9a
v3.0 Release (#725)
* initial commit

* remove yolov3-spp from test.py study

* update study --img range

* update mAP

* cleanup and speed updates

* update README plot
2020-08-13 14:25:05 -07:00
Hatovix 56c2c344ff
Fix list paths (#721)
* Add list paths on check_dataset

* missing raise statement

* Update general.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-08-12 18:53:38 -07:00
Glenn Jocher 9f482cbcb8 utils.general comment updates/bug fixes 2020-08-11 20:11:44 -07:00
NanoCode012 4949401a94
Fix redundant outputs via Logging in DDP training (#500)
* Change print to logging

* Clean function set_logging

* Add line spacing

* Change leftover prints to log

* Fix scanning labels output

* Fix rank naming

* Change leftover print to logging

* Reorganized DDP variables

* Fix type error

* Make quotes consistent

* Fix spelling

* Clean function call

* Add line spacing

* Update datasets.py

* Update train.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-08-11 11:18:45 -07:00
Glenn Jocher 41523e2c91
Dataset autodownload feature addition (#685)
* initial commit

* move download scripts into data/scripts

* new check_dataset() function in general.py

* move check_dataset() out of with context

* Update general.py

* DDP update

* Update general.py
2020-08-09 20:52:57 -07:00
Glenn Jocher 3c6e2f7668
Single-source training (#680)
* Single-source training

* Extract hyperparameters into seperate files

* weight decay scientific notation yaml reader bug fix

* remove import glob

* intersect_dicts() implementation

* 'or' bug fix

* .to(device) bug fix
2020-08-09 02:12:44 -07:00
Glenn Jocher 7eaf225d55 zero-target training bug fix (#609) 2020-08-05 13:35:31 -07:00
Jirka Borovec d5b6416c87
Explicit Imports (#498)
* expand imports

* optimize

* miss

* fix
2020-08-02 15:47:36 -07:00