imyhxy
7a39803476
Export, detect and validation with TensorRT engine file ( #5699 )
...
* Export and detect with TensorRT engine file
* Resolve `isort`
* Make validation works with TensorRT engine
* feat: update export docstring
* feat: change suffix from *.trt to *.engine
* feat: get rid of pycuda
* feat: make compatiable with val.py
* feat: support detect with fp16 engine
* Add Lite to Edge TPU string
* Remove *.trt comment
* Revert to standard success logger.info string
* Fix Deprecation Warning
```
export.py:310: DeprecationWarning: Use build_serialized_network instead.
with builder.build_engine(network, config) as engine, open(f, 'wb') as t:
```
* Revert deprecation warning fix
@imyhxy it seems we can't apply the deprecation warning fix because then export fails, so I'm reverting my previous change here.
* Update export.py
* Update export.py
* Update common.py
* export onnx to file before building TensorRT engine file
* feat: triger ONNX export failed early
* feat: load ONNX model from file
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-11-22 14:58:07 +01:00
Glenn Jocher
46daa7b78d
Remove `.autoshape()` method ( #5694 )
2021-11-20 01:11:36 +01:00
Jirka Borovec
eb51ffdcac
Prune unused imports ( #5711 )
...
* prune unused imports
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-19 13:32:53 +01:00
Nrupatunga
0453b758e7
TFDetect dynamic anchor count assignment fix ( #5668 )
...
* fix tf.py when anchors not equal to 3
* revert the isort fix
* update the fix to use anchor attribute available already
2021-11-16 12:36:00 +01:00
Ding Yiwei
c2523be634
Replace 2 `transpose()` with 1 `permute` in TransformerBlock()` ( #5645 )
2021-11-15 10:06:18 +01:00
Glenn Jocher
3883261143
New `DetectMultiBackend()` class ( #5549 )
...
* New `DetectMultiBackend()` class
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* pb to pt fix
* Cleanup
* explicit apply_classifier path
* Cleanup2
* Cleanup3
* Cleanup4
* Cleanup5
* Cleanup6
* val.py MultiBackend inference
* warmup fix
* to device fix
* pt fix
* device fix
* Val cleanup
* COCO128 URL to assets
* half fix
* detect fix
* detect fix 2
* remove half from DetectMultiBackend
* training half handling
* training half handling 2
* training half handling 3
* Cleanup
* Fix CI error
* Add torchscript _extra_files
* Add TorchScript
* Add CoreML
* CoreML cleanup
* New `DetectMultiBackend()` class
* pb to pt fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Cleanup
* explicit apply_classifier path
* Cleanup2
* Cleanup3
* Cleanup4
* Cleanup5
* Cleanup6
* val.py MultiBackend inference
* warmup fix
* to device fix
* pt fix
* device fix
* Val cleanup
* COCO128 URL to assets
* half fix
* detect fix
* detect fix 2
* remove half from DetectMultiBackend
* training half handling
* training half handling 2
* training half handling 3
* Cleanup
* Fix CI error
* Add torchscript _extra_files
* Add TorchScript
* Add CoreML
* CoreML cleanup
* revert default to pt
* Add Usage examples
* Cleanup val
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-09 16:45:02 +01:00
Glenn Jocher
79bca2bf64
`LOGGER` consolidation ( #5569 )
...
* Logger consolidation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-08 16:32:15 +01:00
Glenn Jocher
3f64ad1760
Fix `save_one_box()` ( #5545 )
...
* Fix `save_one_box()`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-06 19:28:03 +01:00
Glenn Jocher
60c8a4f696
Fix for *.yaml emojis on load ( #5543 )
...
Fix for Colab hub error:
```python
import yaml
with open('yolov5s.yaml', errors='ignore') as f:
d = yaml.safe_load(f) # model dict
print(d)
---------------------------------------------------------------------------
ReaderError Traceback (most recent call last)
<ipython-input-8-1150b5143073> in <module>()
2
3 with open('yolov5s.yaml', errors='ignore') as f:
----> 4 d = yaml.safe_load(f) # model dict
5
6 print(d)
6 frames
/usr/local/lib/python3.7/dist-packages/yaml/reader.py in check_printable(self, data)
142 position = self.index+(len(self.buffer)-self.pointer)+match.start()
143 raise ReaderError(self.name, position, ord(character),
--> 144 'unicode', "special characters are not allowed")
145
146 def update(self, length):
ReaderError: unacceptable character #x1f680: special characters are not allowed
in "yolov5s.yaml", position 9
```
2021-11-06 16:03:14 +01:00
Glenn Jocher
fa2344cdd8
Update `models/hub/*.yaml` files for v6.0n release ( #5540 )
...
* Update model yamls for v6.0
* Add python models/yolo.py --test
* Ghost fix
2021-11-06 15:07:45 +01:00
Deep Patel
336437998f
Suppress ONNX export trace warning ( #5437 )
...
Checking for `onnx_dynamic` first should suppress the warning:
```log
TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
if self.grid[i].shape[2:4] != x[i].shape[2:4] or self.onnx_dynamic
```
2021-11-05 19:31:53 +01:00
Glenn Jocher
bfacfc6b4a
Update cls bias init ( #5520 )
...
* Update cls bias init
Increased numerical precision. Returns 1.0 probability for single-class datasets now. Addresses https://github.com/ultralytics/yolov5/issues/5357
```python
torch.sigmoid(torch.tensor([math.log(0.6 / (1 - 0.99999))]))
Out[19]: tensor([1.0000])
```
* Update yolo.py
2021-11-05 13:18:46 +01:00
Jirka Borovec
0155548384
precommit: isort ( #5493 )
...
* precommit: isort
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update isort config
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update name
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-11-04 17:24:25 +01:00
Glenn Jocher
5866646cc8
Fix float zeros format ( #5491 )
...
* Fix float zeros format
* 255 to integer
2021-11-03 23:36:53 +01:00
Glenn Jocher
06bf8ef7e5
Add tf.py verification printout ( #5484 )
...
* Update tf.py with verified confirmation
* Update ci-testing.yml
* Update ci-testing.yml
2021-11-03 19:04:51 +01:00
Glenn Jocher
042f02ff9b
Fix tf.py `LoadImages()` dataloader return values ( #5455 )
2021-11-02 23:04:15 +01:00
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>
2021-11-01 18:22:13 +01:00
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
2021-11-01 14:33:08 +01:00
Glenn Jocher
5d4258fac5
Fix MixConv2d() remove shortcut + apply depthwise ( #5410 )
2021-10-30 13:38:51 +02:00
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>
2021-10-28 18:35:01 +02:00
Glenn Jocher
9c31a66f5d
Update `AutoShape.forward()` model.classes example ( #5324 )
2021-10-25 14:03:25 +02:00
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>
2021-10-12 08:38:54 -07:00
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
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>
2021-10-11 09:58:42 -07:00
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>
2021-10-10 14:24:05 -07:00
Glenn Jocher
070af88108
Fix `yaml.safe_load()` ignore emoji errors ( #5060 )
2021-10-05 13:41:52 -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
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
2021-10-03 17:54:40 -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
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
a820b43aca
Automatic Chinese fonts plotting ( #4951 )
...
* Automatic Chinese fonts plotting
* Default PIL=False
2021-09-27 13:48:15 -07:00
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>
2021-09-24 14:18:15 -07: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
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
2021-09-16 15:27:22 +02:00
Glenn Jocher
0dc725e3dc
Refactor `forward()` method profiling ( #4816 )
2021-09-16 09:47:34 +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
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>
2021-09-09 15:32:04 +02:00
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>
2021-09-08 19:42:28 +02:00
Glenn Jocher
a2b3c71636
Add suffix checks ( #4711 )
...
* Add suffix checks
* Cleanup
* Cleanup2
* Cleanup3
2021-09-08 14:36:12 +02:00
Yukun Xia
35fe031461
Fix: add P2 layer 21 to yolov5-p2.yaml `Detect()` inputs ( #4608 )
...
Layer 21 includes the information of xsmall objects
2021-08-30 15:46:33 +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
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
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>
2021-08-17 13:18:16 +02:00
Glenn Jocher
01cdb7671b
Add `SPPF()` layer ( #4420 )
...
* Add `SPPF()` layer
* Cleanup
* Add credit
2021-08-15 14:28:35 +02:00
Glenn Jocher
24bea5e4b7
Standardize headers and docstrings ( #4417 )
...
* Implement new headers
* Reformat 1
* Reformat 2
* Reformat 3 - math
* Reformat 4 - yaml
2021-08-14 21:17:51 +02:00
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
2021-08-14 17:44:15 +02:00
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
2021-08-14 12:55:22 +02:00
Yuantao Yang
e7fc27406a
Fix module count in parse_model ( #4379 )
...
Co-authored-by: yangyuantao <yangyuantao@transai.cn>
2021-08-11 17:38:34 +02:00
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
2021-08-05 10:54:16 +02:00
Glenn Jocher
587c4b4b81
Add `DWConvClass()` ( #4274 )
...
* Add `DWConvClass()`
* Cleanup
* Cleanup2
2021-08-02 15:36:30 +02:00
Glenn Jocher
9c6732f61c
Update variables ( #4273 )
2021-08-02 15:13:55 +02:00
Glenn Jocher
306fc0119a
Update Autoshape forward header ( #4271 )
2021-08-02 12:42:23 +02:00
Glenn Jocher
18f6ba77cf
Suppress torch 1.9.0 max_pool2d() warning ( #4227 )
2021-07-30 00:37:55 +02:00
Glenn Jocher
b60b62e874
PyCharm reformat ( #4209 )
...
* PyCharm reformat
* YAML reformat
* Markdown reformat
2021-07-28 23:35:14 +02:00
Glenn Jocher
e016b15555
Update yolov5-bifpn.yaml ( #4208 )
2021-07-28 21:25:20 +02:00
Glenn Jocher
2683b18079
Update Hub Path inputs ( #4200 )
2021-07-28 16:55:39 +02:00
Glenn Jocher
1f31b7c503
Create yolov5-bifpn.yaml ( #4195 )
2021-07-28 15:04:30 +02:00
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
2021-07-28 02:04:10 +02:00
Glenn Jocher
b1be685005
Module `super().__init__()` ( #4065 )
...
* Module `super().__init__()`
* remove NMS
2021-07-19 12:41:15 +02:00
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>
2021-07-19 10:43:01 +02:00
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
2021-07-18 15:25:37 +02:00
Glenn Jocher
720aaa65c8
Rename `test.py` to `val.py` ( #4000 )
2021-07-14 15:43:54 +02:00
Glenn Jocher
d204a61834
Alert (no detections) ( #3984 )
...
* `Detections()` class `print()` overload
* Update common.py
2021-07-12 19:48:47 +02:00
Glenn Jocher
b3dabdcc38
Update `probability` to `p` ( #3980 )
2021-07-12 15:54:43 +02:00
KEN
647223a7a8
`Ensemble()` visualize fix ( #3973 )
...
* fix visualize error
* Revert "fix visualize error"
* add visualise profile
2021-07-11 19:47:08 +02:00
jmiranda-laplateforme
588094eb7a
Update `setattr()` default for Hub PIL images ( #3923 )
...
Fix inference from PIL source.
2021-07-07 16:13:12 +02:00
Glenn Jocher
87b094bcbc
Feature visualization update ( #3920 )
...
* Feature visualization update
* Save to jpg (faster)
* Save to png
2021-07-07 15:41:58 +02:00
Glenn Jocher
3c3f8fbd5d
Improved BGR2RGB speeds ( #3880 )
...
* Update BGR2RGB ops
* speed improvements
* cleanup
2021-07-04 20:12:32 +02:00
Glenn Jocher
81b31824f5
Models `*.yaml` reformat ( #3875 )
2021-07-04 16:55:08 +02:00
Valentin Aliferov
831773f5a2
Add EXIF rotation to YOLOv5 Hub inference ( #3852 )
...
* rotating an image according to its exif tag
* Update common.py
* Update datasets.py
* Update datasets.py
faster
* delete extraneous gpg file
* Update common.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-07-02 13:25:54 +02:00
Glenn Jocher
25d1f2932c
Plot `AutoShape()` detections in ascending order ( #3843 )
2021-06-30 15:10:40 +02:00
Glenn Jocher
57c5d02bbe
Concise `TransformerBlock()` ( #3821 )
2021-06-29 16:03:10 +02:00
Zigarss
20d45aa4f1
Add feature map visualization ( #3804 )
...
* Add feature map visualization
Add a feature_visualization function to visualize the mid feature map of the model.
* Update yolo.py
* remove boolean from forward and reorder if statement
* remove print from forward
* General cleanup
* Indent
* Update plots.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-06-28 13:18:45 +02:00
Glenn Jocher
1f69d12591
Update 4 main ops for paths and .run() ( #3715 )
...
* Add yolov5/ to path
* rename functions to run()
* cleanup
* rename fix
* CI fix
* cleanup find models/export.py
2021-06-21 17:25:04 +02:00
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
2021-06-19 16:30:25 +02:00
lb-desupervised
bfb2276b1d
Slightly modify CLI execution ( #3687 )
...
* Slightly modify CLI execution
This simple change makes it easier to run the primary functions of this
repo (train/detect/test) from within Python. An object which represents
`opt` can be constructed and fed to the `main` function of each of these
modules, rather than having to call the lower level functions directly,
or run the module as a script.
* Update export.py
Add CLI parsing update for more convenient module usage within Python.
Co-authored-by: Lewis Belcher <lb@desupervised.io>
2021-06-19 12:06:59 +02:00
Glenn Jocher
53ed872c28
Update export.py, yolo.py `sys.path.append()` ( #3579 )
2021-06-10 15:35:22 +02:00
Glenn Jocher
0e5cfdbea7
Refactor models/export.py arguments ( #3564 )
...
* Refactor models/export.py arguments
* cleanup
* cleanup
2021-06-09 22:43:46 +02:00
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>
2021-06-08 10:22:10 +02:00
WangChaofeng
ef4d53818d
ONNX export in .train() mode fix ( #3362 )
2021-05-27 14:10:14 +02:00
Glenn Jocher
1f8d716ec9
yolo.py header ( #3347 )
2021-05-26 12:06:08 +02:00
Glenn Jocher
7b36e38cf8
Check CoreML models.train() mode ( #3262 )
...
* Check CoreML models.train() mode
* Update export.py
2021-05-20 15:22:36 +02:00
Adrian Holovaty
3f74cd9ed1
Parameterize max_det + inference default at 1000 ( #3215 )
...
* Added max_det parameters in various places
* 120 character line
* PEP8
* 120 character line
* Update inference default to 1000 instances
* Update inference default to 1000 instances
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-05-17 22:47:44 +02:00
Cristi Fati
9ab561dbfc
Parameterize ONNX `--opset-version` ( #3154 )
2021-05-16 16:13:03 +02:00
Yonghye Kwon
be86c21c73
rename class autoShape -> AutoShape ( #3173 )
...
* rename class autoShape -> AutoShape
follow other class naming convention
* rename class autoShape -> AutoShape
follow other classes' naming convention
* rename class autoShape -> AutoShape
2021-05-16 15:46:45 +02:00
Cristi Fati
d9b4e6b748
Add `--include torchscript onnx coreml` argument ( #3137 )
...
* Allow users to skip exporting in formats that they don't care about
* Correct comments
* Update export.py
renamed --skip-format to --exclude
* Switched format from exclude to include (as instructed by @glenn-jocher)
* cleanup
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-05-12 19:46:32 +02:00
Glenn Jocher
525f4f86a9
Add --optimize argument ( #3093 )
...
Fix for c++ runtime errors in https://github.com/ultralytics/yolov5/issues/2973
2021-05-10 12:13:44 +02:00
Glenn Jocher
251aeafcb1
Update P5 + P6 model ensembling ( #3082 )
2021-05-08 19:06:12 +02:00
Glenn Jocher
e97d129db4
Update export.py with --train mode argument ( #3066 )
2021-05-07 13:10:07 +02:00
Glenn Jocher
3ef3a95cfa
Do not optimize CoreML TorchScript model ( #3055 )
2021-05-06 17:23:33 +02:00
jylink
b292837e36
Fix ONNX export using --grid --simplify --dynamic simultaneously ( #2982 )
...
* Update yolo.py
* Update export.py
* fix export grid
* Update export.py, remove detect export attribute
* rearrange if order
* remove --grid, default inplace=False
* rename exp_dynamic to onnx_dynamic, comment
* replace bs with 1 in anchor_grid[i] index 0
* Update export.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-05-03 19:01:29 +02:00
Hodovo
e2a80c6c0f
Add support for FP16 (half) to export.py ( #3010 )
...
* Added support for fp16 (half) to export.py
* minimize code additions
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-05-02 22:42:33 +02:00
jluntamazon
41f5cc5637
YOLOv5 AWS Inferentia Inplace compatibility updates ( #2953 )
...
* Added flag to enable/disable all inplace and assignment operations
* Removed shape print statements
* Scope Detect/Model import to avoid circular dependency
* PEP8
* create _descale_pred()
* replace lost space
* replace list with tuple
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-30 12:54:48 +02:00
Glenn Jocher
57812df68c
New Colors() class ( #2963 )
2021-04-28 16:05:14 +02:00
Glenn Jocher
4200674a13
Add yolov5/ to sys.path() for *.py subdir exec ( #2949 )
...
* Add yolov5/ to sys.path() for *.py subdir exec
* Update export.py
2021-04-27 17:02:07 +02:00
Glenn Jocher
4890499344
Improved yolo.py profiling ( #2940 )
...
* Improved yolo.py profiling
Improved column order and labelling.
* Update yolo.py
2021-04-26 23:58:21 +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
1b1ab4cca2
Add file_size() function ( #2911 )
...
* Add file_size() function
* Update export.py
2021-04-24 01:31:11 +02:00
Glenn Jocher
646386ff09
Update export.py for 2 dry runs ( #2910 )
...
* Update export.py for 2 dry runs
* Update export.py
2021-04-24 00:10:38 +02:00
Glenn Jocher
a2a514dec8
Update export.py ( #2909 )
2021-04-23 23:50:02 +02:00
Glenn Jocher
28db237639
Default optimize_for_mobile() on TorchScript models ( #2908 )
...
Per https://pytorch.org/tutorials/recipes/script_optimized.html this should improve performance on torchscript models (and maybe coreml models also since coremltools operates on a torchscript model input, though this still requires testing).
2021-04-23 21:21:58 +02:00
Glenn Jocher
cdb678f418
Update yolo.py ( #2899 )
2021-04-22 19:27:21 +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
Tim Stokman
1df8c6c963
Fix ONNX dynamic axes export support with onnx simplifier, make onnx simplifier optional ( #2856 )
...
* Ensure dynamic export works succesfully, onnx simplifier optional
* Update export.py
* add dashes
Co-authored-by: Tim <tim.stokman@hal24k.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-20 13:54:03 +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
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
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
b5de52c4cd
torch.cuda.amp bug fix ( #2750 )
...
PR https://github.com/ultralytics/yolov5/pull/2725 introduced a very specific bug that only affects multi-GPU trainings. Apparently the cause was using the torch.cuda.amp decorator in the autoShape forward method. I've implemented amp more traditionally in this PR, and the bug is resolved.
2021-04-09 18:19:49 +02:00
Glenn Jocher
fca5e2a48f
autocast enable=torch.cuda.is_available() ( #2748 )
2021-04-09 13:34:49 +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
Glenn Jocher
ec8979f1d2
Updated filename attributes for YOLOv5 Hub BytesIO ( #2718 )
...
Fix 2 for 'Model predict with forward will fail if PIL image does not have filename attribute' #2702
2021-04-06 13:18:56 +02:00
Glenn Jocher
74276d5189
Updated filename attributes for YOLOv5 Hub results ( #2708 )
...
Proposed fix for 'Model predict with forward will fail if PIL image does not have filename attribute' #2702
2021-04-05 22:20:09 +02:00
Glenn Jocher
17300a4c7b
autoShape forward im = np.asarray(im) # to numpy ( #2689 )
...
Slight speedup.
2021-04-02 12:36:38 +02:00
Glenn Jocher
2af059c0d8
PyTorch Hub model.save() increment as runs/hub/exp ( #2684 )
...
* PyTorch Hub model.save() increment as runs/hub/exp
This chane will align PyTorch Hub results saving with the existing unified results saving directory structure of
runs/
/train
/detect
/test
/hub
/exp
/exp2
...
* cleanup
2021-04-02 11:55:10 +02:00
Ding Yiwei
1148e2ea63
Add TransformerLayer, TransformerBlock, C3TR modules ( #2333 )
...
* yolotr
* transformer block
* Remove bias in Transformer
* Remove C3T
* Remove a deprecated class
* put the 2nd LayerNorm into the 2nd residual block
* move example model to models/hub, rename to -transformer
* Add module comments and TODOs
* Remove LN in Transformer
* Add comments for Transformer
* Solve the problem of MA with DDP
* cleanup
* cleanup find_unused_parameters
* PEP8 reformat
Co-authored-by: DingYiwei <846414640@qq.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-01 17:26:53 +02:00
Glenn Jocher
2bf34f50fd
PyTorch Hub amp.autocast() inference ( #2641 )
...
I think this should help speed up CUDA inference, as currently models may be running in FP32 inference mode on CUDA devices unnecesarily.
2021-03-28 20:23:40 +02:00
Glenn Jocher
005d7a8c54
Update Detections() self.n comment ( #2620 )
...
```python
self.n = len(self.pred) # number of images (batch size)
```
2021-03-26 21:19:15 +01:00
Glenn Jocher
a57f23d18b
Update detections() self.t = tuple() ( #2617 )
...
* Update detections() self.t = tuple()
Fix multiple results.print() bug.
* Update experimental.py
* Update yolo.py
2021-03-26 13:23:11 +01:00
Glenn Jocher
1c132a1f94
Update Detections() times=None ( #2570 )
...
Fix for results.tolist() method breaking after YOLOv5 Hub profiling PRshttps://github.com/ultralytics/yolov5/pull/2460 https://github.com/ultralytics/yolov5/pull/2459 and
2021-03-23 14:10:47 +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
f813f6dcc8
autoShape() speed profiling update ( #2460 )
2021-03-13 20:00:03 -08:00
Glenn Jocher
569757ecc0
Add autoShape() speed profiling ( #2459 )
...
* Add autoShape() speed profiling
* Update common.py
* Create README.md
* Update hubconf.py
* cleanuip
2021-03-13 19:50:34 -08:00
Jan Hajek
7a0a81fd1d
GPU export options ( #2297 )
...
* option for skip last layer and cuda export support
* added parameter device
* fix import
* cleanup 1
* cleanup 2
* opt-in grid
--grid will export with grid computation, default export will skip grid (same as current)
* default --device cpu
GPU export causes ONNX and CoreML errors.
Co-authored-by: Jan Hajek <jan.hajek@gmail.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-03-06 12:02:10 -08:00
Glenn Jocher
a3ecf0fd64
Anchor override ( #2350 )
2021-03-02 23:08:21 -08:00
Glenn Jocher
fab5085674
EMA bug fix 2 ( #2330 )
...
* EMA bug fix 2
* update
2021-03-01 17:13:34 -08:00
Glenn Jocher
fd96810518
remove TTA 1 pixel offset ( #2325 )
2021-02-28 21:14:08 -08:00
oleg
cbd55da5d2
Update yolo.py ( #2120 )
...
* Avoid mutable state in Detect
* LoadImages() pathlib update (#2140 )
* 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>
* Update train.py test batch_size (#2148 )
* Update train.py
* Update loss.py
* Update train.py (#2149 )
* Linear LR scheduler option (#2150 )
* Linear LR scheduler option
* Update train.py
* Update data-autodownload background tasks (#2154 )
* Update get_coco.sh
* Update get_voc.sh
* Update detect.py (#2167 )
Without this cv2.imshow opens a window but nothing is visible
* Update requirements.txt (#2173 )
* 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.
* Changed socket port and added timeout (#2176 )
* PyTorch Hub results.save('path/to/dir') (#2179 )
* 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
* Created using Colaboratory
* YOLOv5 PyTorch Hub results.save() method retains filenames (#2194 )
* save results with name
* debug
* save original imgs names
* Update common.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
* TTA augument boxes one pixel shifted in de-flip ud and lr (#2219 )
* TTA augument boxes one pixel shifted in de-flip ud and lr
* PEP8 reformat
Co-authored-by: Jaap van de Loosdrecht <jaap.van.de.loosdrecht@nhlstenden.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
* LoadStreams() frame loss bug fix (#2222 )
* Update yolo.py channel array (#2223 )
* Add check_imshow() (#2231 )
* Add check_imshow()
* Update general.py
* Update general.py
* Update CI badge (#2230 )
* Add isdocker() (#2232 )
* Add isdocker()
* Update general.py
* Update general.py
* YOLOv5 Hub URL inference bug fix (#2250 )
* Update common.py
* Update common.py
* Update common.py
* Improved hubconf.py CI tests (#2251 )
* Unified hub and detect.py box and labels plotting (#2243 )
* reset head
* Update inference default to multi_label=False (#2252 )
* Update inference default to multi_label=False
* bug fix
* Update plots.py
* Update plots.py
* Robust objectness loss balancing (#2256 )
* Created using Colaboratory
* Update minimum stride to 32 (#2266 )
* Dynamic ONNX engine generation (#2208 )
* add: dynamic onnx export
* delete: test onnx inference
* fix dynamic output axis
* Code reduction
* fix: dynamic output axes, dynamic input naming
* Remove fixed axes
Co-authored-by: Shivam Swanrkar <ss8464@nyu.edu>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
* Update greetings.yml for auto-rebase on PR (#2272 )
* Update Dockerfile with apt install zip (#2274 )
* FLOPS min stride 32 (#2276 )
Signed-off-by: xiaowo1996 <429740343@qq.com>
* Update README.md
* Amazon AWS EC2 startup and re-startup scripts (#2185 )
* Amazon AWS EC2 startup and re-startup scripts
* Create resume.py
* cleanup
* Amazon AWS EC2 startup and re-startup scripts (#2282 )
* Update train.py (#2290 )
* Update train.py
* Update train.py
* Update train.py
* Update train.py
* Create train.py
* 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
* Improved model+EMA checkpointing 2 (#2295 )
* Fix labels being missed when image extension appears twice in filename (#2300 )
* W&B entity support (#2298 )
* W&B entity support
* shorten wandb_entity to entity
Co-authored-by: Jan Hajek <jan.hajek@gmail.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
* Avoid mutable state in Detect
* Update yolo and remove .to(device)
Co-authored-by: Oleg Boiko <oboiko@chegg.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: train255 <thanhdd.it@gmail.com>
Co-authored-by: ab-101 <56578530+ab-101@users.noreply.github.com>
Co-authored-by: Transigent <wbdsmith@optusnet.com.au>
Co-authored-by: NanoCode012 <kevinvong@rocketmail.com>
Co-authored-by: Daniel Khromov <danielkhromov@gmail.com>
Co-authored-by: VdLMV <jaap@vdlmv.nl>
Co-authored-by: Jaap van de Loosdrecht <jaap.van.de.loosdrecht@nhlstenden.com>
Co-authored-by: Yann Defretin <kinoute@gmail.com>
Co-authored-by: Aditya Lohia <64709773+aditya-dl@users.noreply.github.com>
Co-authored-by: Shivam Swanrkar <ss8464@nyu.edu>
Co-authored-by: xiaowo1996 <429740343@qq.com>
Co-authored-by: Iden Craven <iden.craven@gmail.com>
Co-authored-by: Jan Hajek <toretak@users.noreply.github.com>
Co-authored-by: Jan Hajek <jan.hajek@gmail.com>
2021-02-26 15:07:40 -08:00
Aditya Lohia
95aefea493
Dynamic ONNX engine generation ( #2208 )
...
* add: dynamic onnx export
* delete: test onnx inference
* fix dynamic output axis
* Code reduction
* fix: dynamic output axes, dynamic input naming
* Remove fixed axes
Co-authored-by: Shivam Swanrkar <ss8464@nyu.edu>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-02-21 21:50:44 -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
Yann Defretin
5f42643a53
Unified hub and detect.py box and labels plotting ( #2243 )
2021-02-19 12:38:05 -08:00
Glenn Jocher
db28ce61ac
Improved hubconf.py CI tests ( #2251 )
2021-02-19 12:35:38 -08:00
Glenn Jocher
9d87307784
YOLOv5 Hub URL inference bug fix ( #2250 )
...
* Update common.py
* Update common.py
* Update common.py
2021-02-19 11:22:42 -08:00
Glenn Jocher
f8464b4f66
Update yolo.py channel array ( #2223 )
2021-02-15 21:21:53 -08:00
VdLMV
3ff783c18f
TTA augument boxes one pixel shifted in de-flip ud and lr ( #2219 )
...
* TTA augument boxes one pixel shifted in de-flip ud and lr
* PEP8 reformat
Co-authored-by: Jaap van de Loosdrecht <jaap.van.de.loosdrecht@nhlstenden.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-02-15 10:49:22 -08:00
Daniel Khromov
3e560e2fae
YOLOv5 PyTorch Hub results.save() method retains filenames ( #2194 )
...
* save results with name
* debug
* save original imgs names
* Update common.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-02-12 15:37:51 -08:00
Glenn Jocher
404749a33c
PyTorch Hub results.save('path/to/dir') ( #2179 )
2021-02-10 16:10:43 -08:00
Glenn Jocher
9646ca438a
Update plot_study() ( #2112 )
2021-02-01 13:51:11 -08:00
Glenn Jocher
6e6f77be47
Add YOLOv5-P6 models ( #2083 )
2021-01-29 11:57:29 -08:00
Glenn Jocher
6bfa9c2422
GhostConv update ( #2082 )
2021-01-29 11:25:01 -08:00
Glenn Jocher
08d3119e09
Add histogram equalization fcn ( #2049 )
2021-01-26 17:30:42 -08:00
Glenn Jocher
2fc4760257
Update autoshape .print() and .save() ( #2022 )
2021-01-22 16:38:06 -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
Abhiram V
4501169547
Update yolo.py with yaml.SafeLoader ( #1970 )
2021-01-18 10:47:00 -08:00
lorne
03ebe6ea14
Add nn.SiLU inplace in attempt_load() ( #1940 )
...
* sleep 3 sec to load data .
* Update train.py
* Add nn.SiLU inplace in attempt_load()
Co-authored-by: wangliang <wangliang@codingapi.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-01-15 09:58:41 -08:00
Glenn Jocher
1d1c0567a4
PyTorch Hub results.render() ( #1897 )
2021-01-10 20:06:11 -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
0b6266f5e0
Update yolov3-tiny.yaml ( #1823 )
2021-01-02 13:01:05 -08:00
NanoCode012
14b0abe2d0
autoShape() default for PyTorch Hub models ( #1692 )
...
* Add autoshape parameter
* Remove autoshape call in ReadMe
* Update hubconf.py
* file/URI inputs and autoshape check passthrough
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-12-26 19:58:26 -08:00
Glenn Jocher
9922c1183f
leaf Variable inplace bug fix ( #1759 )
2020-12-22 17:27:40 -08:00
Glenn Jocher
394d1c89f3
Input channel yaml['ch'] addition ( #1741 )
2020-12-19 10:54:01 -08:00
Glenn Jocher
6bd5e8bca7
nn.SiLU() export support ( #1713 )
2020-12-16 17:55:57 -08:00
Glenn Jocher
799724108f
Update C3 module ( #1705 )
2020-12-15 22:13: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
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
d929bb656c
Implement default class names ( #1609 )
2020-12-06 12:41:37 +01:00
Glenn Jocher
ba48f867ea
Add bias to Classify() ( #1601 )
2020-12-04 15:06:33 +01:00
Glenn Jocher
199c9c7874
Detection() device bug fix ( #1455 )
2020-11-19 13:45:36 +01:00
Glenn Jocher
225845e781
Update test.py for IoU in native image-space ( #1439 )
...
* Update test.py for IoU in native image-space
* remove redundant
* gn to device
* remove output scale_coords
* --img-size correction
* update
* native-space labels
* pred to predn
* remove clip_coords()
2020-11-18 22:50:21 +01:00
Glenn Jocher
97c6a59dd1
PANet anchor order correction ( #1420 )
2020-11-17 10:13:00 +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
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
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
15a10609fe
autoshape() update for PIL greyscale inputs ( #1279 )
...
* autoshape update for PIL greyscale inputs
* autoshape update for PIL greyscale inputs
2020-11-04 14:20:11 +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
Yi_Zhang
f532bc68a9
GhostConv() bug fix ( #1176 )
2020-10-20 13:42:11 +02:00
Glenn Jocher
3b57cb5641
Simplified inference ( #1153 )
2020-10-15 20:10:08 +02:00
Glenn Jocher
d45e349a1e
Rearrange export input after checks ( #1118 )
...
img size checks are warnings rather than errors, so current implementation allows improperly formed model inputs.
2020-10-11 16:23:36 +02:00
Glenn Jocher
c2403d785c
fuse() bug fix
2020-10-11 00:42:54 +02:00
Glenn Jocher
883924d9dc
classifier, export, torch seed updates
2020-10-06 14:54:02 +02:00
Glenn Jocher
a12698f4c9
Update ci-testing.yml reflecting sys.path additions ( #869 )
...
* Update ci-testing.yml
* Update yolo.py
* Update ci-testing.yml
* Update export.py
* Update yolo.py
2020-10-04 18:50:32 +02:00
PetrDvoracek
d55c326dda
export.py folder sys.path addition ( #1052 )
2020-10-04 17:42:05 +02:00
Glenn Jocher
4fce0096fa
model.add_nms() method
2020-09-20 16:31:40 -07:00
Glenn Jocher
2f77cf33f6
.fuse() additional error checking
2020-09-20 12:04:20 -07:00
Glenn Jocher
c4cb78570c
add NMS to pretrained pytorch hub models
2020-09-18 18:17:11 -07:00
Glenn Jocher
6062bb7dee
print self.yaml['nc'] override update
2020-09-11 17:44:11 -07:00
tomguluson92
35dc935504
remove `nn.Conv2d` in default settings ( #949 )
2020-09-11 16:35:48 -07:00
Glenn Jocher
d68179953d
Update export.py
2020-09-02 13:23:29 -07:00
Glenn Jocher
1e7674d4dd
Update export.py --img-size comment
2020-08-25 23:07:22 -07:00
Glenn Jocher
4fb8cb353f
Update export.py with v3.0 Hardswish() support ( #831 )
2020-08-24 21:59:26 -07:00
Glenn Jocher
4d7f222f73
Update export.py with v3.0 Hardswish() support
2020-08-24 21:47:49 -07:00
Glenn Jocher
a8751e50de
model.fuse() fix for export.py ( #827 )
2020-08-24 19:27:54 -07:00
Glenn Jocher
d0f98c0095
Update yolo.py with model_info(verbose=False)
2020-08-21 16:20:45 -07:00
Glenn Jocher
b42e8a531b
optimize imports
2020-08-20 21:17:40 -07:00
Glenn Jocher
916d4aad9a
v3.0 Release ( #725 )
...
* initial commit
* remove yolov3-spp from test.py study
* update study --img range
* update mAP
* cleanup and speed updates
* update README plot
2020-08-13 14:25:05 -07:00
NanoCode012
0892c44bc4
Fix Logging ( #719 )
...
* Add logging setup
* Fix fusing layers message
* Fix logging does not have end
* Add logging
* Change logging to use logger
* Update yolo.py
I tried this in a cloned branch, and everything seems to work fine
* Update yolo.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-08-12 14:18:19 -07:00
NanoCode012
4949401a94
Fix redundant outputs via Logging in DDP training ( #500 )
...
* Change print to logging
* Clean function set_logging
* Add line spacing
* Change leftover prints to log
* Fix scanning labels output
* Fix rank naming
* Change leftover print to logging
* Reorganized DDP variables
* Fix type error
* Make quotes consistent
* Fix spelling
* Clean function call
* Add line spacing
* Update datasets.py
* Update train.py
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-08-11 11:18:45 -07:00
Jirka Borovec
d5b6416c87
Explicit Imports ( #498 )
...
* expand imports
* optimize
* miss
* fix
2020-08-02 15:47:36 -07:00
Glenn Jocher
d989bc9260
remove NBSP
2020-08-02 14:23:05 -07:00
Glenn Jocher
2268f9c44f
update *.yaml output layer comments
2020-07-30 11:31:47 -07:00
Liu Changyu
adaf1d8ac1
Update models/hub *.yaml files for v2.0 ( #546 )
...
* fix #543 issue
* Update yolov3-spp.yaml
* Update yolov5-fpn.yaml
* Update yolov5-panet.yaml
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-07-29 14:02:07 -07:00
Glenn Jocher
43a616a955
PyTorch 1.6.0 compatability updates
2020-07-28 15:38:56 -07:00
Glenn Jocher
1d17b9af0f
update yolo.py TTA flexibility and extensibility ( #506 )
...
* update yolo.py TTA flexibility and extensibility
* Update scale_img()
2020-07-24 11:42:23 -07:00
Glenn Jocher
9da56b62dd
v2.0 Release ( #491 )
...
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-07-23 15:34:23 -07:00
Glenn Jocher
a97c3f94ec
update common.py Classify()
2020-07-16 23:59:51 -07:00
Glenn Jocher
5387d4747d
update common.py add Classify()
2020-07-16 17:18:41 -07:00