Commit Graph
602 Commits
Author SHA1 Message Date
Glenn Jocher 13f7275555 Update/inplace ops (#5233)
* Clip Objects365 autodownload labels (#5214)

Fixes out of bounds labels that seem to affect ~10% of images in dataset.

* Inplace ops
2021-10-18 14:24:48 +02:00
Glenn Jocher 991c654e81 Autofix duplicate label handling (#5210)
* Autofix duplicate labels

PR changes duplicate label handling from report error and ignore image-label pair to report warning and autofix image-label pair. 

This should fix this common issue for users and allow everyone to get started and get a model trained faster and easier than before.

* sign fix

* Cleanup

* Increment cache version

* all to any fix
2021-10-15 12:32:08 -07:00
Glenn Jocher 7ee5aed0b3 Improved check_suffix() robustness to '' and "" (#5192)
* Improved check_suffix() robustness to `''` and `""`

* Cleanup
2021-10-14 12:00:39 -07:00
NauchtanRoboticsandGlenn Jocher 0be58f16f0 Adjust legend labels for classes without instances (#5174)
* legend-labels Adjust legend labels for classes without instances.

* #5158 Re-indexed series names: only classes containing data.

* #5158 Re-indexed series names: only classes containing data.

* Cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-10-14 11:57:00 -07:00
Ayush ChaurasiaandGlenn Jocher 1172ac15fb W&B: DDP fix (#5176)
* fix dpp with wandb disabled

* PyCharm reformat

* Fix

* fix

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-10-13 20:11:04 -07:00
Glenn Jocher e520e820f1 Update autodownload fallbacks to v6.0 assets (#5177) 2021-10-13 19:58:38 -07:00
Ayush ChaurasiaandGlenn Jocher d0bfeb3980 W&B: fix DDP with wandb disabled (#5163)
* fix dpp with wandb disabled

* PyCharm reformat

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-10-13 16:17:15 -07:00
Glenn Jocher a346926996 Add class filtering to LoadImagesAndLabels() dataloader (#5172)
* Add train class filter feature to datasets.py

Allows for training on a subset of total classes if `include_class` list is defined on datasets.py L448:
```python
        include_class = []  # filter labels to include only these classes (optional)
```

* segments fix
2021-10-13 15:48:54 -07:00
Jebastin NadarandGlenn Jocher 9d75e42f98 Refactor Detect() anchors for ONNX <> OpenCV DNN compatibility (#4833)
* refactor anchors and anchor_grid in Detect Layer

* fix CI failures by adding compatibility

* fix tf failure

* fix different devices errors

* Cleanup

* fix anchors overwriting issue

* better refactoring

* Remove self.anchor_grid shape check (redundant with self.grid check)

Also PEP8 / 120 line width

* Convert _make_grid() from static to dynamic method

* Remove anchor_grid.to(device)

clone() should already clone to same device as self.anchors

* fix different devices error

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-10-11 09:58:42 -07:00
Glenn Jocher 4cf7d487a6 Update plots.py (#5127) 2021-10-11 01:59:22 -07:00
Glenn Jocher 276b674513 Fix SKU-110K HUB: OSError (#5106) 2021-10-09 00:12:59 -07:00
Egor OrelandGlenn Jocher 48b00dbc0d Re-open IP-camera videostream if disconnected (#5074)
* Re-open IP-camera videostream if disconnected. Provide IP-streaming analysis stability

* Re-open IP-camera videostream if disconnected. Provide IP-streaming analysis stability

* `self.imgs[i] *= 0` bug fix and cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-10-07 23:26:43 -07:00
Glenn Jocher 57ce73cd4f Update datasets.py comments (#5088) 2021-10-07 16:04:08 -07:00
Glenn Jocher 070af88108 Fix yaml.safe_load() ignore emoji errors (#5060) 2021-10-05 13:41:52 -07:00
Zhiqiang Wang 1922ddeac0 Fix pylint: do not use bare 'except' (#5025)
* Fix E722, do not use bare 'except'

* Remove used codes

* Add FileNotFoundError in LoadImagesAndLabels

* Remove AssertionError

* Ignore LoadImagesAndLabels

* Ignore downloads.py

* Ignore torch_utils.py

* Ignore train.py

* Ignore datasets.py

* Enable utils/download.py

* Fixing exception in thop

* Remove unused code

* Fixing exception in LoadImagesAndLabels

* Fixing exception in exif_size

* Fixing exception in parse_model

* Ignore exceptions in requests

* Revert the exception as suggested

* Revert the exception as suggested
2021-10-03 17:54:40 -07:00
Glenn Jocher ba99092304 Update W&B README (#5006) 2021-09-30 00:35:00 -07:00
Kalen MichaelandGlenn Jocher 76d301bd21 Fix URL parsing bug (#4998)
* added callbacks

* added back callback to main

* added save_dir to callback output

* merged in upstream

* removed ghost code

* fixed parsing error for google temp links

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-09-29 10:48:45 -07:00
Diego Montes 0c87478713 Update wandb_utils.py (#4953)
`is_valset_wandb_artifact` and `is_trainset_wandb_artifact` were referenced before assignment causing wandb to be unusable.
2021-09-28 12:22:31 -07:00
Diego MontesandGlenn Jocher c1bed601e9 Fix isascii() method calls for python 3.6 (#4958)
* fix isascii for python3.6

* update comment with python 3.7 note

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-09-27 20:16:23 -07:00
Glenn Jocher a820b43aca Automatic Chinese fonts plotting (#4951)
* Automatic Chinese fonts plotting

* Default PIL=False
2021-09-27 13:48:15 -07:00
Glenn Jocher 5a8e4343d8 Scope check_file() search space (#4933)
`check_file()` is now limited to searching opt-in directories: /data, /models, /utils. This prevents large non-project directories like /.git and /venv from being searched, which may cause `check_file()` to slow significantly.
2021-09-26 17:11:46 -07:00
Glenn Jocher 793383232f Update default Albumentations (#4931) 2021-09-26 12:10:33 -07:00
Glenn Jocher 39c17ce0b9 Fix root referenced before assignment (#4920)
* Fix `root` referenced before assignment

Fix for bug introduced by #4919 discovered on VOC autodownload:
```
python train.py --data VOC.yaml
```

* Cleanup
2021-09-25 09:16:14 -07:00
Glenn Jocher a64a4c839f Replace os.system('unzip file.zip') -> ZipFile.extractall() (#4919)
* Replace `os.system('unzip file.zip')` -> `ZipFile.extractall()`

* Cleanup
2021-09-25 08:52:36 -07:00
Jiacong FangandGlenn Jocher ce7fa81d4e Avoid out-of-image class labels (#4902)
* Avoid out-of-image class labels

* Update plots.py

* Cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-09-24 09:23:28 -07:00
Ayush Chaurasia 59aae85a7e W&B: Fix dataset check (#4879)
* evolve fix

* Enable login timeout

* fix pkg

* check rank

* don't relogin

* fix

* reformat
2021-09-21 20:02:32 +02:00
Ayush Chaurasia 9febea79de W&B: Login only in master processes (#4866)
* evolve fix

* Enable login timeout

* fix pkg

* check rank

* don't relogin
2021-09-20 16:19:34 +02:00
Glenn Jocher 8ad9e4ed5b Annotator check_font() RANK -1 remove progress (#4864)
* Annotator `check_font()` RANK -1 remove progress

* Cleanup
2021-09-20 13:57:23 +02:00
Glenn Jocher 4c839eeb10 Simplify check_requirements() usage (#4855)
* Simplify `check_requirements()` usage

* remove assert, print()
2021-09-18 18:34:30 +02:00
Glenn Jocher 4d1a2ac87e Update sys.path.append(str(ROOT)) (#4852)
* Update `sys.path.append(str(ROOT))`

* Cleanup
2021-09-18 15:02:08 +02:00
Glenn Jocher 3732f9ac8a Refactor argparser printing to print_args() (#4850)
* Refactor argparser printing to `print_args()`

* Cleanup
2021-09-18 14:16:19 +02:00
Glenn Jocher 84bfa89236 Consolidate init_seeds() (#4849) 2021-09-18 13:28:42 +02:00
Ayush Chaurasia 302a1b0bb0 W&B: Enable login timeout (#4843)
* evolve fix

* Enable login timeout

* fix pkg
2021-09-17 18:59:34 +02:00
Glenn Jocher 4fdaec0449 Single cache_version definition (#4846)
Defines dataset labels *.cache version in a single place, fixing a bug introduced in #4845.
2021-09-17 18:01:52 +02:00
Glenn Jocher fe39562a5f Sorted datasets update to cache_labels() (#4845)
PR should produce datasets sorted alphabetically by filename. Cache version incremented to 0.5. 

Note: will force a one-time re-caching of existing datasets on first-use.
2021-09-17 17:35:45 +02:00
Glenn Jocher 3a822a22ce PIL.ImageDraw.text(anchor=...) removal, reduce to >=7.1.2 (#4842)
* Unpin Pillow

* Update requirements.txt

* Update plots.py
2021-09-17 13:02:37 +02:00
Glenn Jocher 27a4736e96 Fix val.py study plot (#4831)
* Fix val.py study plot

* call plot_val_study

* Rename plot_study_txt to plot_val_study
2021-09-16 17:55:58 +02:00
Kalen MichaelandGlenn Jocher 43b2817f6e Feature/fix export on url (#4823)
* added callbacks

* added back callback to main

* added save_dir to callback output

* merged in upstream

* removed ghost code

* added url check

* Add url2file()

* Update file-only

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-09-16 13:33:54 +02:00
Jihoon Kim fcb225c1c8 Shuffle all 4(or 9) images in mosaic augmentation (#4787)
Thank you for sharing nice open-source codes 👍

I applied to shuffle the order of all 4(or 9) images in mosaic augmentation

Currently, the order of images in mosaic augmentation is not completely random.
The remaining images except the first are randomly arranged. Apply shuffle all to increase the diversity of data composition.
2021-09-15 00:57:06 +02:00
Glenn Jocher c3a93d783d Add TensorFlow formats to export.py (#4479)
* Initial commit

* Remove unused export_torchscript return

* ROOT variable

* Add prefix to fcn arg

* fix ROOT

* check_yaml into run()

* interim fixes

* imgsz=(320, 320)

* Hardcode tf_raw_resize False

* Finish opt elimination

* Update representative_dataset_gen()

* Update export.py with TF methods

* SiLU and GraphDef fixes

* file_size() directory handling feature

* export fixes

* add lambda: to representative_dataset

* Detect training False default

* Fuse false for TF models

* Embed agnostic NMS arguments

* Remove lambda

* TensorFlow.js export success

* Add pb to Usage

* Add *_tfjs_model/ to ignore files

* prepend YOLOv5 to function headers

* Remove end --- comments

* parameterize tfjs export pb file

* update run() data default /ROOT

* update --include help

* update imports

* return ct_model

* Consolidate TFLite export

* pb prerequisite to tfjs

* TF modules CamelCase

* Remove exports from tf.py and cleanup

* pass agnostic NMS arguments

* CI

* CI

* ignore *_web_model/

* Add tensorflow to CI dependencies

* CI tensorflow-cpu

* Update requirements.txt

* Remove tensorflow check_requirement

* CI coreml tfjs

* export only onnx torchscript

* reorder exports torchscript first
2021-09-12 15:52:24 +02:00
Glenn Jocher c47be26f34 Replace path.absolute() with path.resolve() (#4763) 2021-09-11 22:46:33 +02:00
Glenn Jocher cd810c8286 Centralize user_config_dir() decision making (#4755) 2021-09-11 16:32:08 +02:00
Glenn Jocher 22ee6fb7c1 Update is_writeable() for 2 methods (#4744)
* Writeable test

* Fix

* Cleanup
2021-09-10 17:52:33 +02:00
Glenn Jocher a144536f88 Fix is_writeable() for 3 OS support (#4743)
* Fix `is_writeable()` for 3 OS support

* Update general.py
2021-09-10 17:06:22 +02:00
Josh Veitch-MichaelisandGlenn Jocher 19e28e3bfe Add callbacks to train function in W&B sweep (#4742)
* add callbacks to train function in wandb sweep

Fix following https://github.com/ultralytics/yolov5/pull/4688 which modified the function signature to `train`

* Cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-09-10 16:28:52 +02:00
Glenn Jocher 4a025ae97f Fix user_config_dir() for GCP/AWS functions (#4726)
* Fix `user_config_dir()` for GCP/AWS functions

Compatability fix for GCP functions and AWS lambda for user config directory in https://github.com/ultralytics/yolov5/pull/4628

* Windows skip check
2021-09-09 17:57:46 +02:00
JD Costa deb434aefa Make CONFIG_DIR configurable per environment variable (#4727) 2021-09-09 15:29:18 +02:00
Glenn Jocher 8e94bf62d9 Add user_config_dir('Ultralytics') (#4715)
* Add `user_config_dir`

* Linux to .config
2021-09-08 18:13:59 +02:00
Glenn Jocher 25a7e1dae5 Update check_yaml() comment (#4713)
* Update `check_yaml()` comment

* Cleanup
2021-09-08 16:01:03 +02:00
Glenn Jocher f984cce52a Fix check_suffix() (#4712)
Fix a bug when `file=''`
2021-09-08 15:06:31 +02:00