Glenn Jocher
57b0d3a605
Add check_python() ( #3088 )
...
* Add check_python()
Checks python version against minimum version of 3.7.0.
* remove packaging dependency
* refactor import
2021-05-09 15:33:38 +02:00
Ayush Chaurasia
d2a17289c9
Explicitly convert artifact path to posix_path ( #3067 )
...
* Explicitly convert artifact path to posix_path
* Remove redudant str() casting
2021-05-07 19:53:56 +02:00
Ayush Chaurasia
b18ca31ff5
use check_file for --data ( #3035 )
2021-05-05 14:28:19 +02:00
Glenn Jocher
8cab907f60
download() ThreadPool update ( #3027 )
...
* download() ThreadPool update
* update train image count
* cid + 1
2021-05-04 23:37:31 +02:00
Glenn Jocher
5189b3addb
Objects365 Update
2021-05-04 02:25:14 +02:00
Glenn Jocher
41cc7caee6
Add NMS threshold checks ( #3020 )
...
* Add NMS threshold checks
* fix
2021-05-03 15:07:20 +02:00
Glenn Jocher
fcd57028d2
Add is_colab() function ( #3018 )
2021-05-03 12:37:50 +02:00
Glenn Jocher
31ee54c28c
Hubconf.py bug fix ( #3007 )
2021-05-01 18:15:17 +02:00
Glenn Jocher
37eaffec7d
Curl update ( #3004 )
...
* Curl update
* Curl update
2021-05-01 17:29:51 +02:00
Glenn Jocher
4d7bca7648
Add unzip flag to download() ( #3002 )
2021-05-01 12:37:41 +02:00
Glenn Jocher
54652fe3ff
Objects365 update
2021-05-01 00:16:58 +02:00
Ayush Chaurasia
801b469878
Improve performance of dataset Logger ( #2943 )
...
* Improve performance of Dataset Logger
* Fix scaling bug
2021-04-30 21:54:26 +02:00
Glenn Jocher
955eea8b96
Make cache saving optional ( #2977 )
2021-04-30 00:56:44 +02:00
Glenn Jocher
a833ee2a46
Update check_requirements() exclude list ( #2974 )
2021-04-29 21:16:23 +02:00
Glenn Jocher
2c7c075fb1
Update restapi.py ( #2967 )
2021-04-28 17:50:07 +02:00
Glenn Jocher
57812df68c
New Colors() class ( #2963 )
2021-04-28 16:05:14 +02:00
Glenn Jocher
1849916726
Check_requirements() enclosing apostrophe bug fix ( #2929 )
...
This fixes a bug where the '>' symbol in python package requirements was not running correctly with subprocess.check_output() commands.
2021-04-25 23:33:25 +02:00
Glenn Jocher
9c7bb5a52c
ACON Activation batch-size 1 bug patch ( #2901 )
...
* ACON Activation batch-size 1 bug path
This is not a great solution to https://github.com/nmaac/acon/issues/4 but it's all I could think of at the moment.
WARNING: YOLOv5 models with MetaAconC() activations are incapable of running inference at batch-size 1 properly due to a known bug in https://github.com/nmaac/acon/issues/4 with no known solution.
* Update activations.py
* Update activations.py
* Update activations.py
* Update activations.py
2021-04-25 22:54:07 +02:00
NanoCode012
c0d3f80544
Add verbose option to pytorch hub models ( #2926 )
...
* Add verbose and update print to logging
* Fix positonal param
* Revert auto formatting changes
* Update hubconf.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-25 22:01:05 +02:00
Glenn Jocher
45632b2704
Update download() for tar.gz files ( #2919 )
...
* Update download() for tar.gz files
* Update general.py
2021-04-24 15:53:15 +02:00
Glenn Jocher
1b1ab4cca2
Add file_size() function ( #2911 )
...
* Add file_size() function
* Update export.py
2021-04-24 01:31:11 +02:00
Glenn Jocher
14d2d2d75f
Update google_utils.py ( #2900 )
2021-04-22 20:27:32 +02:00
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

The improvements are very significant:

## 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
2021-04-22 17:26:05 +02:00
r-blmnr
0395e39fd0
Uppercase model filenames enabled ( #2890 )
2021-04-22 16:51:21 +02:00
Glenn Jocher
78fd077657
VisDrone2019-DET Dataset Auto-Download ( #2882 )
...
* VisDrone Dataset Auto-Download
* add visdrone.yaml
* cleanup
* add VisDrone2019-DET-test-dev
* cleanup VOC
2021-04-22 12:10:26 +02:00
Michael Heilig
d48a34dca7
bug fix: switched rows and cols for correct detections in confusion matrix ( #2883 )
2021-04-22 00:49:55 +02:00
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>
2021-04-21 15:50:28 +02:00
Glenn Jocher
f7bc685c2c
Implement yaml.safe_load() ( #2876 )
...
* Implement yaml.safe_load()
* yaml.safe_dump()
2021-04-21 14:34:45 +02:00
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>
2021-04-20 23:51:08 +02:00
Glenn Jocher
c5c647e281
Update increment_path() to handle file paths ( #2867 )
2021-04-20 19:47:07 +02:00
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.
2021-04-18 13:47:40 +02:00
Glenn Jocher
aff03be35a
YouTube Bug Fix ( #2818 )
...
Fix for #2810
```shell
python detect.py --source 0
```
introduced by YouTube Livestream Detection PR #2752
2021-04-16 17:58:28 +02:00
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
2021-04-16 14:03:27 +02:00
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>
2021-04-15 13:26:08 +02:00
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
2021-04-11 23:11:43 +02:00
Glenn Jocher
f5b8f7d54c
YOLOv5 v5.0 Release ( #2762 )
2021-04-11 19:23:47 +02:00
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>
2021-04-11 18:53:40 +02:00
Glenn Jocher
0cae7576a9
utils/wandb_logging PEP8 reformat ( #2755 )
...
* wandb_logging PEP8 reformat
* Update wandb_utils.py
2021-04-10 21:09:23 +02:00
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
2021-04-07 16:28:07 +02:00
Ayush Chaurasia
3067429307
Add support for list-of-directory data format for wandb ( #2719 )
2021-04-06 16:57:13 +02:00
Ayush Chaurasia
514ebcdf33
Fix : #2674 ( #2683 )
...
* Set resume flag to false
* Check existance of val dataset
2021-04-02 11:54:50 +02:00
Ayush Chaurasia
2a28ef374b
Set resume flag to false ( #2657 )
2021-03-31 13:47:54 +02:00
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>
2021-03-29 18:45:46 +02:00
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
2021-03-29 15:19:07 +02:00
zzttqu
1e8ab3f5f2
Add tqdm pbar.close() ( #2644 )
...
When using tqdm, sometimes it can't print in one line and roll to next line.
2021-03-29 12:21:25 +02:00
Glenn Jocher
2e95cf3d79
Improve git_describe() fix 1 ( #2635 )
...
Add stderr=subprocess.STDOUT to catch error messages.
2021-03-28 17:09:06 +02:00
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
2021-03-28 16:11:36 +02:00
Glenn Jocher
6e8c5b7678
Improve git_describe() ( #2633 )
...
Catch 'fatal: not a git repository' returns and return '' instead (observed in GCP Hub checks).
2021-03-28 15:39:31 +02:00
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
...
```
2021-03-26 12:52:47 +01:00
maxupp
196bf10603
Add '*.mpo' to supported image formats ( #2615 )
...
Co-authored-by: Max Uppenkamp <max.uppenkamp@inform-software.com>
2021-03-26 12:45:22 +01:00
Glenn Jocher
77415a42e5
Update git_describe() for remote dir usage ( #2606 )
2021-03-26 01:44:00 +01:00
Glenn Jocher
3bb414890a
resume.py typo ( #2603 )
2021-03-25 20:55:20 +01:00
Glenn Jocher
d4456e43b2
Update segment2box() comment ( #2600 )
2021-03-25 15:12:49 +01:00
Glenn Jocher
333ccc5b0f
YOLOv5 PyTorch Hub models >> check_requirements() ( #2592 )
...
Improved user-feedback following requirements auto-update.
2021-03-24 17:51:39 +01:00
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.
2021-03-24 16:42:54 +01:00
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
2021-03-24 01:05:59 +01:00
Ayush Chaurasia
1bf9365280
W&B DDP fix ( #2574 )
2021-03-23 16:54:34 +01:00
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>
2021-03-23 00:44:50 +01:00
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
2021-03-14 23:16:17 -07:00
Glenn Jocher
2d41e70e82
Scipy kmeans-robust autoanchor update ( #2470 )
...
Fix for https://github.com/ultralytics/yolov5/issues/2394
2021-03-14 21:58:12 -07:00
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>
2021-03-14 17:11:27 -07:00
Glenn Jocher
08d4918d7f
labels.jpg class names ( #2454 )
...
* labels.png class names
* fontsize=10
2021-03-12 22:15:41 -08:00
Glenn Jocher
f01f3223d5
Integer printout ( #2450 )
...
* Integer printout
* test.py 'Labels'
* Update train.py
2021-03-12 13:35:44 -08:00
Glenn Jocher
e8a2b83268
GCP sudo docker userdata.sh ( #2393 )
...
* GCP sudo docker
* cleanup
2021-03-07 20:21:49 -08:00
Glenn Jocher
7c2c95732c
AWS wait && echo "All tasks done." ( #2391 )
2021-03-07 20:18:30 -08:00
Glenn Jocher
ba18528b47
bbox_iou() stability and speed improvements ( #2385 )
2021-03-06 13:07:34 -08:00
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
2021-03-05 22:58:26 -08:00
Ryan Avery
2c56ad5436
Confusion matrix background axis swap ( #2114 )
2021-03-02 16:09:52 -08:00
Glenn Jocher
fab5085674
EMA bug fix 2 ( #2330 )
...
* EMA bug fix 2
* update
2021-03-01 17:13:34 -08:00
Iden Craven
a82dce7faa
Fix labels being missed when image extension appears twice in filename ( #2300 )
2021-02-25 18:05:38 -08:00
Glenn Jocher
ec1d8496ba
Improved model+EMA checkpointing ( #2292 )
...
* Enhanced model+EMA checkpointing
* update
* bug fix
* bug fix 2
* always save optimizer
* ema half
* remove model.float()
* model half
* carry ema/model in fp32
* rm model.float()
* both to float always
* cleanup
* cleanup
2021-02-24 18:26:46 -08:00
Glenn Jocher
0070995bd5
Amazon AWS EC2 startup and re-startup scripts ( #2282 )
2021-02-24 01:43:59 -08:00
Glenn Jocher
d5d275b6e9
Amazon AWS EC2 startup and re-startup scripts ( #2185 )
...
* Amazon AWS EC2 startup and re-startup scripts
* Create resume.py
* cleanup
2021-02-23 23:10:14 -08:00
xiaowo1996
83dc1b4484
FLOPS min stride 32 ( #2276 )
...
Signed-off-by: xiaowo1996 <429740343@qq.com>
2021-02-23 09:38:56 -08:00
Glenn Jocher
6f5d6fcdaa
Robust objectness loss balancing ( #2256 )
2021-02-20 11:19:01 -08:00
Glenn Jocher
c09964c27c
Update inference default to multi_label=False ( #2252 )
...
* Update inference default to multi_label=False
* bug fix
* Update plots.py
* Update plots.py
2021-02-19 15:39:09 -08:00
Glenn Jocher
47faf95079
reset head
2021-02-19 15:20:41 -08:00
Glenn Jocher
d2e754b67b
Add isdocker() ( #2232 )
...
* Add isdocker()
* Update general.py
* Update general.py
2021-02-16 15:58:07 -08:00
Glenn Jocher
26c2e54c8f
Add check_imshow() ( #2231 )
...
* Add check_imshow()
* Update general.py
* Update general.py
2021-02-16 13:56:47 -08:00
Glenn Jocher
7b833e37bf
LoadStreams() frame loss bug fix ( #2222 )
2021-02-15 11:02:20 -08:00
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
2021-02-11 21:22:45 -08:00
NanoCode012
a5d5f9262d
Changed socket port and added timeout ( #2176 )
2021-02-10 13:01:48 -08:00
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.
2021-02-10 00:16:38 -08:00
Glenn Jocher
86897e3663
Update train.py test batch_size ( #2148 )
...
* Update train.py
* Update loss.py
2021-02-06 10:29:32 -08:00
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>
2021-02-05 11:12:43 -08:00
Glenn Jocher
4bdc5a397e
LoadImages() pathlib update ( #2140 )
2021-02-05 09:06:23 -08:00
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>
2021-02-01 21:38:41 -08:00
Glenn Jocher
9646ca438a
Update plot_study() ( #2112 )
2021-02-01 13:51:11 -08:00
Glenn Jocher
be9edffded
Update test.py --task speed and study ( #2099 )
...
* Add --speed benchmark
* test range 256 - 1536
* update
* update
* update
* update
2021-01-31 13:58:49 -08:00
Glenn Jocher
a18efc3a73
Add variable-stride inference support ( #2091 )
2021-01-30 13:47:23 -08:00
Glenn Jocher
630ec06af6
Update to colors.TABLEAU_COLORS ( #2069 )
2021-01-28 12:37:21 -08:00
Glenn Jocher
f639e14e4d
Metric-Confidence plots feature addition ( #2057 )
...
* Metric-Confidence plots feature addition
* cleanup
* Metric-Confidence plots feature addition
* cleanup
* Update run-once lines
* cleanup
* save all 4 curves to wandb
2021-01-27 17:10:53 -08:00
Glenn Jocher
f59f80114c
Add 'exclude' tuple to check_requirements() ( #2041 )
2021-01-26 21:17:36 -08:00
Glenn Jocher
59c21c7bcb
W&B log epoch ( #1946 )
...
* W&B log epoch
* capitalize
* W&B log epoch
* capitalize
* Update train.py
New try using https://docs.wandb.ai/library/log#incremental-logging
* Update train.py
* Update test.py
* Update train.py
* Update plots.py
* Update train.py
* Update train.py
* label plot step -1
* update
* update
* update
* update
* update
* update
* Update train.py
* Update train.py
2021-01-26 21:16:01 -08:00
Glenn Jocher
08d3119e09
Add histogram equalization fcn ( #2049 )
2021-01-26 17:30:42 -08:00
Glenn Jocher
8fcbe43423
Check im.format during dataset caching ( #2042 )
...
* Check im.format during dataset caching
* Update datasets.py
2021-01-25 20:55:35 -08:00
Glenn Jocher
3b7feeafdf
Update general.py check_git_status() fix ( #2020 )
2021-01-22 15:59:01 -08:00
Glenn Jocher
aac33f87ad
Update inference multiple-counting ( #2019 )
...
* Update inference multiple-counting
* update github check
2021-01-22 15:39:08 -08:00
Glenn Jocher
77fd83225f
Update google_utils.py ( #2017 )
2021-01-22 15:08:42 -08:00
Glenn Jocher
1445ab2b27
check_git_status() Windows fix ( #2015 )
...
* check_git_status() Windows fix
* Update general.py
* Update general.py
* Update general.py
* Update general.py
* Update general.py
* Update general.py
2021-01-22 12:37:12 -08:00
Glenn Jocher
d9212140b3
Add xywhn2xyxy() ( #1983 )
2021-01-19 13:33:52 -08:00
Glenn Jocher
b1cf25dd9a
check_git_status() asserts ( #1977 )
2021-01-18 10:49:28 -08:00
Abhiram V
17751b9891
Update autoanchor.py with yaml.SafeLoader ( #1971 )
2021-01-18 10:47:42 -08:00
Abhiram V
35400dc7b7
Update plots.py with yaml.SafeLoader ( #1968 )
2021-01-18 10:46:20 -08:00
Glenn Jocher
b26a2f6242
check_git_status() when not exist /workspace ( #1966 )
2021-01-17 11:55:25 -08:00
Glenn Jocher
e8a41e8916
prevent check_git_status() in docker images ( #1951 )
...
* prevent check_git_status() running docker images
* Update general.py
2021-01-16 01:15:38 -08:00
Glenn Jocher
ca9babb8e6
Add ComputeLoss() class ( #1950 )
2021-01-15 13:50:24 -08:00
Glenn Jocher
b75c432ea0
GitHub API rate limit fallback ( #1930 )
2021-01-13 21:09:50 -08:00
Glenn Jocher
051e9e80de
check_git_status() bug fix ( #1925 )
2021-01-13 10:25:53 -08:00
Glenn Jocher
509dd51aca
check_git_status() improvements ( #1916 )
...
* check_online()
* Update general.py
* update check_git_status()
* reverse rev-parse order
* fetch
* improved responsiveness
* comment
* comment
* remove hyp['giou'] compat warning
2021-01-12 21:51:49 -08:00
Glenn Jocher
dd03b20ba5
colorstr() updates ( #1909 )
...
* W&B ImportError message fix
* colorstr() updates
* colorstr() updates
* colorstr() default to 'blue', 'bold'
* train: magenta
* train: blue
2021-01-12 10:33:15 -08:00
Glenn Jocher
1d1c0567a4
PyTorch Hub results.render() ( #1897 )
2021-01-10 20:06:11 -08:00
Glenn Jocher
ffef77124e
Update torch_utils.py ( #1895 )
2021-01-10 12:26:29 -08:00
Glenn Jocher
0f11aaf551
GitHub API rate limit newline ( #1894 )
2021-01-10 11:47:00 -08:00
Glenn Jocher
d06ad3bc3d
GitHub API rate limit fix ( #1894 )
2021-01-10 11:42:45 -08:00
Glenn Jocher
6ab589583c
Add colorstr() ( #1887 )
...
* Add colorful()
* update
* newline fix
* add git description
* --always
* update loss scaling
* update loss scaling 2
* rename to colorstr()
2021-01-09 15:24:18 -08:00
Glenn Jocher
fea9c9b80c
nn.SiLU() citation correction ( #1713 )
2021-01-06 20:58:41 -08:00
Glenn Jocher
e77c77f580
Add check_requirements() ( #1853 )
...
* Add check_requirements()
* add import
* parameterize filename
* add to detect, test
2021-01-06 16:35:40 -08:00
Tommy in Tongji
135ec5c5ce
W&B ID reset on training completion ( #1852 )
...
* Update train.py
Fix the bug of always the same W&B ID and continue overwrite with the old logging.
BUG report
https://github.com/ultralytics/yolov5/issues/1851
* Fix the bug of duplicate W&B ID
fix the bug of https://github.com/ultralytics/yolov5/issues/1851
If we had trained on yolov5s.pt, the program will generate a new unique W&B ID.
If we hadn't, the program will keep the old code, we can still use --resume aug.
* Update general.py
* revert train.py changes
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-01-06 16:27:22 -08:00
Glenn Jocher
69be8e738f
YOLOv5 v4.0 Release ( #1837 )
...
* 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 study.png
* update study.png
* Update datasets.py
2021-01-04 19:54:09 -08:00
Glenn Jocher
0e341c5660
Create one_cycle() function ( #1836 )
2021-01-04 15:49:08 -08:00
Glenn Jocher
9f5a18bb80
Torch CUDA synchronize update ( #1826 )
...
* torch.cuda.synchronize() update
* torch.cuda.synchronize() update
* torch.cuda.synchronize() update
* newline
2021-01-03 11:23:12 -08:00
Glenn Jocher
c0ffcdf998
Display correct CUDA devices ( #1776 )
...
* Display correct CUDA devices
* cleanup
2020-12-24 13:01:35 -08:00
Glenn Jocher
3004fb5bc1
Automatic m.half() profile on x.half()
2020-12-21 15:20:33 -08:00
Glenn Jocher
0bd9c48609
Update torch_utils.py
...
FLOPS to GFLOPS
2020-12-21 13:29:52 -08:00
Glenn Jocher
394d1c89f3
Input channel yaml['ch'] addition ( #1741 )
2020-12-19 10:54:01 -08:00
Glenn Jocher
685d601308
Increase plot_labels() speed ( #1736 )
2020-12-18 18:05:38 -08:00
Glenn Jocher
49abc722fc
Update profile_idetection() ( #1727 )
2020-12-18 01:19:17 -08:00
Glenn Jocher
d5289b54c4
clean_str() function addition ( #1674 )
...
* clean_str() function addition
* cleanup
* add euro symbol €
* add closing exclamation (spanish)
* cleanup
2020-12-17 17:20:20 -08:00
Glenn Jocher
6bd5e8bca7
nn.SiLU() export support ( #1713 )
2020-12-16 17:55:57 -08:00
Polydefkis Gkagkos
1fc9d42a64
NMS --classes 0 bug fix ( #1710 )
2020-12-16 08:58:51 -08:00
Glenn Jocher
8bc0027afc
Update loss criteria constructor ( #1711 )
2020-12-16 08:39:35 -08:00
NanoCode012
035ac82ed0
Fix torch multi-GPU --device error ( #1701 )
...
* Fix torch GPU error
* Update torch_utils.py
single-line device =
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-12-15 20:42:14 -08:00
Glenn Jocher
69ea70cd3b
Add idetection_profile() function to plots.py ( #1700 )
2020-12-15 18:35:47 -08:00
Glenn Jocher
54043a9fa4
Streaming --save-txt bug fix ( #1672 )
...
* Streaming --save-txt bug fix
* cleanup
2020-12-11 15:45:32 -08:00
Glenn Jocher
ada90e3901
Profile() feature addition ( #1673 )
...
* Profile() feature addition
* cleanup
2020-12-11 09:30:39 -08:00
Glenn Jocher
94a7f55c4e
FReLU bias=False bug fix ( #1666 )
2020-12-10 13:06:15 -08:00
Glenn Jocher
2e8e02745b
vast.ai compatability updates ( #1657 )
2020-12-09 19:01:08 -08:00
Glenn Jocher
fa8f1fb0e9
Simplify autoshape() post-process ( #1653 )
...
* Simplify autoshape() post-process
* cleanup
* cleanup
2020-12-09 07:44:06 -08:00
Glenn Jocher
84f9bb5d92
Normalized mosaic plotting bug fix ( #1647 )
2020-12-08 18:44:13 -08:00
Glenn Jocher
0bb43953eb
Reinstate PR curve sentinel values ( #1645 )
2020-12-08 17:40:49 -08:00
Glenn Jocher
68e6ab668b
Hub device mismatch bug fix ( #1619 )
2020-12-06 17:53:38 +01:00
Glenn Jocher
791dadb51c
Pycocotools best.pt after COCO train ( #1616 )
...
* Pycocotools best.pt after COCO train
* cleanup
2020-12-06 14:58:33 +01:00
Glenn Jocher
8918e63476
Increase FLOPS robustness ( #1608 )
2020-12-05 11:41:34 +01:00
Glenn Jocher
f010147578
Update matplotlib.use('Agg') tight ( #1583 )
...
* Update matplotlib tight_layout=True
* udpate
* udpate
* update
* png to ps
* update
* update
2020-12-02 15:53:16 +01:00
Glenn Jocher
784feae30a
Update matplotlib svg backend ( #1580 )
2020-12-02 14:05:12 +01:00
Hu Ye
577f298d9b
plot_images() scale bug fix ( #1566 )
...
fix bugs in plot_images
2020-12-01 11:29:59 +01:00
Glenn Jocher
b6ed1104a6
Daemon thread plotting ( #1561 )
...
* Daemon thread plotting
* remove process_batch
* plot after print
2020-11-30 16:44:14 +01:00
Glenn Jocher
cff9263490
f.read().strip() ( #1551 )
2020-11-29 11:59:52 +01:00
Glenn Jocher
9fa7f9f598
f.read().strip()
2020-11-29 11:58:14 +01:00
Glenn Jocher
96a84468b9
Update labels_to_image_weights() ( #1545 )
2020-11-28 12:25:45 +01:00
Glenn Jocher
c9798ae0e1
Update plot_study_txt() ( #1533 )
2020-11-26 22:18:17 +01:00
Glenn Jocher
0f2057ed33
Targets scaling bug fix ( #1529 )
2020-11-26 18:33:28 +01:00
Glenn Jocher
2c3efa430b
Mosaic plots bug fix ( #1526 )
2020-11-26 14:02:22 +01:00
Glenn Jocher
12499f1c01
--image_weights bug fix ( #1524 )
2020-11-26 13:25:51 +01:00
Glenn Jocher
9728e2b8ae
--image_weights bug fix ( #1524 )
2020-11-26 11:49:01 +01:00
Glenn Jocher
e9a0ae6f19
Cache bug fix ( #1513 )
...
* Caching bug fix #1508
* np.zeros((0,5)) x2
2020-11-25 20:33:14 +01:00
yxNONG
b3ceffb513
Add QFocalLoss() ( #1482 )
...
* Update loss.py
implement the quality focal loss which is a more general case of focal loss
more detail in https://arxiv.org/abs/2006.04388
In the obj loss (or the case cls loss with label smooth), the targets is no long barely be 0 or 1 (can be 0.7), in this case, the normal focal loss is not work accurately
quality focal loss in behave the same as focal loss when the target is equal to 0 or 1, and work accurately when targets in (0, 1)
example:
targets:
tensor([[0.6225, 0.0000, 0.0000],
[0.9000, 0.0000, 0.0000],
[1.0000, 0.0000, 0.0000]])
___________________________
pred_prob:
tensor([[0.6225, 0.2689, 0.1192],
[0.7773, 0.5000, 0.2227],
[0.8176, 0.8808, 0.1978]])
____________________________
focal_loss
tensor([[0.0937, 0.0328, 0.0039],
[0.0166, 0.1838, 0.0199],
[0.0039, 1.3186, 0.0145]])
______________
qfocal_loss
tensor([[7.5373e-08, 3.2768e-02, 3.9179e-03],
[4.8601e-03, 1.8380e-01, 1.9857e-02],
[3.9233e-03, 1.3186e+00, 1.4545e-02]])
we can see that targets[0][0] = 0.6255 is almost the same as pred_prob[0][0] = 0.6225,
the targets[1][0] = 0.9 is greater then pred_prob[1][0] = 0.7773 by 0.1227
however, the focal loss[0][0] = 0.0937 larger then focal loss[1][0] = 0.0166 (which against the purpose of focal loss)
for the quality focal loss , it implement the case of targets not equal to 0 or 1
* Update loss.py
2020-11-25 19:32:27 +01:00
Glenn Jocher
2026d4c5eb
Update caching ( #1496 )
2020-11-24 16:25:21 +01:00
Glenn Jocher
bde5d9aaaa
Update caching ( #1496 )
2020-11-24 16:23:00 +01:00
Glenn Jocher
0822cda781
Update caching ( #1496 )
2020-11-24 16:22:02 +01:00
Glenn Jocher
89c7a5b8dc
Update caching ( #1496 )
2020-11-24 16:13:04 +01:00
igornishka
44f42b1589
changed prints to logging in utils/datasets ( #1315 )
...
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-11-24 16:03:19 +01:00
Glenn Jocher
7aeef2dca5
Prevent PR plotting ( #1489 )
2020-11-24 00:46:01 +01:00
Glenn Jocher
354109c54c
Autosplit ( #1488 )
2020-11-23 18:35:25 +01:00
Glenn Jocher
4798e66fdf
Autosplit ( #1488 )
2020-11-23 17:18:21 +01:00
Glenn Jocher
0a3ff71ae0
Confusion matrix ( #1474 )
...
* initial commit
* add plotting
* matrix to cpu
* bug fix
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* seaborn pandas to requirements.txt
* seaborn pandas to requirements.txt
* update wandb plotting
* remove pandas
* if plots
* if plots
* if plots
* if plots
* if plots
* initial commit
* add plotting
* matrix to cpu
* bug fix
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* update plot
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* seaborn pandas to requirements.txt
* seaborn pandas to requirements.txt
* update wandb plotting
* remove pandas
* if plots
* if plots
* if plots
* if plots
* if plots
* Cat apriori to autolabels
* cleanup
2020-11-23 15:27:14 +01:00
Glenn Jocher
95fa65339f
Cat apriori to autolabels ( #1484 )
2020-11-23 13:38:47 +01:00
Glenn Jocher
201bafc7cf
Sync train and test iou_thresh ( #1465 )
...
* Sync train and test iou_thresh
* Sync train and test iou_thresh
* weights names .lower()
* Notebook update
2020-11-21 12:38:35 +01:00
Glenn Jocher
a70e554fc3
Remove redundant downloads mirror ( #1461 )
2020-11-20 13:10:56 +01:00
Glenn Jocher
394131c2aa
Use torchvision.ops.nms ( #1460 )
2020-11-20 11:23:36 +01:00
yujun
05a955a3f6
FLOPS computation device bug fix ( #1447 )
...
* Update torch_utils.py
fix issue#113 , inputs device should be same with model parameters' device
* Update torch_utils.py
* Update torch_utils.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-11-19 12:56:20 +01:00
Glenn Jocher
64bce3c822
Update labels.png with rectangles fix ( #1432 )
2020-11-18 12:27:30 +01:00
Glenn Jocher
1542ccadb2
Update labels.png with rectangles ( #1432 )
2020-11-18 00:17:33 +01:00
Glenn Jocher
4250f84dfb
Update PR curve ( #1428 )
...
* Update PR curve
* legend outside
* list(Path().glob())
2020-11-17 17:29:55 +01:00
Jacobsolawetz
8d2d6d2349
Update img2label_paths() ( #1414 )
2020-11-17 13:26:06 +01:00
Glenn Jocher
f5429260ca
PyTorch Hub and autoShape update ( #1415 )
...
* PyTorch Hub and autoShape update
* comment x for imgs
* reduce comment
2020-11-16 23:09:55 +01:00
Glenn Jocher
92c9b72832
Matplotlib AGG backend ( #1413 )
2020-11-16 16:34:07 +01:00
Glenn Jocher
548a98a391
Recursive directories dataset capability ( #1408 )
...
* Recursive directories dataset capability
* x.split('.')[-1]
* f += glob.glob(f"{p}{os.sep}**.*", recursive=True)
* f += glob.glob(str(p / '**.*'), recursive=True)
* remove . from image and vid formats
* .txt to txt
* str(p / '**' / '*.*')
2020-11-16 16:24:57 +01:00
Glenn Jocher
9c91aeae10
W&B logging add hyperparameters ( #1399 )
...
* W&B logging add hyperparameters
* hyp bug fix and image logging updates
* if plots and wandb:
* cleanup
* wandb/ gitignore add
* cleanup 2
* cleanup 3
* move wandb import to top of file
* wandb evolve
* update import
* wandb.run.finish()
* default anchors: 3
2020-11-16 13:35:34 +01:00
Glenn Jocher
9f27902368
Improved FLOPS computation ( #1398 )
2020-11-14 14:48:55 +01:00
Glenn Jocher
d8f5fcfe87
Improved FLOPS computation ( #1398 )
...
* Improved FLOPS computation
* update comment
2020-11-14 14:39:46 +01:00
Glenn Jocher
fe341fa44d
Utils reorganization ( #1392 )
...
* Utils reorganization
* Add new utils files
* cleanup
* simplify
* reduce datasets.py
* remove evolve.sh
* loadWebcam cleanup
2020-11-14 11:50:32 +01:00
Glenn Jocher
c4addd7761
Unified '/project/name' results saving ( #1377 )
...
* Project/name update
* Update ci-testing.yml
* address project with path separator failure mode
* Project/name update
* address project with path separator failure mode
* Update ci-testing.yml
* detect.py default --name bug fix
* missing rstrip PR
* train/exp0 to train/exp
2020-11-12 23:37:46 +01:00
Glenn Jocher
67bf9a974e
Replace 'ground truth' with 'labels' ( #1337 )
...
* Replace 'ground truth' with 'labels'
* Using torch... update
2020-11-10 14:15:03 +01:00
Glenn Jocher
19e2482458
PyTorch version to screen and cleanup ( #1325 )
...
* Create flatten_recursive() helper function
* cleanup
* print torch version
2020-11-09 12:24:11 +01:00
Glenn Jocher
4821d076e2
Increment train, test, detect runs/ ( #1322 )
...
* Increment train, test, detect runs/
* Update ci-testing.yml
* inference/images to data/images
* move images
* runs/exp to runs/train/exp
* update 'results saved to %s' str
2020-11-08 19:39:05 +01:00
Glenn Jocher
d3e7778151
imap bug fix
2020-11-07 02:27:31 +01:00
Glenn Jocher
194f16844e
Multi-threaded image caching
2020-11-07 02:18:18 +01:00
Glenn Jocher
ea7e78cb11
Grid indices overflow bug fix ( #1316 )
2020-11-06 19:17:50 +01:00
Glenn Jocher
fed5d9cdfb
Grid indices overflow bug fix ( #1313 )
2020-11-06 13:40:11 +01:00
Glenn Jocher
2062765e06
auto-download v3.1 models ( #1259 )
2020-11-01 20:11:41 +01:00
Glenn Jocher
c8c5ef36c9
PyTorch 1.7.0 Compatibility Updates ( #1233 )
...
* torch 1.7.0 compatibility updates
* add inference verification
2020-10-28 15:03:50 +01:00
Glenn Jocher
453acdec67
Update tensorboard logging
2020-10-26 01:08:33 +01:00
Glenn Jocher
8e9b3d0205
Precision-Recall Curve feature update #1206
2020-10-25 12:59:16 +01:00
Glenn Jocher
ed85038c38
Precision-Recall Curve feature update ( #1206 )
...
* Precision-Recall Curve feature update
* sentinel value update
2020-10-25 12:55:52 +01:00
Glenn Jocher
481d46cffb
Improved corruption handling during scan and cache ( #999 )
2020-10-24 15:09:19 +02:00
Glenn Jocher
d61930e017
Improved corruption handling during scan and cache ( #999 )
2020-10-24 14:50:50 +02:00
Shiwei Song
9291daa6f7
fix padding for rectangular inference ( #1165 )
...
Co-authored-by: swsong <swsong@stratosphere.mobi>
2020-10-19 12:22:22 +02:00
Glenn Jocher
3b57cb5641
Simplified inference ( #1153 )
2020-10-15 20:10:08 +02:00