Deep Patel
c72270c076
Init tensor directly on device ( #6068 )
Slightly more efficient than .to(device)
pirms 2 gadiem
Glenn Jocher
46daa7b78d
Remove `.autoshape()` method ( #5694 )
pirms 3 gadiem
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
```
pirms 3 gadiem
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
pirms 3 gadiem
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
```
pirms 3 gadiem
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
pirms 3 gadiem
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>
pirms 3 gadiem
Glenn Jocher
5866646cc8
Fix float zeros format ( #5491 )
* Fix float zeros format
* 255 to integer
pirms 3 gadiem
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>
pirms 3 gadiem
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
pirms 3 gadiem
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>
pirms 3 gadiem
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>
pirms 3 gadiem
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>
pirms 3 gadiem
Glenn Jocher
070af88108
Fix `yaml.safe_load()` ignore emoji errors ( #5060 )
pirms 3 gadiem
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
pirms 3 gadiem
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
pirms 3 gadiem
Glenn Jocher
fb982d6030
Fix relative `ROOT` Pytorch Hub custom model bug ( #4974 )
* Fix relative `ROOT` Pytorch Hub custom model bug
* Update yolo.py
pirms 3 gadiem
Glenn Jocher
5ed28603cf
Update relative `ROOT` logic ( #4955 )
* Update relative `ROOT` logic
* python 3.9 Path().is_relative_to() removal
pirms 3 gadiem
Glenn Jocher
4d1a2ac87e
Update `sys.path.append(str(ROOT))` ( #4852 )
* Update `sys.path.append(str(ROOT))`
* Cleanup
pirms 3 gadiem
Glenn Jocher
0dc725e3dc
Refactor `forward()` method profiling ( #4816 )
pirms 3 gadiem
Glenn Jocher
c47be26f34
Replace `path.absolute()` with `path.resolve()` ( #4763 )
pirms 3 gadiem
Glenn Jocher
a2b3c71636
Add suffix checks ( #4711 )
* Add suffix checks
* Cleanup
* Cleanup2
* Cleanup3
pirms 3 gadiem
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.
pirms 3 gadiem
Glenn Jocher
01cdb7671b
Add `SPPF()` layer ( #4420 )
* Add `SPPF()` layer
* Cleanup
* Add credit
pirms 3 gadiem
Glenn Jocher
24bea5e4b7
Standardize headers and docstrings ( #4417 )
* Implement new headers
* Reformat 1
* Reformat 2
* Reformat 3 - math
* Reformat 4 - yaml
pirms 3 gadiem
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
pirms 3 gadiem
Yuantao Yang
e7fc27406a
Fix module count in parse_model ( #4379 )
Co-authored-by: yangyuantao <yangyuantao@transai.cn>
pirms 3 gadiem
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
pirms 3 gadiem
Glenn Jocher
587c4b4b81
Add `DWConvClass()` ( #4274 )
* Add `DWConvClass()`
* Cleanup
* Cleanup2
pirms 3 gadiem
Glenn Jocher
b1be685005
Module `super().__init__()` ( #4065 )
* Module `super().__init__()`
* remove NMS
pirms 3 gadiem
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>
pirms 3 gadiem
Glenn Jocher
720aaa65c8
Rename `test.py` to `val.py` ( #4000 )
pirms 3 gadiem
Glenn Jocher
87b094bcbc
Feature visualization update ( #3920 )
* Feature visualization update
* Save to jpg (faster)
* Save to png
pirms 3 gadiem
Glenn Jocher
81b31824f5
Models `*.yaml` reformat ( #3875 )
pirms 3 gadiem
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>
pirms 3 gadiem
Glenn Jocher
53ed872c28
Update export.py, yolo.py `sys.path.append()` ( #3579 )
pirms 3 gadiem
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>
pirms 3 gadiem
chocosaj
3cb9ad4fc4
Update FLOPs description ( #3422 )
* Update README.md
* Changing FLOPS to FLOPs.
Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
pirms 3 gadiem
Glenn Jocher
1f8d716ec9
yolo.py header ( #3347 )
pirms 3 gadiem
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
pirms 3 gadiem
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>
pirms 3 gadiem
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>
pirms 3 gadiem
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
pirms 3 gadiem
Glenn Jocher
4890499344
Improved yolo.py profiling ( #2940 )
* Improved yolo.py profiling
Improved column order and labelling.
* Update yolo.py
pirms 3 gadiem
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>
pirms 3 gadiem
Glenn Jocher
cdb678f418
Update yolo.py ( #2899 )
pirms 3 gadiem
Glenn Jocher
f7bc685c2c
Implement yaml.safe_load() ( #2876 )
* Implement yaml.safe_load()
* yaml.safe_dump()
pirms 3 gadiem
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>
pirms 3 gadiem
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
pirms 3 gadiem
Glenn Jocher
a3ecf0fd64
Anchor override ( #2350 )
pirms 3 gadiem