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>
3 years ago
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
3 years ago
Glenn Jocher
0ad6301c96
Update script headers ( #4163 )
* Update download script headers
* cleanup
* bug fix attempt
* bug fix attempt2
* bug fix attempt3
* cleanup
3 years ago
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>
3 years ago
Glenn Jocher
b3dabdcc38
Update `probability` to `p` ( #3980 )
3 years ago
Glenn Jocher
80299a57e2
Numerical stability fix for Albumentations ( #3958 )
3 years ago
Glenn Jocher
443af8b25a
Cache v0.4 update ( #3954 )
3 years ago
Glenn Jocher
8c6f9e15bf
Update `dataset_stats()` for zipped datasets ( #3926 )
* Update `dataset_stats()` for zipped datasets
@KalenMike
* cleanup
3 years ago
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
3 years ago
Glenn Jocher
3c3f8fbd5d
Improved BGR2RGB speeds ( #3880 )
* Update BGR2RGB ops
* speed improvements
* cleanup
3 years ago
Glenn Jocher
9e8fb9fd0b
Create `utils/augmentations.py` ( #3877 )
* Create `utils/augmentations.py`
* cleanup
3 years ago
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>
3 years ago
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>
3 years ago
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
3 years ago
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>
3 years ago
Glenn Jocher
3213d8713f
Fix for `dataset_stats()` with updated data.yaml ( #3819 )
@KalenMike
3 years ago
Glenn Jocher
f89941711c
NGA xView 2018 Dataset Auto-Download ( #3775 )
* update clip_coords for numpy
* uncomment
* cleanup
* Add autosplits
* fix
* cleanup
3 years ago
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>
3 years ago
Yonghye Kwon
417a2f425c
Edit comment ( #3759 )
edit comment
3 years ago
Glenn Jocher
9ac7d388a9
Backwards compatible cache version checks ( #3730 )
3 years ago
Glenn Jocher
b83e1a4adc
Fix `img2label_paths()` order ( #3720 )
* Fix `img2label_paths()` order
* fix, 1
3 years ago
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
3 years ago
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>
3 years ago
Glenn Jocher
814806c61d
Update cache check ( #3691 )
Swapped order of operations for faster first per f527704cd3 (r52362419)
3 years ago
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
3 years ago
Glenn Jocher
9b6dba6207
Update `dataset_stats()` to list of dicts ( #3657 )
* Update `dataset_stats()` to list of dicts
@KalenMike
* Update datasets.py
3 years ago
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>
3 years ago
Glenn Jocher
6c0e1d9fd7
Update `verify_image_label()` ( #3635 )
3 years ago
Glenn Jocher
7d3686a686
Update `check_file()` ( #3622 )
* Update `check_file()`
* Update datasets.py
3 years ago
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)
```
3 years ago
Glenn Jocher
958ab92dc1
Remove `opt` from `create_dataloader()`` ( #3552 )
3 years ago
Glenn Jocher
1b5edb6f8e
Update `dataset_stats()` for HUB ( #3536 )
* Update `dataset_stats()` for HUB
Cleanup of b6fdd2e
* autodownload flag
* Update general.py
* cleanup
3 years ago
Glenn Jocher
b6fdd2e5e5
Create `dataset_stats()` for HUB
3 years ago
Glenn Jocher
8d52c1c5c5
Update datasets.py ( #3531 )
Minor updates to https://github.com/ultralytics/yolov5/pull/3505 , inplace accumulation.
3 years ago
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>
3 years ago
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>
3 years ago
Yonghye Kwon
c37f072ba7
Faster HSV augmentation ( #3462 )
remove datatype conversion process that can be skipped
3 years ago
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
3 years ago
Glenn Jocher
fdbe527dc0
Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )" ( #3395 )
This reverts commit 21a9607e00
.
3 years ago
tudoulei
21a9607e00
`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )
* Update datasets.py
* comment
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 years ago
Glenn Jocher
4d4a2b0520
Ignore blank lines in `*.txt` labels ( #3366 )
Fix for https://github.com/ultralytics/yolov5/issues/958#issuecomment-849512083
3 years ago
Glenn Jocher
c6b5bfca85
Updated cache v0.2 with `hashlib` ( #3350 )
* Update cache v0.2 to include parent hash
Possible fix for https://github.com/ultralytics/yolov5/issues/3349
* Update datasets.py
3 years ago
Glenn Jocher
0e2f2cbb51
Update LoadStreams init fallbacks ( #3295 )
3 years ago
Glenn Jocher
683cefead4
YouTube stream ending fix ( #3277 )
* YouTube stream ending fix
Properly terminates YouTube streams on video end. Should resolve issues #2769 and #3220 .
* Update datasets.py
3 years ago
Glenn Jocher
13a1c72699
Update datasets.py ( #3216 )
3 years ago
Glenn Jocher
36b0a9e7d0
Add CAP_PROP_FRAME_COUNT for YouTube sources ( #3193 )
3 years ago
Glenn Jocher
abfcf9eb79
Replace print() with logging.info() in trainloader ( #3103 )
Might indirectly help #3095 by providing better visibility on source of corruption.
3 years ago
Glenn Jocher
955eea8b96
Make cache saving optional ( #2977 )
3 years ago
JoshSong
5f7d39fede
Cleanup load_image() ( #2871 )
* don't resize up in load_image if augmenting
* cleanup
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 years ago
Glenn Jocher
aff03be35a
YouTube Bug Fix ( #2818 )
Fix for #2810
```shell
python detect.py --source 0
```
introduced by YouTube Livestream Detection PR #2752
3 years ago