Glenn Jocher
042f02ff9b
Fix tf.py `LoadImages()` dataloader return values ( #5455 )
il y a 3 ans
Glenn Jocher
7b1f7aec46
Update `get_loggers()` ( #4854 )
* Update `set_logging()`
* Update export.py
* pre-commit fixes
* Update LoadImages
* Update LoadStreams
* Update print_args
* Single LOGGER definition
* yolo.py fix
Co-authored-by: pre-commit <pre-commit@example.com>
il y a 3 ans
Glenn Jocher
8c326a1edf
Meshgrid `indexing='ij'` for PyTorch 1.10 ( #5309 )
* Meshgrid `indexing='ij'` for PyTorch 1.10
Will not merge currently as breaks backwards compatibility.
* Meshgrid `indexing='ij'` for PyTorch 1.10
Will not merge currently as breaks backwards compatibility.
* Add check_version hard argument
* Update comment
il y a 3 ans
Glenn Jocher
5d4258fac5
Fix MixConv2d() remove shortcut + apply depthwise ( #5410 )
il y a 3 ans
Jirka Borovec
ed887b5976
Add pre-commit CI actions ( #4982 )
* define pre-commit
* add CI code
* configure
* apply pre-commit
* fstring
* apply MD
* pre-commit
* Update torch_utils.py
* Update print strings
* notes
* Cleanup code-format.yml
* Update setup.cfg
* Update .pre-commit-config.yaml
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
Glenn Jocher
9c31a66f5d
Update `AutoShape.forward()` model.classes example ( #5324 )
il y a 3 ans
Yoni Chechik
34da872ab6
fix `tf` conversion in new v6 models ( #5153 )
* fix `tf` conversion in new v6 (#5147 )
* sort imports
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
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
il y a 3 ans
Jebastin Nadar
9d75e42f98
Refactor `Detect()` anchors for ONNX <> OpenCV DNN compatibility ( #4833 )
* refactor anchors and anchor_grid in Detect Layer
* fix CI failures by adding compatibility
* fix tf failure
* fix different devices errors
* Cleanup
* fix anchors overwriting issue
* better refactoring
* Remove self.anchor_grid shape check (redundant with self.grid check)
Also PEP8 / 120 line width
* Convert _make_grid() from static to dynamic method
* Remove anchor_grid.to(device)
clone() should already clone to same device as self.anchors
* fix different devices error
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
Jebastin Nadar
a0e15046c3
Fix different devices bug when moving model from GPU to CPU ( #5110 )
* fix different devices bug
* extend _apply() instead of to() for a general fix
* Only apply if Detect() is last layer
Co-authored-by: Jebastin Nadar <njebastin10@gmail.com>
* Indent fix
* Add comment to yolo.py
* Add comment to common.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
Glenn Jocher
070af88108
Fix `yaml.safe_load()` ignore emoji errors ( #5060 )
il y a 3 ans
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
il y a 3 ans
Zhiqiang Wang
1922ddeac0
Fix pylint: do not use bare 'except' ( #5025 )
* Fix E722, do not use bare 'except'
* Remove used codes
* Add FileNotFoundError in LoadImagesAndLabels
* Remove AssertionError
* Ignore LoadImagesAndLabels
* Ignore downloads.py
* Ignore torch_utils.py
* Ignore train.py
* Ignore datasets.py
* Enable utils/download.py
* Fixing exception in thop
* Remove unused code
* Fixing exception in LoadImagesAndLabels
* Fixing exception in exif_size
* Fixing exception in parse_model
* Ignore exceptions in requests
* Revert the exception as suggested
* Revert the exception as suggested
il y a 3 ans
Glenn Jocher
fb982d6030
Fix relative `ROOT` Pytorch Hub custom model bug ( #4974 )
* Fix relative `ROOT` Pytorch Hub custom model bug
* Update yolo.py
il y a 3 ans
Glenn Jocher
5ed28603cf
Update relative `ROOT` logic ( #4955 )
* Update relative `ROOT` logic
* python 3.9 Path().is_relative_to() removal
il y a 3 ans
Glenn Jocher
a820b43aca
Automatic Chinese fonts plotting ( #4951 )
* Automatic Chinese fonts plotting
* Default PIL=False
il y a 3 ans
Jiacong Fang
2c2ef25f8b
TensorFlow.js export enhancements ( #4905 )
* Add arguments to TensorFlow NMS call
* Add regex substitution to reorder Identity_*
* Delete reorder in docstring
* Cleanup
* Cleanup2
* Removed `+ \` on string ends (not needed)
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
Glenn Jocher
4d1a2ac87e
Update `sys.path.append(str(ROOT))` ( #4852 )
* Update `sys.path.append(str(ROOT))`
* Cleanup
il y a 3 ans
Glenn Jocher
3732f9ac8a
Refactor argparser printing to `print_args()` ( #4850 )
* Refactor argparser printing to `print_args()`
* Cleanup
il y a 3 ans
Jiacong Fang
3beb871ba4
Multiple TF export improvements ( #4824 )
* Add fused conv support
* Set all saved_model values to non trainable
* Fix TFLite fp16 model export
* Fix int8 TFLite conversion
il y a 3 ans
Glenn Jocher
0dc725e3dc
Refactor `forward()` method profiling ( #4816 )
il y a 3 ans
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
il y a 3 ans
Glenn Jocher
c47be26f34
Replace `path.absolute()` with `path.resolve()` ( #4763 )
il y a 3 ans
Jean-Baptiste Martin
1cad0ce2c7
Allow `multi_label` option for NMS with PyTorch Hub ( #4728 )
* Allow specifying multi_label option for NMS when using torch hub
* Reformat
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
ELHoussineT
0d8a184237
Add `crops = results.crops()` dictionary ( #4676 )
* adding get cropped functionality
* Add target logic in existing functions
* Crops cleanup
* Add dictionary keys: conf, cls, box
* Bug fixes - avoid return after first image
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
Glenn Jocher
a2b3c71636
Add suffix checks ( #4711 )
* Add suffix checks
* Cleanup
* Cleanup2
* Cleanup3
il y a 3 ans
Yukun Xia
35fe031461
Fix: add P2 layer 21 to yolov5-p2.yaml `Detect()` inputs ( #4608 )
Layer 21 includes the information of xsmall objects
il y a 3 ans
Glenn Jocher
e5e5ebc799
Auto-UTF handling ( #4594 )
il y a 3 ans
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
il y a 3 ans
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.
il y a 3 ans
Jiacong Fang
808bcad3bb
Add TensorFlow and TFLite export ( #1127 )
* Add models/tf.py for TensorFlow and TFLite export
* Set auto=False for int8 calibration
* Update requirements.txt for TensorFlow and TFLite export
* Read anchors directly from PyTorch weights
* Add --tf-nms to append NMS in TensorFlow SavedModel and GraphDef export
* Remove check_anchor_order, check_file, set_logging from import
* Reformat code and optimize imports
* Autodownload model and check cfg
* update --source path, img-size to 320, single output
* Adjust representative_dataset
* Put representative dataset in tfl_int8 block
* detect.py TF inference
* weights to string
* weights to string
* cleanup tf.py
* Add --dynamic-batch-size
* Add xywh normalization to reduce calibration error
* Update requirements.txt
TensorFlow 2.3.1 -> 2.4.0 to avoid int8 quantization error
* Fix imports
Move C3 from models.experimental to models.common
* Add models/tf.py for TensorFlow and TFLite export
* Set auto=False for int8 calibration
* Update requirements.txt for TensorFlow and TFLite export
* Read anchors directly from PyTorch weights
* Add --tf-nms to append NMS in TensorFlow SavedModel and GraphDef export
* Remove check_anchor_order, check_file, set_logging from import
* Reformat code and optimize imports
* Autodownload model and check cfg
* update --source path, img-size to 320, single output
* Adjust representative_dataset
* detect.py TF inference
* Put representative dataset in tfl_int8 block
* weights to string
* weights to string
* cleanup tf.py
* Add --dynamic-batch-size
* Add xywh normalization to reduce calibration error
* Update requirements.txt
TensorFlow 2.3.1 -> 2.4.0 to avoid int8 quantization error
* Fix imports
Move C3 from models.experimental to models.common
* implement C3() and SiLU()
* Fix reshape dim to support dynamic batching
* Add epsilon argument in tf_BN, which is different between TF and PT
* Set stride to None if not using PyTorch, and do not warmup without PyTorch
* Add list support in check_img_size()
* Add list input support in detect.py
* sys.path.append('./') to run from yolov5/
* Add int8 quantization support for TensorFlow 2.5
* Add get_coco128.sh
* Remove --no-tfl-detect in models/tf.py (Use tf-android-tfl-detect branch for EdgeTPU)
* Update requirements.txt
* Replace torch.load() with attempt_load()
* Update requirements.txt
* Add --tf-raw-resize to set half_pixel_centers=False
* Add --agnostic-nms for TF class-agnostic NMS
* Cleanup after merge
* Cleanup2 after merge
* Cleanup3 after merge
* Add tf.py docstring with credit and usage
* pb saved_model and tflite use only one model in detect.py
* Add use cases in docstring of tf.py
* Remove redundant `stride` definition
* Remove keras direct import
* Fix `check_requirements(('tensorflow>=2.4.1',))`
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
il y a 3 ans
Glenn Jocher
01cdb7671b
Add `SPPF()` layer ( #4420 )
* Add `SPPF()` layer
* Cleanup
* Add credit
il y a 3 ans
Glenn Jocher
24bea5e4b7
Standardize headers and docstrings ( #4417 )
* Implement new headers
* Reformat 1
* Reformat 2
* Reformat 3 - math
* Reformat 4 - yaml
il y a 3 ans
Glenn Jocher
2da4e7acf7
Merge PIL and OpenCV in `plot_one_box(use_pil=False)` ( #4416 )
* Merge PIL and OpenCV box plotting functions
* Add ASCII check to plot_one_box
* Cleanup
* Cleanup2
il y a 3 ans
Glenn Jocher
4e8c81a368
Add `yolov5s-ghost.yaml` ( #4412 )
* Add yolov5s-ghost.yaml
* Finish C3Ghost
* Add C3Ghost to list
* Add C3Ghost to number of repeats if statement
* Fixes
* Cleanup
il y a 3 ans
Yuantao Yang
e7fc27406a
Fix module count in parse_model ( #4379 )
Co-authored-by: yangyuantao <yangyuantao@transai.cn>
il y a 3 ans
Yonghye Kwon
e96c74b5a1
Simpler code for DWConvClass ( #4310 )
* more simpler code for DWConvClass
more simpler code for DWConvClass
* remove DWConv function
* Replace DWConvClass with DWConv
il y a 3 ans
Glenn Jocher
587c4b4b81
Add `DWConvClass()` ( #4274 )
* Add `DWConvClass()`
* Cleanup
* Cleanup2
il y a 3 ans
Glenn Jocher
9c6732f61c
Update variables ( #4273 )
il y a 3 ans
Glenn Jocher
306fc0119a
Update Autoshape forward header ( #4271 )
il y a 3 ans
Glenn Jocher
18f6ba77cf
Suppress torch 1.9.0 max_pool2d() warning ( #4227 )
il y a 3 ans
Glenn Jocher
b60b62e874
PyCharm reformat ( #4209 )
* PyCharm reformat
* YAML reformat
* Markdown reformat
il y a 3 ans
Glenn Jocher
e016b15555
Update yolov5-bifpn.yaml ( #4208 )
il y a 3 ans
Glenn Jocher
2683b18079
Update Hub Path inputs ( #4200 )
il y a 3 ans
Glenn Jocher
1f31b7c503
Create yolov5-bifpn.yaml ( #4195 )
il y a 3 ans
Glenn Jocher
5d66e48723
Train from `--data path/to/dataset.zip` feature ( #4185 )
* Train from `--data path/to/dataset.zip` feature
* Update dataset_stats()
* cleanup
* cleanup2
il y a 3 ans
Glenn Jocher
b1be685005
Module `super().__init__()` ( #4065 )
* Module `super().__init__()`
* remove NMS
il y a 3 ans
Glenn Jocher
f7d8562060
`val.py` refactor ( #4053 )
* val.py refactor
* cleanup
* cleanup
* cleanup
* cleanup
* save after eval
* opt.imgsz bug fix
* wandb refactor
* dataloader to train_loader
* capitalize global variables
* runs/hub/exp to runs/detect/exp
* refactor wandb logging
* Refactor wandb operations (#4061 )
Co-authored-by: Ayush Chaurasia <ayush.chaurarsia@gmail.com>
il y a 3 ans
Glenn Jocher
9dd33fd20f
AutoShape PosixPath support ( #4047 )
* AutoShape PosixPath support
Usage example:
````python
from pathlib import Path
model = ...
file = Path('data/images/zidane.jpg')
results = model(file)
```
* Update common.py
il y a 3 ans
Glenn Jocher
720aaa65c8
Rename `test.py` to `val.py` ( #4000 )
il y a 3 ans