Glenn Jocher
45632b2704
Update download() for tar.gz files ( #2919 )
* Update download() for tar.gz files
* Update general.py
3 years ago
Glenn Jocher
1b1ab4cca2
Add file_size() function ( #2911 )
* Add file_size() function
* Update export.py
3 years ago
Glenn Jocher
14d2d2d75f
Update google_utils.py ( #2900 )
3 years ago
Glenn Jocher
264d860f8d
ACON activation function ( #2893 )
* ACON Activation Function
## 🚀 Feature
There is a new activation function [ACON (CVPR 2021)](https://arxiv.org/pdf/2009.04759.pdf ) that unifies ReLU and Swish.
ACON is simple but very effective, code is here: https://github.com/nmaac/acon/blob/main/acon.py#L19
![image](https://user-images.githubusercontent.com/5032208/115676962-a38dfe80-a382-11eb-9883-61fa3216e3e6.png )
The improvements are very significant:
![image](https://user-images.githubusercontent.com/5032208/115680180-eac9be80-a385-11eb-9c7a-8643db552c69.png )
## Alternatives
It also has an enhanced version meta-ACON that uses a small network to learn beta explicitly, which may influence the speed a bit.
## Additional context
[Code](https://github.com/nmaac/acon ) and [paper](https://arxiv.org/pdf/2009.04759.pdf ).
* Update activations.py
3 years ago
r-blmnr
0395e39fd0
Uppercase model filenames enabled ( #2890 )
3 years ago
Glenn Jocher
78fd077657
VisDrone2019-DET Dataset Auto-Download ( #2882 )
* VisDrone Dataset Auto-Download
* add visdrone.yaml
* cleanup
* add VisDrone2019-DET-test-dev
* cleanup VOC
3 years ago
Michael Heilig
d48a34dca7
bug fix: switched rows and cols for correct detections in confusion matrix ( #2883 )
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
f7bc685c2c
Implement yaml.safe_load() ( #2876 )
* Implement yaml.safe_load()
* yaml.safe_dump()
3 years ago
Burhan
c949fc86d1
Detection cropping+saving feature addition for detect.py and PyTorch Hub ( #2827 )
* Update detect.py
* Update detect.py
* Update greetings.yml
* Update cropping
* cleanup
* Update increment_path()
* Update common.py
* Update detect.py
* Update detect.py
* Update detect.py
* Update common.py
* cleanup
* Update detect.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 years ago
Glenn Jocher
c5c647e281
Update increment_path() to handle file paths ( #2867 )
3 years ago
Glenn Jocher
c15e25c40f
PyTorch Hub cv2 .save() .show() bug fix ( #2831 )
* PyTorch Hub cv2 .save() .show() bug fix
cv2.rectangle() was failing on non-contiguous np array inputs. This checks for contiguous arrays and applies is necessary:
```python
imgs[i] = im if im.data.contiguous else np.ascontiguousarray(im) # update
```
* Update plots.py
```python
assert im.data.contiguous, 'Image not contiguous. Apply np.ascontiguousarray(im) to plot_on_box() input image.'
```
* Update hubconf.py
Expand CI tests to OpenCV image.
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
Glenn Jocher
1f3e482bce
ONNX Simplifier ( #2815 )
* ONNX Simplifier
Add ONNX Simplifier to ONNX export pipeline in export.py. Will auto-install onnx-simplifier if onnx is installed but onnx-simplifier is not.
* Update general.py
3 years ago
Robin
1479737064
Flask REST API Example ( #2732 )
* add files
* Update README.md
* Update README.md
* Update restapi.py
pretrained=True and model.eval() are used by default when loading a model now, so no need to call them manually.
* PEP8 reformat
* PEP8 reformat
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 years ago
Glenn Jocher
0f395b3e3b
YOLOv5 v5.0 Release patch 1 ( #2764 )
* torch.jit.trace(model, img, strict=False)
* Update check_file()
* Update hubconf.py
* Update README.md
3 years ago
Glenn Jocher
f5b8f7d54c
YOLOv5 v5.0 Release ( #2762 )
3 years ago
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 years ago
Glenn Jocher
0cae7576a9
utils/wandb_logging PEP8 reformat ( #2755 )
* wandb_logging PEP8 reformat
* Update wandb_utils.py
3 years ago
Glenn Jocher
c03d590320
Add Hub results.pandas() method ( #2725 )
* Add Hub results.pandas() method
New method converts results from torch tensors to pandas DataFrames with column names.
This PR may partially resolve issue https://github.com/ultralytics/yolov5/issues/2703
```python
results = model(imgs)
print(results.pandas().xyxy[0])
xmin ymin xmax ymax confidence class name
0 57.068970 391.770599 241.383545 905.797852 0.868964 0 person
1 667.661255 399.303589 810.000000 881.396667 0.851888 0 person
2 222.878387 414.774231 343.804474 857.825073 0.838376 0 person
3 4.205386 234.447678 803.739136 750.023376 0.658006 5 bus
4 0.000000 550.596008 76.681190 878.669922 0.450596 0 person
```
* Update comments
torch example input now shown resized to size=640 and also now a multiple of P6 stride 64 (see https://github.com/ultralytics/yolov5/issues/2722#issuecomment-814785930 )
* apply decorators
* PEP8
* Update common.py
* pd.options.display.max_columns = 10
* Update common.py
3 years ago
Ayush Chaurasia
3067429307
Add support for list-of-directory data format for wandb ( #2719 )
3 years ago
Ayush Chaurasia
514ebcdf33
Fix : #2674 ( #2683 )
* Set resume flag to false
* Check existance of val dataset
3 years ago
Ayush Chaurasia
2a28ef374b
Set resume flag to false ( #2657 )
3 years ago
Phat Tran
9c803f2f7e
Add --label-smoothing eps argument to train.py (default 0.0) ( #2344 )
* Add label smoothing option
* Correct data type
* add_log
* Remove log
* Add log
* Update loss.py
remove comment (too versbose)
Co-authored-by: phattran <phat.tranhoang@cyberlogitec.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 years ago
Glenn Jocher
866bc7d640
Speed profiling improvements ( #2648 )
* Speed profiling improvements
* Update torch_utils.py
deepcopy() required to avoid adding elements to model.
* Update torch_utils.py
3 years ago
zzttqu
1e8ab3f5f2
Add tqdm pbar.close() ( #2644 )
When using tqdm, sometimes it can't print in one line and roll to next line.
3 years ago
Glenn Jocher
2e95cf3d79
Improve git_describe() fix 1 ( #2635 )
Add stderr=subprocess.STDOUT to catch error messages.
3 years ago
Ayush Chaurasia
518c09578e
W&B resume ddp from run link fix ( #2579 )
* W&B resume ddp from run link fix
* Native DDP W&B support for training, resuming
3 years ago
Glenn Jocher
6e8c5b7678
Improve git_describe() ( #2633 )
Catch 'fatal: not a git repository' returns and return '' instead (observed in GCP Hub checks).
3 years ago
Glenn Jocher
0ff5aeca61
Create date_modified() ( #2616 )
Updated device selection string with fallback for non-git directories.
```python
def select_device(device='', batch_size=None):
# device = 'cpu' or '0' or '0,1,2,3'
s = f'YOLOv5 🚀 {git_describe() or date_modified()} torch {torch.__version__} ' # string
...
```
3 years ago
maxupp
196bf10603
Add '*.mpo' to supported image formats ( #2615 )
Co-authored-by: Max Uppenkamp <max.uppenkamp@inform-software.com>
3 years ago
Glenn Jocher
77415a42e5
Update git_describe() for remote dir usage ( #2606 )
3 years ago
Glenn Jocher
3bb414890a
resume.py typo ( #2603 )
3 years ago
Glenn Jocher
d4456e43b2
Update segment2box() comment ( #2600 )
3 years ago
Glenn Jocher
333ccc5b0f
YOLOv5 PyTorch Hub models >> check_requirements() ( #2592 )
Improved user-feedback following requirements auto-update.
3 years ago
Glenn Jocher
75feeb797c
YOLOv5 PyTorch Hub models >> check_requirements() ( #2591 )
Prints 'Please restart runtime or rerun command for update to take effect.' following package auto-install to inform users to restart/rerun.
3 years ago
Glenn Jocher
2b329b0945
Enhanced check_requirements() with auto-install ( #2575 )
* Update check_requirements() with auto-install
This PR builds on an idea I had to automatically install missing dependencies rather than simply report an error message.
YOLOv5 should now 1) display all dependency issues and not simply display the first missing dependency, and 2) attempt to install/update each missing/VersionConflict package.
* cleanup
* cleanup 2
* Check requirements.txt file exists
* cleanup 3
3 years ago
Ayush Chaurasia
1bf9365280
W&B DDP fix ( #2574 )
3 years ago
Ayush Chaurasia
e8fc97aa38
Improved W&B integration ( #2125 )
* Init Commit
* new wandb integration
* Update
* Use data_dict in test
* Updates
* Update: scope of log_img
* Update: scope of log_img
* Update
* Update: Fix logging conditions
* Add tqdm bar, support for .txt dataset format
* Improve Result table Logger
* Init Commit
* new wandb integration
* Update
* Use data_dict in test
* Updates
* Update: scope of log_img
* Update: scope of log_img
* Update
* Update: Fix logging conditions
* Add tqdm bar, support for .txt dataset format
* Improve Result table Logger
* Add dataset creation in training script
* Change scope: self.wandb_run
* Add wandb-artifact:// natively
you can now use --resume with wandb run links
* Add suuport for logging dataset while training
* Cleanup
* Fix: Merge conflict
* Fix: CI tests
* Automatically use wandb config
* Fix: Resume
* Fix: CI
* Enhance: Using val_table
* More resume enhancement
* FIX : CI
* Add alias
* Get useful opt config data
* train.py cleanup
* Cleanup train.py
* more cleanup
* Cleanup| CI fix
* Reformat using PEP8
* FIX:CI
* rebase
* remove uneccesary changes
* remove uneccesary changes
* remove uneccesary changes
* remove unecessary chage from test.py
* FIX: resume from local checkpoint
* FIX:resume
* FIX:resume
* Reformat
* Performance improvement
* Fix local resume
* Fix local resume
* FIX:CI
* Fix: CI
* Imporve image logging
* (:(:Redo CI tests:):)
* Remember epochs when resuming
* Remember epochs when resuming
* Update DDP location
Potential fix for #2405
* PEP8 reformat
* 0.25 confidence threshold
* reset train.py plots syntax to previous
* reset epochs completed syntax to previous
* reset space to previous
* remove brackets
* reset comment to previous
* Update: is_coco check, remove unused code
* Remove redundant print statement
* Remove wandb imports
* remove dsviz logger from test.py
* Remove redundant change from test.py
* remove redundant changes from train.py
* reformat and improvements
* Fix typo
* Add tqdm tqdm progress when scanning files, naming improvements
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
3 years ago
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 years ago
Glenn Jocher
2d41e70e82
Scipy kmeans-robust autoanchor update ( #2470 )
Fix for https://github.com/ultralytics/yolov5/issues/2394
3 years ago
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 years ago
Glenn Jocher
08d4918d7f
labels.jpg class names ( #2454 )
* labels.png class names
* fontsize=10
3 years ago
Glenn Jocher
f01f3223d5
Integer printout ( #2450 )
* Integer printout
* test.py 'Labels'
* Update train.py
3 years ago
Glenn Jocher
e8a2b83268
GCP sudo docker userdata.sh ( #2393 )
* GCP sudo docker
* cleanup
3 years ago
Glenn Jocher
7c2c95732c
AWS wait && echo "All tasks done." ( #2391 )
3 years ago
Glenn Jocher
ba18528b47
bbox_iou() stability and speed improvements ( #2385 )
3 years ago
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 years ago
Ryan Avery
2c56ad5436
Confusion matrix background axis swap ( #2114 )
3 years ago
Glenn Jocher
fab5085674
EMA bug fix 2 ( #2330 )
* EMA bug fix 2
* update
3 years ago