Glenn Jocher
80299a57e2
Numerical stability fix for Albumentations ( #3958 )
3 年之前
Glenn Jocher
443af8b25a
Cache v0.4 update ( #3954 )
3 年之前
Glenn Jocher
8c6f9e15bf
Update `dataset_stats()` for zipped datasets ( #3926 )
* Update `dataset_stats()` for zipped datasets
@KalenMike
* cleanup
3 年之前
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 年之前
Glenn Jocher
3c3f8fbd5d
Improved BGR2RGB speeds ( #3880 )
* Update BGR2RGB ops
* speed improvements
* cleanup
3 年之前
Glenn Jocher
9e8fb9fd0b
Create `utils/augmentations.py` ( #3877 )
* Create `utils/augmentations.py`
* cleanup
3 年之前
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 年之前
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 年之前
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 年之前
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 年之前
Glenn Jocher
3213d8713f
Fix for `dataset_stats()` with updated data.yaml ( #3819 )
@KalenMike
3 年之前
Glenn Jocher
f89941711c
NGA xView 2018 Dataset Auto-Download ( #3775 )
* update clip_coords for numpy
* uncomment
* cleanup
* Add autosplits
* fix
* cleanup
3 年之前
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 年之前
Yonghye Kwon
417a2f425c
Edit comment ( #3759 )
edit comment
3 年之前
Glenn Jocher
9ac7d388a9
Backwards compatible cache version checks ( #3730 )
3 年之前
Glenn Jocher
b83e1a4adc
Fix `img2label_paths()` order ( #3720 )
* Fix `img2label_paths()` order
* fix, 1
3 年之前
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 年之前
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 年之前
Glenn Jocher
814806c61d
Update cache check ( #3691 )
Swapped order of operations for faster first per f527704cd3 (r52362419)
3 年之前
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 年之前
Glenn Jocher
9b6dba6207
Update `dataset_stats()` to list of dicts ( #3657 )
* Update `dataset_stats()` to list of dicts
@KalenMike
* Update datasets.py
3 年之前
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 年之前
Glenn Jocher
6c0e1d9fd7
Update `verify_image_label()` ( #3635 )
3 年之前
Glenn Jocher
7d3686a686
Update `check_file()` ( #3622 )
* Update `check_file()`
* Update datasets.py
3 年之前
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 年之前
Glenn Jocher
958ab92dc1
Remove `opt` from `create_dataloader()`` ( #3552 )
3 年之前
Glenn Jocher
1b5edb6f8e
Update `dataset_stats()` for HUB ( #3536 )
* Update `dataset_stats()` for HUB
Cleanup of b6fdd2e
* autodownload flag
* Update general.py
* cleanup
3 年之前
Glenn Jocher
b6fdd2e5e5
Create `dataset_stats()` for HUB
3 年之前
Glenn Jocher
8d52c1c5c5
Update datasets.py ( #3531 )
Minor updates to https://github.com/ultralytics/yolov5/pull/3505 , inplace accumulation.
3 年之前
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 年之前
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 年之前
Yonghye Kwon
c37f072ba7
Faster HSV augmentation ( #3462 )
remove datatype conversion process that can be skipped
3 年之前
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 年之前
Glenn Jocher
fdbe527dc0
Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )" ( #3395 )
This reverts commit 21a9607e00
.
3 年之前
tudoulei
21a9607e00
`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )
* Update datasets.py
* comment
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 年之前
Glenn Jocher
4d4a2b0520
Ignore blank lines in `*.txt` labels ( #3366 )
Fix for https://github.com/ultralytics/yolov5/issues/958#issuecomment-849512083
3 年之前
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 年之前
Glenn Jocher
0e2f2cbb51
Update LoadStreams init fallbacks ( #3295 )
3 年之前
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 年之前
Glenn Jocher
13a1c72699
Update datasets.py ( #3216 )
3 年之前
Glenn Jocher
36b0a9e7d0
Add CAP_PROP_FRAME_COUNT for YouTube sources ( #3193 )
3 年之前
Glenn Jocher
abfcf9eb79
Replace print() with logging.info() in trainloader ( #3103 )
Might indirectly help #3095 by providing better visibility on source of corruption.
3 年之前
Glenn Jocher
955eea8b96
Make cache saving optional ( #2977 )
3 年之前
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 年之前
Glenn Jocher
aff03be35a
YouTube Bug Fix ( #2818 )
Fix for #2810
```shell
python detect.py --source 0
```
introduced by YouTube Livestream Detection PR #2752
3 年之前
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>
3 年之前
zzttqu
1e8ab3f5f2
Add tqdm pbar.close() ( #2644 )
When using tqdm, sometimes it can't print in one line and roll to next line.
3 年之前
maxupp
196bf10603
Add '*.mpo' to supported image formats ( #2615 )
Co-authored-by: Max Uppenkamp <max.uppenkamp@inform-software.com>
3 年之前
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
3 年之前
Yann Defretin
38ff499b26
Update autosplit() with annotated_only option ( #2466 )
* Be able to create dataset from annotated images only
Add the ability to create a dataset/splits only with images that have an annotation file, i.e a .txt file, associated to it. As we talked about this, the absence of a txt file could mean two things:
* either the image wasn't yet labelled by someone,
* either there is no object to detect.
When it's easy to create small datasets, when you have to create datasets with thousands of images (and more coming), it's hard to track where you at and you don't want to wait to have all of them annotated before starting to train. Which means some images would lack txt files and annotations, resulting in label inconsistency as you say in #2313 . By adding the annotated_only argument to the function, people could create, if they want to, datasets/splits only with images that were labelled, for sure.
* Cleanup and update print()
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 年之前