Commit Graph
1070 Commits
Author SHA1 Message Date
Ferdinand LoeschandGlenn Jocher dbce1bc54c Objects365 Dataset (#2932)
* add object365

* ADD CONVERSION SCRIPT

* fix transcript

* Reformat and simplify

* spelling

* Update get_objects365.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-29 20:43:33 +02:00
Glenn Jocher 33712d6dd0 Global Wheat Detection 2020 Dataset Auto-Download (#2968)
* Create GlobalWheat2020.yaml

* Update and rename visdrone.yaml to VisDrone.yaml

* Update GlobalWheat2020.yaml
2021-04-28 20:11:02 +02:00
Glenn Jocher 2c7c075fb1 Update restapi.py (#2967) 2021-04-28 17:50:07 +02:00
Glenn Jocher 57812df68c New Colors() class (#2963) 2021-04-28 16:05:14 +02:00
Glenn Jocher 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
BZFYSandGlenn Jocher 6c1290fe03 Update README.md (#2934)
* Update README.md

dependencies:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
ImportError: libXrender.so.1: cannot open shared object file: No such file or directory

* replace older apt-get with apt

Code commented for now until a better understanding of the issue, and also code is not cross-platform compatible.

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-26 23:56:25 +02:00
Glenn Jocher 1849916726 Check_requirements() enclosing apostrophe bug fix (#2929)
This fixes a bug where the '>' symbol in python package requirements was not running correctly with subprocess.check_output() commands.
2021-04-25 23:33:25 +02:00
Glenn Jocher 9c7bb5a52c ACON Activation batch-size 1 bug patch (#2901)
* ACON Activation batch-size 1 bug path

This is not a great solution to https://github.com/nmaac/acon/issues/4 but it's all I could think of at the moment.

WARNING: YOLOv5 models with MetaAconC() activations are incapable of running inference at batch-size 1 properly due to a known bug in https://github.com/nmaac/acon/issues/4 with no known solution.

* Update activations.py

* Update activations.py

* Update activations.py

* Update activations.py
2021-04-25 22:54:07 +02:00
NanoCode012andGlenn Jocher 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 3665c0f59b test.py native --single-cls (#2928) 2021-04-25 20:05:16 +02:00
albinxavi aa78069c58 Change default value of hide-conf argument to false (#2925) 2021-04-25 14:18:14 +02:00
albinxavi eae28a93b0 Change default value of hide label argument to False (#2923) 2021-04-24 19:58:02 +02:00
Glenn Jocher de19d396e7 Update visdrone.yaml (#2921) 2021-04-24 16:28:27 +02:00
Glenn Jocher 45632b2704 Update download() for tar.gz files (#2919)
* Update download() for tar.gz files

* Update general.py
2021-04-24 15:53:15 +02:00
Glenn Jocher 1b1ab4cca2 Add file_size() function (#2911)
* Add file_size() function

* Update export.py
2021-04-24 01:31:11 +02:00
Glenn Jocher 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
Maximilian PetersandGlenn Jocher f662c18507 Add detect.py --hide-conf --hide-labels --line-thickness options (#2658)
* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for line thickness and hiding labels

* command line option for hiding confidence values

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-23 21:07:48 +02:00
Glenn Jocher 14d2d2d75f Update google_utils.py (#2900) 2021-04-22 20:27:32 +02:00
Glenn Jocher cdb678f418 Update yolo.py (#2899) 2021-04-22 19:27:21 +02:00
fcakyon b40dd99167 Explicit opt function arguments (#2817)
* more explicit function arguments

* fix typo in detect.py

* revert import order

* revert import order

* remove default value
2021-04-22 18:17:30 +02:00
Glenn Jocher 264d860f8d ACON activation function (#2893)
* ACON Activation Function

## 🚀 Feature

There is a new activation function [ACON (CVPR 2021)](https://arxiv.org/pdf/2009.04759.pdf) that unifies ReLU and Swish. 
ACON is simple but very effective, code is here: https://github.com/nmaac/acon/blob/main/acon.py#L19

![image](https://user-images.githubusercontent.com/5032208/115676962-a38dfe80-a382-11eb-9883-61fa3216e3e6.png)

The improvements are very significant:
![image](https://user-images.githubusercontent.com/5032208/115680180-eac9be80-a385-11eb-9c7a-8643db552c69.png)

## Alternatives

It also has an enhanced version meta-ACON that uses a small network to learn beta explicitly, which may influence the speed a bit.

## Additional context

[Code](https://github.com/nmaac/acon) and [paper](https://arxiv.org/pdf/2009.04759.pdf).

* Update activations.py
2021-04-22 17:26:05 +02:00
r-blmnr 0395e39fd0 Uppercase model filenames enabled (#2890) 2021-04-22 16:51:21 +02:00
Glenn Jocher 78fd077657 VisDrone2019-DET Dataset Auto-Download (#2882)
* VisDrone Dataset Auto-Download

* add visdrone.yaml

* cleanup

* add VisDrone2019-DET-test-dev

* cleanup VOC
2021-04-22 12:10:26 +02:00
Michael Heilig d48a34dca7 bug fix: switched rows and cols for correct detections in confusion matrix (#2883) 2021-04-22 00:49:55 +02:00
JoshSongandGlenn Jocher 5f7d39fede Cleanup load_image() (#2871)
* don't resize up in load_image if augmenting

* cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-21 15:50:28 +02:00
Glenn Jocher f7bc685c2c Implement yaml.safe_load() (#2876)
* Implement yaml.safe_load()

* yaml.safe_dump()
2021-04-21 14:34:45 +02:00
BurhanandGlenn Jocher c949fc86d1 Detection cropping+saving feature addition for detect.py and PyTorch Hub (#2827)
* Update detect.py

* Update detect.py

* Update greetings.yml

* Update cropping

* cleanup

* Update increment_path()

* Update common.py

* Update detect.py

* Update detect.py

* Update detect.py

* Update common.py

* cleanup

* Update detect.py

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-20 23:51:08 +02:00
Glenn Jocher c5c647e281 Update increment_path() to handle file paths (#2867) 2021-04-20 19:47:07 +02:00
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 238583b7d5 Update FUNDING.yml (#2833)
* Update FUNDING.yml

* move FUNDING.yml to ./github
2021-04-18 14:40:58 +02:00
Glenn Jocher 803f51bcee Create FUNDING.yml (#2832) 2021-04-18 14:28:27 +02:00
Glenn Jocher c15e25c40f PyTorch Hub cv2 .save() .show() bug fix (#2831)
* PyTorch Hub cv2 .save() .show() bug fix

cv2.rectangle() was failing on non-contiguous np array inputs. This checks for contiguous arrays and applies is necessary:
```python
imgs[i] = im if im.data.contiguous else np.ascontiguousarray(im)  # update
```

* Update plots.py

```python
assert im.data.contiguous, 'Image not contiguous. Apply np.ascontiguousarray(im) to plot_on_box() input image.'
```

* Update hubconf.py

Expand CI tests to OpenCV image.
2021-04-18 13:47:40 +02:00
Glenn Jocher aff03be35a YouTube Bug Fix (#2818)
Fix for #2810
```shell
python detect.py --source 0
```
introduced by YouTube Livestream Detection PR #2752
2021-04-16 17:58:28 +02:00
Glenn Jocher 1f3e482bce ONNX Simplifier (#2815)
* ONNX Simplifier

Add ONNX Simplifier to ONNX export pipeline in export.py. Will auto-install onnx-simplifier if onnx is installed but onnx-simplifier is not.

* Update general.py
2021-04-16 14:03:27 +02:00
Glenn Jocher e5d71223b8 Update README.md 2021-04-15 16:45:50 +02:00
RobinandGlenn Jocher 1479737064 Flask REST API Example (#2732)
* add files

* Update README.md

* Update README.md

* Update restapi.py

pretrained=True and model.eval() are used by default when loading a model now, so no need to call them manually.

* PEP8 reformat

* PEP8 reformat

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-15 13:26:08 +02:00
Glenn Jocher 1487bc84ff Update README.md 2021-04-12 13:27:40 +02:00
Glenn Jocher 860ca98832 Created using Colaboratory 2021-04-12 13:10:08 +02:00
Glenn Jocher cac8a765c8 Created using Colaboratory 2021-04-12 13:02:40 +02:00
Glenn Jocher 2eab46e2cf Update tutorial.ipynb 2021-04-12 12:33:04 +02:00
Glenn Jocher 6b718e9127 Created using Colaboratory 2021-04-12 12:31:28 +02:00
Glenn Jocher 54d65160b7 Update tutorial.ipynb 2021-04-12 12:26:28 +02:00
Glenn Jocher 0f395b3e3b YOLOv5 v5.0 Release patch 1 (#2764)
* torch.jit.trace(model, img, strict=False)

* Update check_file()

* Update hubconf.py

* Update README.md
2021-04-11 23:11:43 +02:00
Glenn Jocher f5b8f7d54c YOLOv5 v5.0 Release (#2762) 2021-04-11 19:23:47 +02:00
Ben MilankoandGlenn Jocher e2b7bc0b32 YouTube Livestream Detection (#2752)
* Youtube livestream detection

* dependancy update to auto install pafy

* Remove print

* include youtube_dl in deps

* PEP8 reformat

* youtube url check fix

* reduce lines

* add comment

* update check_requirements

* stream framerate fix

* Update README.md

* cleanup

* PEP8

* remove cap.retrieve() failure code

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-04-11 18:53:40 +02:00
Glenn Jocher 9029759cb3 Created using Colaboratory 2021-04-11 16:28:32 +02:00
Glenn Jocher 6dd1083bbb Tensorboard model visualization bug fix (#2758)
This fix should allow for visualizing YOLOv5 model graphs correctly in Tensorboard by uncommenting line 335 in train.py:
```python
                    if tb_writer:
                        tb_writer.add_graph(torch.jit.trace(model, imgs, strict=False), [])  # add model graph
```

The problem was that the detect() layer checks the input size to adapt the grid if required, and tracing does not seem to like this shape check (even if the shape is fine and no grid recomputation is required). The following will warn:
https://github.com/ultralytics/yolov5/blob/0cae7576a9241110157cd154fc2237e703c2719e/train.py#L335

Solution is below. This is a YOLOv5s model displayed in TensorBoard. You can see the Detect() layer merging the 3 layers into a single output for example, and everything appears to work and visualize correctly.
```python
tb_writer.add_graph(torch.jit.trace(model, imgs, strict=False), [])
```
<img width="893" alt="Screenshot 2021-04-11 at 01 10 09" src="https://user-images.githubusercontent.com/26833433/114286928-349bd600-9a63-11eb-941f-7139ee6cd602.png">
2021-04-11 01:33:55 +02:00