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 anni fa
Yonghye Kwon
417a2f425c
Edit comment ( #3759 )
edit comment
3 anni fa
Glenn Jocher
9ac7d388a9
Backwards compatible cache version checks ( #3730 )
3 anni fa
Glenn Jocher
b83e1a4adc
Fix `img2label_paths()` order ( #3720 )
* Fix `img2label_paths()` order
* fix, 1
3 anni fa
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 anni fa
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 anni fa
Glenn Jocher
814806c61d
Update cache check ( #3691 )
Swapped order of operations for faster first per f527704cd3 (r52362419)
3 anni fa
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 anni fa
Glenn Jocher
9b6dba6207
Update `dataset_stats()` to list of dicts ( #3657 )
* Update `dataset_stats()` to list of dicts
@KalenMike
* Update datasets.py
3 anni fa
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 anni fa
Glenn Jocher
6c0e1d9fd7
Update `verify_image_label()` ( #3635 )
3 anni fa
Glenn Jocher
7d3686a686
Update `check_file()` ( #3622 )
* Update `check_file()`
* Update datasets.py
3 anni fa
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 anni fa
Glenn Jocher
958ab92dc1
Remove `opt` from `create_dataloader()`` ( #3552 )
3 anni fa
Glenn Jocher
1b5edb6f8e
Update `dataset_stats()` for HUB ( #3536 )
* Update `dataset_stats()` for HUB
Cleanup of b6fdd2e
* autodownload flag
* Update general.py
* cleanup
3 anni fa
Glenn Jocher
b6fdd2e5e5
Create `dataset_stats()` for HUB
3 anni fa
Glenn Jocher
8d52c1c5c5
Update datasets.py ( #3531 )
Minor updates to https://github.com/ultralytics/yolov5/pull/3505 , inplace accumulation.
3 anni fa
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 anni fa
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 anni fa
Yonghye Kwon
c37f072ba7
Faster HSV augmentation ( #3462 )
remove datatype conversion process that can be skipped
3 anni fa
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 anni fa
Glenn Jocher
fdbe527dc0
Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )" ( #3395 )
This reverts commit 21a9607e00
.
3 anni fa
tudoulei
21a9607e00
`cv2.imread(img, -1)` for IMREAD_UNCHANGED ( #3379 )
* Update datasets.py
* comment
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 anni fa
Glenn Jocher
4d4a2b0520
Ignore blank lines in `*.txt` labels ( #3366 )
Fix for https://github.com/ultralytics/yolov5/issues/958#issuecomment-849512083
3 anni fa
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 anni fa
Glenn Jocher
0e2f2cbb51
Update LoadStreams init fallbacks ( #3295 )
3 anni fa
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 anni fa
Glenn Jocher
13a1c72699
Update datasets.py ( #3216 )
3 anni fa
Glenn Jocher
36b0a9e7d0
Add CAP_PROP_FRAME_COUNT for YouTube sources ( #3193 )
3 anni fa
Glenn Jocher
abfcf9eb79
Replace print() with logging.info() in trainloader ( #3103 )
Might indirectly help #3095 by providing better visibility on source of corruption.
3 anni fa
Glenn Jocher
955eea8b96
Make cache saving optional ( #2977 )
3 anni fa
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 anni fa
Glenn Jocher
aff03be35a
YouTube Bug Fix ( #2818 )
Fix for #2810
```shell
python detect.py --source 0
```
introduced by YouTube Livestream Detection PR #2752
3 anni fa
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 anni fa
zzttqu
1e8ab3f5f2
Add tqdm pbar.close() ( #2644 )
When using tqdm, sometimes it can't print in one line and roll to next line.
3 anni fa
maxupp
196bf10603
Add '*.mpo' to supported image formats ( #2615 )
Co-authored-by: Max Uppenkamp <max.uppenkamp@inform-software.com>
3 anni fa
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 anni fa
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 anni fa
Yonghye Kwon
cd8ed3521d
image weights compatible faster random index generator v2 for mosaic augmentation ( #2383 )
image weights compatible faster random index generator v2 for mosaic augmentation
3 anni fa
Iden Craven
a82dce7faa
Fix labels being missed when image extension appears twice in filename ( #2300 )
3 anni fa
Glenn Jocher
7b833e37bf
LoadStreams() frame loss bug fix ( #2222 )
3 anni fa
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
3 anni fa
Transigent
c9bda112ae
Update utils/datasets.py to support .webp files ( #2174 )
Simply added 'webp' as an image format to the img_formats array so that webp image files can be used as training data.
3 anni fa
train255
e9b3de463a
Unique *.cache filenames fix ( #2134 )
* fix #2121
* Update test.py
* Update train.py
* Update autoanchor.py
* Update datasets.py
* Update log_dataset.py
* Update datasets.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 anni fa
Glenn Jocher
4bdc5a397e
LoadImages() pathlib update ( #2140 )
3 anni fa
Ayush Chaurasia
73a0669930
Start setup for improved W&B integration ( #1948 )
* Add helper functions for wandb and artifacts
* cleanup
* Reorganize files
* Update wandb_utils.py
* Update log_dataset.py
We can remove this code, as the giou hyp has been deprecated for a while now.
* Reorganize and update dataloader call
* yaml.SafeLoader
* PEP8 reformat
* remove redundant checks
* Add helper functions for wandb and artifacts
* cleanup
* Reorganize files
* Update wandb_utils.py
* Update log_dataset.py
We can remove this code, as the giou hyp has been deprecated for a while now.
* Reorganize and update dataloader call
* yaml.SafeLoader
* PEP8 reformat
* remove redundant checks
* Update util files
* Update wandb_utils.py
* Remove word size
* Change path of labels.zip
* remove unused imports
* remove --rect
* log_dataset.py cleanup
* log_dataset.py cleanup2
* wandb_utils.py cleanup
* remove redundant id_count
* wandb_utils.py cleanup2
* rename cls
* use pathlib for zip
* rename dataloader to dataset
* Change import order
* Remove redundant code
* remove unused import
* remove unused imports
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 anni fa
Glenn Jocher
a18efc3a73
Add variable-stride inference support ( #2091 )
3 anni fa
Glenn Jocher
08d3119e09
Add histogram equalization fcn ( #2049 )
3 anni fa
Glenn Jocher
8fcbe43423
Check im.format during dataset caching ( #2042 )
* Check im.format during dataset caching
* Update datasets.py
3 anni fa
Glenn Jocher
d9212140b3
Add xywhn2xyxy() ( #1983 )
3 anni fa