Glenn Jocher
956be8e642
YOLOv5 release v6.0 ( #5141 )
...
* Update P5 models
* Update P6 models
* Update with GFLOPs and Params
* Update with GFLOPs and Params
* Update README
* Update
* Update README
* Update
* Update
* Add times
* Update README
* Update results
* Update results
* Update results
* Update hyps
* Update plots
* Update plots
* Update README.md
* Add nano models to hubconf.py
2021-10-11 23:47:18 -07:00
Glenn Jocher
0bf24cf641
Add OpenCV DNN option for ONNX inference ( #5136 )
...
* Add OpenCV DNN option for ONNX inference
Usage:
```bash
python detect.py --weights yolov5s.onnx # ONNX Runtime inference
python detect.py --weights yolov5s.onnx -dnn # OpenCV DNN inference
```
* DNN prediction to tensor
* Update detect.py
2021-10-11 12:39:20 -07:00
Glenn Jocher
4cf7d487a6
Update plots.py ( #5127 )
2021-10-11 01:59:22 -07:00
Glenn Jocher
7d37b3c52e
Update val.py pad = 0.0 if task == speed else 0.5 ( #5121 )
...
* Update val.py `pad = 0.0 if task == speed else 0.5`
* Cleanup
2021-10-10 23:20:42 -07:00
Glenn Jocher
ba4b79de8b
Update val.py --speed and --study usages ( #5120 )
2021-10-10 21:15:28 -07:00
Glenn Jocher
4f9718abe6
Pass --device for --task study ( #5118 )
2021-10-10 15:07:26 -07:00
Glenn Jocher
276b674513
Fix SKU-110K HUB: OSError ( #5106 )
2021-10-09 00:12:59 -07:00
Glenn Jocher
57ce73cd4f
Update datasets.py comments ( #5088 )
2021-10-07 16:04:08 -07:00
Glenn Jocher
ce8e5dc8bb
Update Dockerfile to ADD Arial.ttf ( #5084 )
...
* Update Dockerfile to `ADD` Arial.ttf
Fix for `Arial.ttf download in Docker` #5078
* Cleanup
* Cleanup2
2021-10-07 14:16:33 -07:00
Glenn Jocher
070af88108
Fix yaml.safe_load() ignore emoji errors ( #5060 )
2021-10-05 13:41:52 -07:00
Glenn Jocher
5afc9c25ef
Implement --save-period locally ( #5047 )
...
This PR adds a new training argument `--save-period` to save training checkpoints every `x` epochs. To save training every 50 epochs for example:
```
python train.py --save-period 50 # saves epoch50.pt, epoch100.pt, epoch150.pt, ... etc.
```
This saved checkpoints in addition to existing last.pt and best.pt checkpoints and does not affect their behavior. Default value is -1, i.e. disabled.
2021-10-04 18:48:46 -07:00
Glenn Jocher
d133968b1e
Clip TTA Augmented Tails ( #5028 )
...
* Clip TTA Augmented Tails
Experimental TTA update.
* Update yolo.py
* Update yolo.py
* Update yolo.py
* Update yolo.py
2021-10-04 15:48:55 -07:00
Glenn Jocher
b0ade48457
Fix missing opt.device on --task study ( #5031 )
2021-10-02 17:55:55 -07:00
Glenn Jocher
cce7e78fae
Created using Colaboratory
2021-09-30 19:10:55 -07:00
Glenn Jocher
89a6e9ffa7
Compute loss on final val ( #5017 )
2021-09-30 15:16:11 -07:00
Glenn Jocher
b20e381492
Update README.md ( #5015 )
2021-09-30 14:06:00 -07:00
Glenn Jocher
452e84703c
Update train.py ( #5014 )
2021-09-30 13:57:53 -07:00
Glenn Jocher
ba99092304
Update W&B README ( #5006 )
2021-09-30 00:35:00 -07:00
Glenn Jocher
1916226841
Created using Colaboratory
2021-09-29 22:18:16 -07:00
Glenn Jocher
42354d7025
Update README.md
2021-09-29 16:56:10 -07:00
Glenn Jocher
cd35a009ba
Revert torch.hub.load() test ( #4986 )
...
Temporarily reverts https://github.com/ultralytics/yolov5/pull/4978 until torch 1.10 is released, which should resolve `urllib.error.HTTPError: HTTP Error 403: rate limit exceeded` errors generated by torch hub from GitHub actions runners.
2021-09-28 20:11:20 -07:00
Glenn Jocher
9988059b10
Clickable CI badge ( #4985 )
2021-09-28 17:46:14 -07:00
Glenn Jocher
6b19f728a1
Created using Colaboratory
2021-09-28 17:33:48 -07:00
Glenn Jocher
cff7d2af45
Created using Colaboratory
2021-09-28 17:29:05 -07:00
Glenn Jocher
0c93ec762a
Faster --img 64 CI tests ( #4979 )
2021-09-28 12:41:28 -07:00
Glenn Jocher
94705a9528
Add Hub custom models to CI tests ( #4978 )
...
* Update ci-testing.yml for Hub custom model tests
* Update ci-testing.yml
2021-09-28 12:28:18 -07:00
Glenn Jocher
38c779b099
Created using Colaboratory
2021-09-28 10:04:56 -07:00
Glenn Jocher
fb982d6030
Fix relative ROOT Pytorch Hub custom model bug ( #4974 )
...
* Fix relative `ROOT` Pytorch Hub custom model bug
* Update yolo.py
2021-09-28 06:36:12 -07:00
Glenn Jocher
2993c3fa7a
Add roboflow ( #4956 )
2021-09-27 19:00:05 -07:00
Glenn Jocher
3aeb57d66f
Created using Colaboratory
2021-09-27 18:32:22 -07:00
Glenn Jocher
5ed28603cf
Update relative ROOT logic ( #4955 )
...
* Update relative `ROOT` logic
* python 3.9 Path().is_relative_to() removal
2021-09-27 18:26:41 -07:00
Glenn Jocher
4e04cb0dc8
Allow YOLOv5 execution from arbitrary cwd ( #4954 )
...
* Allow YOLOv5 execution from arbitrary `cwd`
* Fix str bugs
2021-09-27 17:40:20 -07:00
Glenn Jocher
a820b43aca
Automatic Chinese fonts plotting ( #4951 )
...
* Automatic Chinese fonts plotting
* Default PIL=False
2021-09-27 13:48:15 -07:00
Glenn Jocher
c5ba2abb4a
Update Dockerfile ( #4935 )
2021-09-26 19:16:14 -07:00
Glenn Jocher
5a8e4343d8
Scope check_file() search space ( #4933 )
...
`check_file()` is now limited to searching opt-in directories: /data, /models, /utils. This prevents large non-project directories like /.git and /venv from being searched, which may cause `check_file()` to slow significantly.
2021-09-26 17:11:46 -07:00
Glenn Jocher
793383232f
Update default Albumentations ( #4931 )
2021-09-26 12:10:33 -07:00
Glenn Jocher
d856c48298
Validate best.pt on train end ( #4889 )
...
* Validate best.pt on train end
* 0.7 iou for COCO only
* pass callbacks
* active model.float() if not half
* print Validating best.pt...
* add newline
2021-09-26 11:54:53 -07:00
Glenn Jocher
e687873436
Add Slack Forum badge to README ( #4930 )
...
Add badge with link to join the new YOLOv5 Slack Forum!
https://join.slack.com/t/ultralytics/shared_invite/zt-w29ei8bp-jczz7QYUmDtgo6r6KcMIAg
2021-09-26 10:54:55 -07:00
Glenn Jocher
39c17ce0b9
Fix root referenced before assignment ( #4920 )
...
* Fix `root` referenced before assignment
Fix for bug introduced by #4919 discovered on VOC autodownload:
```
python train.py --data VOC.yaml
```
* Cleanup
2021-09-25 09:16:14 -07:00
Glenn Jocher
a64a4c839f
Replace os.system('unzip file.zip') -> ZipFile.extractall() ( #4919 )
...
* Replace `os.system('unzip file.zip')` -> `ZipFile.extractall()`
* Cleanup
2021-09-25 08:52:36 -07:00
Glenn Jocher
8ad9e4ed5b
Annotator check_font() RANK -1 remove progress ( #4864 )
...
* Annotator `check_font()` RANK -1 remove progress
* Cleanup
2021-09-20 13:57:23 +02:00
Glenn Jocher
2b3109eeb0
Fix DDP destruction LOGGER.info() ( #4863 )
2021-09-20 13:12:48 +02:00
Glenn Jocher
2809616345
Update Dockerfile ( #4862 )
2021-09-20 13:10:41 +02:00
Glenn Jocher
40d1c80503
Update Dockerfile ( #4861 )
2021-09-20 12:22:24 +02:00
Glenn Jocher
9ef94940aa
Update greetings.yml ( #4856 )
2021-09-18 18:43:26 +02:00
Glenn Jocher
4c839eeb10
Simplify check_requirements() usage ( #4855 )
...
* Simplify `check_requirements()` usage
* remove assert, print()
2021-09-18 18:34:30 +02:00
Glenn Jocher
4d1a2ac87e
Update sys.path.append(str(ROOT)) ( #4852 )
...
* Update `sys.path.append(str(ROOT))`
* Cleanup
2021-09-18 15:02:08 +02:00
Glenn Jocher
3732f9ac8a
Refactor argparser printing to print_args() ( #4850 )
...
* Refactor argparser printing to `print_args()`
* Cleanup
2021-09-18 14:16:19 +02:00
Glenn Jocher
84bfa89236
Consolidate init_seeds() ( #4849 )
2021-09-18 13:28:42 +02:00
Glenn Jocher
4fdaec0449
Single cache_version definition ( #4846 )
...
Defines dataset labels *.cache version in a single place, fixing a bug introduced in #4845 .
2021-09-17 18:01:52 +02:00
Glenn Jocher
fe39562a5f
Sorted datasets update to cache_labels() ( #4845 )
...
PR should produce datasets sorted alphabetically by filename. Cache version incremented to 0.5.
Note: will force a one-time re-caching of existing datasets on first-use.
2021-09-17 17:35:45 +02:00
Glenn Jocher
3a822a22ce
PIL.ImageDraw.text(anchor=...) removal, reduce to >=7.1.2 (#4842 )
...
* Unpin Pillow
* Update requirements.txt
* Update plots.py
2021-09-17 13:02:37 +02:00
Glenn Jocher
e83792e65c
Created using Colaboratory
2021-09-17 11:40:47 +02:00
Glenn Jocher
850f98f508
Created using Colaboratory
2021-09-17 11:39:00 +02:00
Glenn Jocher
27a4736e96
Fix val.py study plot ( #4831 )
...
* Fix val.py study plot
* call plot_val_study
* Rename plot_study_txt to plot_val_study
2021-09-16 17:55:58 +02:00
Glenn Jocher
6b44ecd53d
Fix 'PyTorch starting from' for URL weights ( #4828 )
...
Follows #4823
2021-09-16 14:38:35 +02:00
Glenn Jocher
0dc725e3dc
Refactor forward() method profiling ( #4816 )
2021-09-16 09:47:34 +02:00
Glenn Jocher
621b6d5ba8
Evolution --resume fix ( #4802 )
...
Also disable `/weights` dir creation when evolving as no weights are saved and empty folder causes user expectations of weights.
2021-09-15 13:13:33 +02:00
Glenn Jocher
b74dd4ba4f
Add --int8 argument ( #4799 )
...
* Add `--int8` argument
* parents[0] bug fix
* Fix order
2021-09-15 11:33:46 +02:00
Glenn Jocher
aa1859909c
Update ci-testing.yml ( #4772 )
2021-09-12 23:40:28 +02:00
Glenn Jocher
b161edf873
Update ci-testing.yml ( #4770 )
2021-09-12 17:55:41 +02:00
Glenn Jocher
c3a93d783d
Add TensorFlow formats to export.py ( #4479 )
...
* Initial commit
* Remove unused export_torchscript return
* ROOT variable
* Add prefix to fcn arg
* fix ROOT
* check_yaml into run()
* interim fixes
* imgsz=(320, 320)
* Hardcode tf_raw_resize False
* Finish opt elimination
* Update representative_dataset_gen()
* Update export.py with TF methods
* SiLU and GraphDef fixes
* file_size() directory handling feature
* export fixes
* add lambda: to representative_dataset
* Detect training False default
* Fuse false for TF models
* Embed agnostic NMS arguments
* Remove lambda
* TensorFlow.js export success
* Add pb to Usage
* Add *_tfjs_model/ to ignore files
* prepend YOLOv5 to function headers
* Remove end --- comments
* parameterize tfjs export pb file
* update run() data default /ROOT
* update --include help
* update imports
* return ct_model
* Consolidate TFLite export
* pb prerequisite to tfjs
* TF modules CamelCase
* Remove exports from tf.py and cleanup
* pass agnostic NMS arguments
* CI
* CI
* ignore *_web_model/
* Add tensorflow to CI dependencies
* CI tensorflow-cpu
* Update requirements.txt
* Remove tensorflow check_requirement
* CI coreml tfjs
* export only onnx torchscript
* reorder exports torchscript first
2021-09-12 15:52:24 +02:00
Glenn Jocher
c47be26f34
Replace path.absolute() with path.resolve() ( #4763 )
2021-09-11 22:46:33 +02:00
Glenn Jocher
cd810c8286
Centralize user_config_dir() decision making ( #4755 )
2021-09-11 16:32:08 +02:00
Glenn Jocher
22ee6fb7c1
Update is_writeable() for 2 methods ( #4744 )
...
* Writeable test
* Fix
* Cleanup
2021-09-10 17:52:33 +02:00
Glenn Jocher
ff35292520
Add TF and TFLite models to .dockerignore ( #4748 )
2021-09-10 17:52:21 +02:00
Glenn Jocher
6c554b75ea
Add TF and TFLite models to .gitignore ( #4747 )
2021-09-10 17:51:22 +02:00
Glenn Jocher
a144536f88
Fix is_writeable() for 3 OS support ( #4743 )
...
* Fix `is_writeable()` for 3 OS support
* Update general.py
2021-09-10 17:06:22 +02:00
Glenn Jocher
7af1b4c266
Improved detect.py timing ( #4741 )
...
* Improved detect.py timing
* Eliminate 1 time_sync() call
* Inference-only time
* dash
* #Save section
* Cleanup
2021-09-10 14:34:09 +02:00
Glenn Jocher
c5360f6e70
Fix --data from_HUB.zip ( #4732 )
...
@KalenMike
2021-09-09 18:01:59 +02:00
Glenn Jocher
4a025ae97f
Fix user_config_dir() for GCP/AWS functions ( #4726 )
...
* Fix `user_config_dir()` for GCP/AWS functions
Compatability fix for GCP functions and AWS lambda for user config directory in https://github.com/ultralytics/yolov5/pull/4628
* Windows skip check
2021-09-09 17:57:46 +02:00
Glenn Jocher
8e94bf62d9
Add user_config_dir('Ultralytics') ( #4715 )
...
* Add `user_config_dir`
* Linux to .config
2021-09-08 18:13:59 +02:00
Glenn Jocher
25a7e1dae5
Update check_yaml() comment ( #4713 )
...
* Update `check_yaml()` comment
* Cleanup
2021-09-08 16:01:03 +02:00
Glenn Jocher
f984cce52a
Fix check_suffix() ( #4712 )
...
Fix a bug when `file=''`
2021-09-08 15:06:31 +02:00
Glenn Jocher
a2b3c71636
Add suffix checks ( #4711 )
...
* Add suffix checks
* Cleanup
* Cleanup2
* Cleanup3
2021-09-08 14:36:12 +02:00
Glenn Jocher
548745181a
EarlyStopper updates ( #4679 )
2021-09-05 19:09:53 +02:00
Glenn Jocher
fad57c29cd
Fix is_coco on missing data['val'] key ( #4642 )
2021-09-01 16:30:14 +02:00
Glenn Jocher
234e8ae6fa
Fix for plot_evolve() string argument ( #4639 )
2021-09-01 15:00:13 +02:00
Glenn Jocher
de534e9221
Fix 3 for Arial.ttf redownloads with hub inference ( #4629 )
...
Fix 3 for Arial.ttf redownloads with hub inference, follow-on to #4628 .
2021-08-31 20:54:10 +02:00
Glenn Jocher
a4e8f78c5e
Fix 2 for Arial.ttf redownloads with hub inference ( #4628 )
2021-08-31 20:05:17 +02:00
Glenn Jocher
ba0f80874f
Fix for Arial.ttf redownloads with hub inference ( #4627 )
2021-08-31 15:01:41 +02:00
Glenn Jocher
50a9828679
DDP torch.jit.trace() --sync-bn fix ( #4615 )
...
* Remove assert
* debug0
* trace=not opt.sync
* sync to sync_bn fix
* Cleanup
2021-08-30 18:35:07 +02:00
Glenn Jocher
bb5ebc290e
Close matplotlib plots after opening ( #4612 )
...
* Close plots
* Replace fig.close() for plt.close()
2021-08-30 17:22:21 +02:00
Glenn Jocher
3a72d4a7e3
Update check_git_status() warning ( #4610 )
2021-08-30 17:05:45 +02:00
Glenn Jocher
e7d1842a98
Auto-download Arial.ttf on init ( #4606 )
...
* Auto-download Arial.ttf on init
* Fix ROOT
2021-08-30 14:58:22 +02:00
Glenn Jocher
bb4da083d1
Created using Colaboratory
2021-08-30 14:33:53 +02:00
Glenn Jocher
dc13820c9d
TensorBoard on_train_end() speed improvements ( #4605 )
2021-08-30 13:01:41 +02:00
Glenn Jocher
b894e69dfc
Update mosaic plots font size ( #4596 )
2021-08-29 18:05:49 +02:00
Glenn Jocher
bfad364455
Created using Colaboratory
2021-08-29 17:56:35 +02:00
Glenn Jocher
dbbc6b5c48
Re-order plots.py to class-first ( #4595 )
2021-08-29 17:44:51 +02:00
Glenn Jocher
e5e5ebc799
Auto-UTF handling ( #4594 )
2021-08-29 17:15:18 +02:00
Glenn Jocher
de44376d1b
Create Annotator() class ( #4591 )
...
* Add Annotator() class
* Download Arial
* 2x for loop
* Cleanup
* tuple 2 list
* max_size=1920
* bold logging results to
* tolist()
* im = annotator.im
* PIL save in detect.py
* Smart asarray in detect.py
* revert to cv2.imwrite
* Cleanup
* Return result asarray
* Add `Profile()` profiler
* CamelCase Timeout
* Resize after mosaic
* pillow>=8.0.0
* daemon imwrite
* Add cv2 support
* Remove plot_wh_methods and plot_one_box
* pil=False for hubconf.py annotations
* im.shape bug fix
* colorstr common.py
* join daemons
* Update t.daemon
* Removed daemon saving
2021-08-29 16:46:13 +02:00
Glenn Jocher
bbfafeabdb
Add Profile() profiler ( #4587 )
...
* Add `Profile()` profiler
* CamelCase Timeout
2021-08-29 13:49:04 +02:00
Glenn Jocher
d7aa3f153d
Remove image_weights DDP code ( #4579 )
...
* Initial commit
* Update
2021-08-28 19:17:21 +02:00
Glenn Jocher
93cc015748
Add EarlyStopping feature ( #4576 )
...
* Add EarlyStopping feature
* Add comment
* Cleanup
* Cleanup2
* debug
* debug2
* debug3
* debug3
* debug4
* debug5
* debug6
* debug7
* debug8
* debug9
* debug10
* debug11
* debug12
* Cleanup
* Add TODO for known DDP issue
2021-08-28 19:03:52 +02:00
Glenn Jocher
8b18b66304
ONNX opset 13 ( #4566 )
2021-08-27 16:00:39 +02:00
Glenn Jocher
8ac96b7975
Fix for AP calculation limits 0.0 - 1.0 ( #4563 )
...
This PR brings alignment in AP computation practices with Detectron2 and MMDetection.
Problem first noted by @yusiyoh in https://github.com/ultralytics/yolov5/issues/4546
2021-08-27 13:23:29 +02:00
Glenn Jocher
e899d6e8fb
Fix for corrupt JPEGs auto-fix PR ( #4560 )
...
Auto-fix corrupt JPEGs PR introduced a bug whereby the f.seek() operation read all of the bytes in the image, resulting in the PIL image having nothing to read upon the .save() operation.
Fix was to re-open the image using PIL before saving.
2021-08-27 13:01:21 +02:00
Glenn Jocher
11f85e7e71
Auto-fix corrupt JPEGs ( #4548 )
...
* Autofix corrupt JPEGs
This PR automatically re-saves corrupt JPEGs and trains with the resaved images. WARNING: this will overwrite the existing corrupt JPEGs in a dataset and replace them with correct JPEGs, though the filesize may increase and the image contents may not be exactly the same due to lossy JPEG compression schemes. Results may vary by JPEG decoder and hardware.
Current behavior is to exclude corrupt JPEGs from training with a warning to the user, but many users have been complaining about large parts of their dataset being excluded from training.
* Clarify re-save reason
2021-08-26 15:51:04 +02:00
Glenn Jocher
2da6444c92
Fix for python models/yolo.py --profile ( #4541 )
...
Profiling fix copies input to Detect layer to circumvent inplace changes to the feature maps.
2021-08-25 21:23:28 +02:00