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-Michaelis
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
Glenn Jocher
a2b3c71636
Add suffix checks ( #4711 )
...
* Add suffix checks
* Cleanup
* Cleanup2
* Cleanup3
2021-09-08 14:36:12 +02:00
Zhiqiang Wang
8e5f9ddbdb
Remove redundant `ComputeLoss` code ( #4701 )
2021-09-08 12:48:33 +02:00
Kalen Michael
2317f86ca4
Optimised Callback Class to Reduce Code and Fix Errors ( #4688 )
...
* added callbacks
* added back callback to main
* added save_dir to callback output
* reduced code count
* updated callbacks
* added default callback class to main, added missing parameters to on_model_save
* Glenn updates
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-09-07 18:32:15 +02:00
Glenn Jocher
548745181a
EarlyStopper updates ( #4679 )
2021-09-05 19:09:53 +02:00
Glenn Jocher
234e8ae6fa
Fix for `plot_evolve()` string argument ( #4639 )
2021-09-01 15:00:13 +02:00
Glenn Jocher
de534e9221
Fix 3 for Arial.ttf redownloads with hub inference ( #4629 )
...
Fix 3 for Arial.ttf redownloads with hub inference, follow-on to #4628 .
2021-08-31 20:54:10 +02:00
Glenn Jocher
a4e8f78c5e
Fix 2 for Arial.ttf redownloads with hub inference ( #4628 )
2021-08-31 20:05:17 +02:00
Glenn Jocher
ba0f80874f
Fix for Arial.ttf redownloads with hub inference ( #4627 )
2021-08-31 15:01:41 +02:00
Glenn Jocher
50a9828679
DDP `torch.jit.trace()` `--sync-bn` fix ( #4615 )
...
* Remove assert
* debug0
* trace=not opt.sync
* sync to sync_bn fix
* Cleanup
2021-08-30 18:35:07 +02:00
Glenn Jocher
bb5ebc290e
Close `matplotlib` plots after opening ( #4612 )
...
* Close plots
* Replace fig.close() for plt.close()
2021-08-30 17:22:21 +02:00
Ayush Chaurasia
11e7c7b48d
W&B: Don't log models in evolve operation ( #4611 )
2021-08-30 17:07:20 +02:00
Glenn Jocher
3a72d4a7e3
Update `check_git_status()` warning ( #4610 )
2021-08-30 17:05:45 +02:00
Glenn Jocher
e7d1842a98
Auto-download Arial.ttf on init ( #4606 )
...
* Auto-download Arial.ttf on init
* Fix ROOT
2021-08-30 14:58:22 +02:00
Glenn Jocher
dc13820c9d
TensorBoard `on_train_end()` speed improvements ( #4605 )
2021-08-30 13:01:41 +02:00
Glenn Jocher
b894e69dfc
Update mosaic plots font size ( #4596 )
2021-08-29 18:05:49 +02:00
Glenn Jocher
dbbc6b5c48
Re-order `plots.py` to class-first ( #4595 )
2021-08-29 17:44:51 +02:00
Glenn Jocher
e5e5ebc799
Auto-UTF handling ( #4594 )
2021-08-29 17:15:18 +02:00
Glenn Jocher
de44376d1b
Create `Annotator()` class ( #4591 )
...
* Add Annotator() class
* Download Arial
* 2x for loop
* Cleanup
* tuple 2 list
* max_size=1920
* bold logging results to
* tolist()
* im = annotator.im
* PIL save in detect.py
* Smart asarray in detect.py
* revert to cv2.imwrite
* Cleanup
* Return result asarray
* Add `Profile()` profiler
* CamelCase Timeout
* Resize after mosaic
* pillow>=8.0.0
* daemon imwrite
* Add cv2 support
* Remove plot_wh_methods and plot_one_box
* pil=False for hubconf.py annotations
* im.shape bug fix
* colorstr common.py
* join daemons
* Update t.daemon
* Removed daemon saving
2021-08-29 16:46:13 +02:00
Takumi Karasawa
7b35971ba5
Fix bug in `plot_one_box` when label is `None` ( #4588 )
2021-08-29 15:08:27 +02:00
Glenn Jocher
bbfafeabdb
Add `Profile()` profiler ( #4587 )
...
* Add `Profile()` profiler
* CamelCase Timeout
2021-08-29 13:49:04 +02:00
Glenn Jocher
93cc015748
Add EarlyStopping feature ( #4576 )
...
* Add EarlyStopping feature
* Add comment
* Cleanup
* Cleanup2
* debug
* debug2
* debug3
* debug3
* debug4
* debug5
* debug6
* debug7
* debug8
* debug9
* debug10
* debug11
* debug12
* Cleanup
* Add TODO for known DDP issue
2021-08-28 19:03:52 +02:00
Glenn Jocher
8ac96b7975
Fix for AP calculation limits 0.0 - 1.0 ( #4563 )
...
This PR brings alignment in AP computation practices with Detectron2 and MMDetection.
Problem first noted by @yusiyoh in https://github.com/ultralytics/yolov5/issues/4546
2021-08-27 13:23:29 +02:00
Glenn Jocher
e899d6e8fb
Fix for corrupt JPEGs auto-fix PR ( #4560 )
...
Auto-fix corrupt JPEGs PR introduced a bug whereby the f.seek() operation read all of the bytes in the image, resulting in the PIL image having nothing to read upon the .save() operation.
Fix was to re-open the image using PIL before saving.
2021-08-27 13:01:21 +02:00
Glenn Jocher
11f85e7e71
Auto-fix corrupt JPEGs ( #4548 )
...
* Autofix corrupt JPEGs
This PR automatically re-saves corrupt JPEGs and trains with the resaved images. WARNING: this will overwrite the existing corrupt JPEGs in a dataset and replace them with correct JPEGs, though the filesize may increase and the image contents may not be exactly the same due to lossy JPEG compression schemes. Results may vary by JPEG decoder and hardware.
Current behavior is to exclude corrupt JPEGs from training with a warning to the user, but many users have been complaining about large parts of their dataset being excluded from training.
* Clarify re-save reason
2021-08-26 15:51:04 +02:00
Glenn Jocher
7b1643b5b5
Add `install=True` argument to `check_requirements` ( #4512 )
...
* Add `install=True` argument to `check_requirements`
* Update general.py
2021-08-23 14:38:30 +02:00
Ayush Chaurasia
7316b78e36
W&B: Refactor the wandb_utils.py file ( #4496 )
...
* Improve docstrings and run names
* default wandb login prompt with timeout
* return key
* Update api_key check logic
* Properly support zipped dataset feature
* update docstring
* Revert tuorial change
* extend changes to log_dataset
* add run name
* bug fix
* bug fix
* Update comment
* fix import check
* remove unused import
* Hardcore .yaml file extension
* reduce code
* Reformat using pycharm
* Remove redundant try catch
* More refactoring and bug fixes
* retry
* Reformat using pycharm
* respect LOGGERS include list
* Fix
* fix
* refactor constructor
* refactor
* refactor
* refactor
* PyCharm reformat
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-23 13:10:07 +02:00
Huu Quan, CAP
1d65e8194d
Fix missing labels after albumentations ( #4455 )
...
* fix missing labels after augmentation
* Update datasets.py
Cleanup
Co-authored-by: Huu Quan <huuquan@HuuQuans-MacBook.local>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-18 12:07:09 +02:00
Jiacong Fang
808bcad3bb
Add TensorFlow and TFLite export ( #1127 )
...
* Add models/tf.py for TensorFlow and TFLite export
* Set auto=False for int8 calibration
* Update requirements.txt for TensorFlow and TFLite export
* Read anchors directly from PyTorch weights
* Add --tf-nms to append NMS in TensorFlow SavedModel and GraphDef export
* Remove check_anchor_order, check_file, set_logging from import
* Reformat code and optimize imports
* Autodownload model and check cfg
* update --source path, img-size to 320, single output
* Adjust representative_dataset
* Put representative dataset in tfl_int8 block
* detect.py TF inference
* weights to string
* weights to string
* cleanup tf.py
* Add --dynamic-batch-size
* Add xywh normalization to reduce calibration error
* Update requirements.txt
TensorFlow 2.3.1 -> 2.4.0 to avoid int8 quantization error
* Fix imports
Move C3 from models.experimental to models.common
* Add models/tf.py for TensorFlow and TFLite export
* Set auto=False for int8 calibration
* Update requirements.txt for TensorFlow and TFLite export
* Read anchors directly from PyTorch weights
* Add --tf-nms to append NMS in TensorFlow SavedModel and GraphDef export
* Remove check_anchor_order, check_file, set_logging from import
* Reformat code and optimize imports
* Autodownload model and check cfg
* update --source path, img-size to 320, single output
* Adjust representative_dataset
* detect.py TF inference
* Put representative dataset in tfl_int8 block
* weights to string
* weights to string
* cleanup tf.py
* Add --dynamic-batch-size
* Add xywh normalization to reduce calibration error
* Update requirements.txt
TensorFlow 2.3.1 -> 2.4.0 to avoid int8 quantization error
* Fix imports
Move C3 from models.experimental to models.common
* implement C3() and SiLU()
* Fix reshape dim to support dynamic batching
* Add epsilon argument in tf_BN, which is different between TF and PT
* Set stride to None if not using PyTorch, and do not warmup without PyTorch
* Add list support in check_img_size()
* Add list input support in detect.py
* sys.path.append('./') to run from yolov5/
* Add int8 quantization support for TensorFlow 2.5
* Add get_coco128.sh
* Remove --no-tfl-detect in models/tf.py (Use tf-android-tfl-detect branch for EdgeTPU)
* Update requirements.txt
* Replace torch.load() with attempt_load()
* Update requirements.txt
* Add --tf-raw-resize to set half_pixel_centers=False
* Add --agnostic-nms for TF class-agnostic NMS
* Cleanup after merge
* Cleanup2 after merge
* Cleanup3 after merge
* Add tf.py docstring with credit and usage
* pb saved_model and tflite use only one model in detect.py
* Add use cases in docstring of tf.py
* Remove redundant `stride` definition
* Remove keras direct import
* Fix `check_requirements(('tensorflow>=2.4.1',))`
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-17 13:18:16 +02:00
Glenn Jocher
f3e3f7603f
TFLite prep ( #4436 )
2021-08-16 17:25:06 +02:00
Glenn Jocher
19d03a955c
Remove DDP process group timeout ( #4422 )
2021-08-15 18:32:41 +02:00
Glenn Jocher
24bea5e4b7
Standardize headers and docstrings ( #4417 )
...
* Implement new headers
* Reformat 1
* Reformat 2
* Reformat 3 - math
* Reformat 4 - yaml
2021-08-14 21:17:51 +02:00
Glenn Jocher
2da4e7acf7
Merge PIL and OpenCV in `plot_one_box(use_pil=False)` ( #4416 )
...
* Merge PIL and OpenCV box plotting functions
* Add ASCII check to plot_one_box
* Cleanup
* Cleanup2
2021-08-14 17:44:15 +02:00
Glenn Jocher
63e09fdc48
Remove `encoding='ascii'` ( #4413 )
...
* Remove `encoding='ascii'`
* Reinstate `encoding='ascii'` in emojis()
2021-08-14 13:47:20 +02:00
Glenn Jocher
e086347377
Update plots.py ( #4407 )
2021-08-14 12:50:27 +02:00
Glenn Jocher
3e7c59ad3b
Fix rename `utils.google_utils` to `utils.downloads` ( #4393 )
2021-08-11 23:40:47 +02:00
Ayush Chaurasia
a4e4553040
W&B: Fix for 4360 ( #4388 )
...
* Improve docstrings and run names
* default wandb login prompt with timeout
* return key
* Update api_key check logic
* Properly support zipped dataset feature
* update docstring
* Revert tuorial change
* extend changes to log_dataset
* add run name
* bug fix
* bug fix
* Update comment
* fix import check
* remove unused import
* Hardcore .yaml file extension
* reduce code
* Reformat using pycharm
* Remove redundant try catch
* More refactoring and bug fixes
* retry
* Reformat using pycharm
* respect LOGGERS include list
* Fix
* fix
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-11 21:56:25 +02:00
Ayush Chaurasia
75d323dd8b
W&B: Add advanced features tutorial ( #4384 )
...
* Improve docstrings and run names
* default wandb login prompt with timeout
* return key
* Update api_key check logic
* Properly support zipped dataset feature
* update docstring
* Revert tuorial change
* extend changes to log_dataset
* add run name
* bug fix
* bug fix
* Update comment
* fix import check
* remove unused import
* Hardcore .yaml file extension
* reduce code
* Reformat using pycharm
* Remove redundant try catch
* More refactoring and bug fixes
* retry
* Reformat using pycharm
* respect LOGGERS include list
* Initial readme update
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-11 18:35:43 +02:00
Sudhanshu Singh
f409d8e54f
Update README.md ( #4309 )
...
remove unnecessary "`"
2021-08-04 22:11:48 +02:00
Glenn Jocher
e78aeac973
Evolve in CSV format ( #4307 )
...
* Update evolution to CSV format
* Update
* Update
* Update
* Update
* Update
* reset args
* reset args
* reset args
* plot_results() fix
* Cleanup
* Cleanup2
2021-08-04 17:13:38 +02:00
Glenn Jocher
4103ce9ad0
Simplify callbacks ( #4289 )
2021-08-04 13:17:35 +02:00
imyhxy
771ac6c53d
Fixed logging level in distributed mode ( #4284 )
...
Co-authored-by: fkwong <huangfuqiang@transai.cn>
2021-08-03 13:11:42 +02:00
junji hashimoto
2d99063201
Feature `python train.py --cache disk` ( #4049 )
...
* Add cache-on-disk and cache-directory to cache images on disk
* Fix load_image with cache_on_disk
* Add no_cache flag for load_image
* Revert the parts('logging' and a new line) that do not need to be modified
* Add the assertion for shapes of cached images
* Add a suffix string for cached images
* Fix boundary-error of letterbox for load_mosaic
* Add prefix as cache-key of cache-on-disk
* Update cache-function on disk
* Add psutil in requirements.txt
* Update train.py
* Cleanup1
* Cleanup2
* Skip existing npy
* Include re-space
* Export return character fix
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-02 18:47:24 +02:00
Ayush Chaurasia
621caea53c
W&B: Fix sweep bug ( #4276 )
...
* Improve docstrings and run names
* default wandb login prompt with timeout
* return key
* Update api_key check logic
* Properly support zipped dataset feature
* update docstring
* Revert tuorial change
* extend changes to log_dataset
* add run name
* bug fix
* bug fix
* Update comment
* fix import check
* remove unused import
* Hardcore .yaml file extension
* reduce code
* Reformat using pycharm
* Remove redundant try catch
* More refactoring and bug fixes
* retry
* Reformat using pycharm
* respect LOGGERS include list
* call wandblogger.log instead of wandb.log
* Fix Sweep bug
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-02 18:41:52 +02:00
Ayush Chaurasia
cd540d8625
W&B: suppress warnings ( #4257 )
...
* Improve docstrings and run names
* default wandb login prompt with timeout
* return key
* Update api_key check logic
* Properly support zipped dataset feature
* update docstring
* Revert tuorial change
* extend changes to log_dataset
* add run name
* bug fix
* bug fix
* Update comment
* fix import check
* remove unused import
* Hardcore .yaml file extension
* reduce code
* Reformat using pycharm
* Remove redundant try catch
* More refactoring and bug fixes
* retry
* Reformat using pycharm
* respect LOGGERS include list
* call wandblogger.log instead of wandb.log
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-01 12:06:53 +02:00
Kalen Michael
b74929c910
Add `train.py` and `val.py` callbacks ( #4220 )
...
* added callbacks
* Update callbacks.py
* Update train.py
* Update val.py
* Fix CamlCase add staticmethod
* Refactor logger into callbacks
* Cleanup
* New callback on_val_image_end()
* Add curves and results images to TensorBoard
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-08-01 00:18:07 +02:00
Glenn Jocher
d8f18834a2
Update `profile()` for CUDA Memory allocation ( #4239 )
...
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Update profile()
* Cleanup
2021-07-30 18:17:19 +02:00
Glenn Jocher
9468657502
Update profiler ( #4236 )
2021-07-30 16:00:47 +02:00
Glenn Jocher
7820614c40
Add `@try_except` decorator ( #4224 )
2021-07-29 17:23:35 +02:00
Glenn Jocher
b60b62e874
PyCharm reformat ( #4209 )
...
* PyCharm reformat
* YAML reformat
* Markdown reformat
2021-07-28 23:35:14 +02:00
Ayush Chaurasia
750465edae
W&B: More improvements and refactoring ( #4205 )
...
* Improve docstrings and run names
* default wandb login prompt with timeout
* return key
* Update api_key check logic
* Properly support zipped dataset feature
* update docstring
* Revert tuorial change
* extend changes to log_dataset
* add run name
* bug fix
* bug fix
* Update comment
* fix import check
* remove unused import
* Hardcore .yaml file extension
* reduce code
* Reformat using pycharm
* Remove redundant try catch
* More refactoring and bug fixes
* retry
* Reformat using pycharm
* respect LOGGERS include list
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-07-28 23:25:15 +02:00
Ayush Chaurasia
e88e8f7a98
W&B: Restructure code to support the new dataset_check() feature ( #4197 )
...
* Improve docstrings and run names
* default wandb login prompt with timeout
* return key
* Update api_key check logic
* Properly support zipped dataset feature
* update docstring
* Revert tuorial change
* extend changes to log_dataset
* add run name
* bug fix
* bug fix
* Update comment
* fix import check
* remove unused import
* Hardcore .yaml file extension
* reduce code
* Reformat using pycharm
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-07-28 17:40:08 +02:00
Glenn Jocher
5d66e48723
Train from `--data path/to/dataset.zip` feature ( #4185 )
...
* Train from `--data path/to/dataset.zip` feature
* Update dataset_stats()
* cleanup
* cleanup2
2021-07-28 02:04:10 +02:00
Ayush Chaurasia
63a1971e31
Improve docstrings and run names ( #4174 )
2021-07-27 15:13:32 +02:00
Glenn Jocher
0ad6301c96
Update script headers ( #4163 )
...
* Update download script headers
* cleanup
* bug fix attempt
* bug fix attempt2
* bug fix attempt3
* cleanup
2021-07-26 15:23:33 +02:00
Glenn Jocher
96e36a7c91
New CSV Logger ( #4148 )
...
* New CSV Logger
* cleanup
* move batch plots into Logger
* rename comment
* Remove total loss from progress bar
* mloss :-1 bug fix
* Update plot_results()
* Update plot_results()
* plot_results bug fix
2021-07-25 19:06:37 +02:00
Glenn Jocher
efe60b5681
Refactor train.py and val.py `loggers` ( #4137 )
...
* Update loggers
* Config
* Update val.py
* cleanup
* fix1
* fix2
* fix3 and reformat
* format sweep.py
* Logger() class
* cleanup
* cleanup2
* wandb package import fix
* wandb package import fix2
* txt fix
* fix4
* fix5
* fix6
* drop wandb into utils/loggers
* fix 7
* rename loggers/wandb_logging to loggers/wandb
* Update message
* Update message
* Update message
* cleanup
* Fix x axis bug
* fix rank 0 issue
* cleanup
2021-07-25 01:18:39 +02:00
Glenn Jocher
63dd65e7ed
Update train.py ( #4136 )
...
* Refactor train.py
* Update imports
* Update imports
* Update optimizer
* cleanup
2021-07-24 16:11:39 +02:00
imyhxy
4495e00016
Fix indentation in `log_training_progress()` ( #4126 )
2021-07-23 14:55:00 +02:00
Glenn Jocher
4bad914761
Update resume.py ( #4115 )
2021-07-22 17:22:11 +02:00
Glenn Jocher
2c073cd207
Add train.py ``--img-size` floor ( #4099 )
2021-07-21 16:50:47 +02:00
Ayush Chaurasia
0cc7c58787
W&B: fix refactor bugs ( #4069 )
2021-07-19 13:57:13 +02:00
Glenn Jocher
7fdcc77bf4
Albumentations >= 1.0.3 ( #4068 )
2021-07-19 13:23:19 +02:00
Glenn Jocher
c8a98cb7cb
Missing `nc` and `names` handling in check_dataset() ( #4066 )
2021-07-19 13:10:21 +02:00
Glenn Jocher
f7d8562060
`val.py` refactor ( #4053 )
...
* val.py refactor
* cleanup
* cleanup
* cleanup
* cleanup
* save after eval
* opt.imgsz bug fix
* wandb refactor
* dataloader to train_loader
* capitalize global variables
* runs/hub/exp to runs/detect/exp
* refactor wandb logging
* Refactor wandb operations (#4061 )
Co-authored-by: Ayush Chaurasia <ayush.chaurarsia@gmail.com>
2021-07-19 10:43:01 +02:00
Ayush Chaurasia
62409eea08
W&B sweeps support ( #3938 )
...
* Add support for W&B Sweeps
* Update and reformat
* Update search space
* reformat
* reformat sweep.py
* Update sweep.py
* Move sweeps files to wandb dir
* Remove print
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-07-14 19:13:02 +02:00
Glenn Jocher
720aaa65c8
Rename `test.py` to `val.py` ( #4000 )
2021-07-14 15:43:54 +02:00
Glenn Jocher
b3dabdcc38
Update `probability` to `p` ( #3980 )
2021-07-12 15:54:43 +02:00
Glenn Jocher
90e60b403d
Update `np.random.random()` to `random.random()` ( #3967 )
2021-07-11 16:56:36 +02:00
Glenn Jocher
8298ce5e88
Update `albumentations>=1.0.2` ( #3966 )
2021-07-11 15:49:30 +02:00
Glenn Jocher
80299a57e2
Numerical stability fix for Albumentations ( #3958 )
2021-07-10 19:50:53 +02:00
Glenn Jocher
443af8b25a
Cache v0.4 update ( #3954 )
2021-07-10 14:18:46 +02:00
Glenn Jocher
a26e7de2bf
Update augmentations.py ( #3948 )
2021-07-09 16:45:04 +02:00
Glenn Jocher
248504cf13
Feature visualization improvements 32 ( #3947 )
2021-07-09 15:23:02 +02:00
Glenn Jocher
8c6f9e15bf
Update `dataset_stats()` for zipped datasets ( #3926 )
...
* Update `dataset_stats()` for zipped datasets
@KalenMike
* cleanup
2021-07-08 11:42:30 +02:00
Glenn Jocher
850970e081
`feature_visualization()` CUDA fix ( #3925 )
2021-07-07 16:23:31 +02:00
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
Glenn Jocher
33202b7f0b
YOLOv5 + Albumentations integration ( #3882 )
...
* Albumentations integration
* ToGray p=0.01
* print confirmation
* create instance in dataloader init method
* improved version handling
* transform not defined fix
* assert string update
* create check_version()
* add spaces
* update class comment
2021-07-05 18:01:54 +02:00
Glenn Jocher
6a3ee7cf03
Hub models `map_location=device` ( #3894 )
...
* Hub models `map_location=device`
* cleanup
2021-07-05 16:20:46 +02:00
Glenn Jocher
3c3f8fbd5d
Improved BGR2RGB speeds ( #3880 )
...
* Update BGR2RGB ops
* speed improvements
* cleanup
2021-07-04 20:12:32 +02:00
Glenn Jocher
9e8fb9fd0b
Create `utils/augmentations.py` ( #3877 )
...
* Create `utils/augmentations.py`
* cleanup
2021-07-04 18:14:04 +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
Valentin Aliferov
831773f5a2
Add EXIF rotation to YOLOv5 Hub inference ( #3852 )
...
* rotating an image according to its exif tag
* Update common.py
* Update datasets.py
* Update datasets.py
faster
* delete extraneous gpg file
* Update common.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-07-02 13:25:54 +02:00
Glenn Jocher
c6c88dc601
Copy-Paste augmentation for YOLOv5 ( #3845 )
...
* Copy-paste augmentation initial commit
* if any segments
* Add obscuration rejection
* Add copy_paste hyperparameter
* Update comments
2021-07-01 00:35:04 +02:00
Feras Oughali
7d6af69638
Fix `LoadStreams()` dataloader frame skip issue ( #3833 )
...
* Update datasets.py to read every 4th frame of streams
* Update datasets.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-30 12:11:29 +02:00
Glenn Jocher
5ea771d93d
Move IoU functions to metrics.py ( #3820 )
2021-06-29 13:18:13 +02:00
Glenn Jocher
3213d8713f
Fix for `dataset_stats()` with updated data.yaml ( #3819 )
...
@KalenMike
2021-06-29 12:44:59 +02:00
Glenn Jocher
02719dde52
Update `feature_visualization()` ( #3807 )
...
* Update `feature_visualization()`
Only plot for data with height, width > 1
* cleanup
* Cleanup
2021-06-28 13:48:14 +02:00
Zigarss
20d45aa4f1
Add feature map visualization ( #3804 )
...
* Add feature map visualization
Add a feature_visualization function to visualize the mid feature map of the model.
* Update yolo.py
* remove boolean from forward and reorder if statement
* remove print from forward
* General cleanup
* Indent
* Update plots.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-28 13:18:45 +02:00
Glenn Jocher
8e7f285051
Fix datasets for aws and get_coco.sh ( #3788 )
...
* merge master
* Update get_coco.sh
2021-06-26 15:29:16 +02:00
Glenn Jocher
8035b61682
Update objectness IoU sort ( #3786 )
2021-06-26 14:52:18 +02:00
Glenn Jocher
157aa2f886
Objectness IoU Sort ( #3610 )
...
Co-authored-by: U-LAPTOP-5N89P8V7\banhu <ban.huang@foxmail.com>
2021-06-26 14:45:53 +02:00
Glenn Jocher
f89941711c
NGA xView 2018 Dataset Auto-Download ( #3775 )
...
* update clip_coords for numpy
* uncomment
* cleanup
* Add autosplits
* fix
* cleanup
2021-06-26 00:49:05 +02:00
Ayush Chaurasia
ffb6e11050
W&B: Update Tables API and comply with new dataset_check ( #3772 )
...
* Update tables API and windows path fix
* update dataset check
2021-06-25 20:45:33 +02:00
Yonghye Kwon
374957317a
Add `xyxy2xywhn()` ( #3765 )
...
* Edit Comments for numpy2torch tensor process
Edit Comments for numpy2torch tensor process
* add xyxy2xywhn
add xyxy2xywhn
* add xyxy2xywhn
* formatting
* pass arguments
pass arguments
* edit comment for xyxy2xywhn()
edit comment for xyxy2xywhn()
* cleanup datasets.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-25 11:47:46 +02:00
Glenn Jocher
f79d7479da
Add optional dataset.yaml `path` attribute ( #3753 )
...
* Add optional dataset.yaml `path` attribute
@KalenMike
* pass locals to python scripts
* handle lists
* update coco128.yaml
* Capitalize first letter
* add test key
* finalize GlobalWheat2020.yaml
* finalize objects365.yaml
* finalize SKU-110K.yaml
* finalize SKU-110K.yaml
* finalize VisDrone.yaml
* NoneType fix
* update download comment
* voc to VOC
* update
* update VOC.yaml
* update VOC.yaml
* remove dashes
* delete get_voc.sh
* force coco and coco128 to ../datasets
* Capitalize Argoverse_HD.yaml
* Capitalize Objects365.yaml
* update Argoverse_HD.yaml
* coco segments fix
* VOC single-thread
* update Argoverse_HD.yaml
* update data_dict in test handling
* create root
2021-06-25 01:25:03 +02:00
Yonghye Kwon
417a2f425c
Edit comment ( #3759 )
...
edit comment
2021-06-24 15:57:27 +02:00
Glenn Jocher
63060910a6
Update `check_datasets()` for dynamic unzip path ( #3732 )
...
@KalenMike
2021-06-22 16:05:38 +02:00
Glenn Jocher
9ac7d388a9
Backwards compatible cache version checks ( #3730 )
2021-06-22 13:50:47 +02:00
Glenn Jocher
b83e1a4adc
Fix `img2label_paths()` order ( #3720 )
...
* Fix `img2label_paths()` order
* fix, 1
2021-06-21 22:50:56 +02:00
Ayush Chaurasia
75c0ff43af
[x]W&B: Don't resume transfer learning runs ( #3604 )
...
* Allow config cahnge
* Allow val change in wandb config
* Don't resume transfer learning runs
* Add entity in log dataset
2021-06-21 14:00:25 +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
Mai Thanh Minh
bf209f6fe9
Skip HSV augmentation when hyperparameters are [0, 0, 0] ( #3686 )
...
* Create shortcircuit in augment_hsv when hyperparameter are zero
* implement faster opt-in
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-19 11:51:21 +02:00
Glenn Jocher
814806c61d
Update cache check ( #3691 )
...
Swapped order of operations for faster first per f527704cd3 (r52362419)
2021-06-19 11:22:09 +02:00
Glenn Jocher
f527704cd3
Cache v0.3: improved corrupt image/label reporting ( #3676 )
...
* Cache v0.3: improved corrupt image/label reporting
Fix for https://github.com/ultralytics/yolov5/issues/3656#issuecomment-863660899
* cleanup
2021-06-18 10:21:47 +02:00
Glenn Jocher
9b6dba6207
Update `dataset_stats()` to list of dicts ( #3657 )
...
* Update `dataset_stats()` to list of dicts
@KalenMike
* Update datasets.py
2021-06-17 13:59:52 +02:00
xiaowk5516
d808855f77
Assert non-premature end of JPEG images ( #3638 )
...
* premature end of JPEG images
* PEP8 reformat
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-16 13:31:26 +02:00
Glenn Jocher
6c0e1d9fd7
Update `verify_image_label()` ( #3635 )
2021-06-16 11:12:15 +02:00
Glenn Jocher
7d3686a686
Update `check_file()` ( #3622 )
...
* Update `check_file()`
* Update datasets.py
2021-06-15 13:21:04 +02:00
Ayush Chaurasia
daab682b06
Suppress wandb images size mismatch warning ( #3611 )
...
* supress wandb images size mismatch warning
* supress wandb images size mismatch warning
* PEP8 reformat and optimize imports
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-14 18:54:58 +02:00
Glenn Jocher
239a11c197
Download COCO and VOC by default ( #3608 )
2021-06-14 13:58:54 +02:00
Glenn Jocher
f8adee156d
merge develop
2021-06-14 10:45:15 +02:00
Glenn Jocher
7a565f130a
Update `dataset_stats()` ( #3593 )
...
@KalenMike this is a PR to add image filenames and labels to our stats dictionary and to save the dictionary to JSON. Save location is next to the train labels.cache file. The single JSON contains all stats for entire dataset.
Usage example:
```python
from utils.datasets import *
dataset_stats('coco128.yaml', verbose=True)
```
2021-06-12 13:26:41 +02:00
Ayush Chaurasia
53d4fc2e26
W&B: Allow changed in config variable #3588
2021-06-11 23:18:57 +02:00
Glenn Jocher
e8c5237403
ConfusionMatrix `normalize=True` fix ( #3587 )
2021-06-11 11:46:05 +02:00
Glenn Jocher
ec2da4a82c
Add ConfusionMatrix `normalize=True` flag ( #3586 )
2021-06-11 11:37:08 +02:00
Glenn Jocher
095197bd4a
Ignore Seaborn plot warnings ( #3576 )
...
* Ignore Seaborn plot warnings
* Update plots.py
* Update metrics.py
2021-06-10 13:51:29 +02:00
dependabot[bot]
c6deb73a89
Bump pip from 18.1 to 19.2 in /utils/google_app_engine ( #3561 )
...
Bumps [pip](https://github.com/pypa/pip ) from 18.1 to 19.2.
- [Release notes](https://github.com/pypa/pip/releases )
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst )
- [Commits](https://github.com/pypa/pip/compare/18.1...19.2 )
---
updated-dependencies:
- dependency-name: pip
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-09 21:14:09 +02:00
Glenn Jocher
5948f20a3d
Update test.py profiling ( #3555 )
...
* Update test.py profiling
* half_precision to half
* inplace
2021-06-09 16:25:17 +02:00
Glenn Jocher
8b5086c21b
Multi-GPU default to single device 0 ( #3554 )
...
* Multi-GPU default to single device 0
* Multi-GPU default to single device 0
* add space
2021-06-09 15:31:47 +02:00
Glenn Jocher
958ab92dc1
Remove `opt` from `create_dataloader()`` ( #3552 )
2021-06-09 13:14:56 +02:00
Glenn Jocher
f8ec71e1c2
Update `check_python(minimum=3.6.2)` ( #3548 )
2021-06-09 11:34:15 +02:00
Glenn Jocher
1b5edb6f8e
Update `dataset_stats()` for HUB ( #3536 )
...
* Update `dataset_stats()` for HUB
Cleanup of b6fdd2e
* autodownload flag
* Update general.py
* cleanup
2021-06-09 10:56:11 +02:00
Glenn Jocher
b6fdd2e5e5
Create `dataset_stats()` for HUB
2021-06-08 23:09:45 +02:00
Glenn Jocher
8d52c1c5c5
Update datasets.py ( #3531 )
...
Minor updates to https://github.com/ultralytics/yolov5/pull/3505 , inplace accumulation.
2021-06-08 18:36:40 +02:00
Dean Mark
28bff22df8
Use multi-threading in cache_labels ( #3505 )
...
* Use multi threading in cache_labels
* PEP8 reformat
* Add num_threads
* changed ThreadPool.imap_unordered to Pool.imap_unordered
* Remove inplace additions
* Update datasets.py
refactor initial desc
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-08 18:00:21 +02:00
Glenn Jocher
317f2ccc9d
Improved `check_requirements()` offline-handling ( #3466 )
...
Improve robustness of `check_requirements()` function to offline environments (do not attempt pip installs when offline).
2021-06-04 21:34:36 +02:00
Glenn Jocher
563ea9475a
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
2021-06-04 21:17:36 +02:00
Yonghye Kwon
c37f072ba7
Faster HSV augmentation ( #3462 )
...
remove datatype conversion process that can be skipped
2021-06-04 20:02:20 +02:00
Glenn Jocher
d40481acc5
Add `timeout()` class ( #3460 )
...
* Add `timeout()` class
* rearrange order
2021-06-04 15:23:33 +02:00
Glenn Jocher
8e3b4a0bf3
Update MixUp augmentation `alpha=beta=32.0` ( #3455 )
...
Per VOC empirical results https://github.com/ultralytics/yolov5/issues/3380#issuecomment-853001307 by @developer0hye
2021-06-04 12:47:53 +02:00
Glenn Jocher
f8651c388f
Parse URL authentication ( #3424 )
...
* Parse URL authentication
* urllib.parse.unquote()
* improved error handling
* improved error handling
* remove %3F
* update check_file()
2021-06-03 18:44:58 +02:00
chocosaj
3cb9ad4fc4
Update FLOPs description ( #3422 )
...
* Update README.md
* Changing FLOPS to FLOPs.
Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
2021-06-03 12:31:51 +02:00
Glenn Jocher
fdbe527dc0
Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )" ( #3395 )
...
This reverts commit 21a9607e00
.
2021-05-31 10:39:00 +02:00
Glenn Jocher
d833ab3d25
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
```
2021-05-30 20:52:42 +02:00
tudoulei
21a9607e00
`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )
...
* Update datasets.py
* comment
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-05-29 21:12:01 +02:00
Glenn Jocher
ba6f3f974b
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
2021-05-28 15:18:44 +02:00
Glenn Jocher
4d4a2b0520
Ignore blank lines in `*.txt` labels ( #3366 )
...
Fix for https://github.com/ultralytics/yolov5/issues/958#issuecomment-849512083
2021-05-27 14:31:26 +02:00
Glenn Jocher
2435bfe896
Add URL download to check_file() ( #3330 )
...
* Add URL file download to check_file()
* cleanup
* pathlib bug fix
2021-05-26 15:51:49 +02:00