ultralytics / yolov5

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
https://docs.ultralytics.com
GNU Affero General Public License v3.0
50.79k stars 16.36k forks source link

add ghostbottleneck module to yolov5s.yaml #4410

Closed leoncch closed 3 years ago

leoncch commented 3 years ago

❔Question

when I add ghostbottleneck module to yolov5s.yaml image

Additional context

parameters

nc: 2 # number of classes depth_multiple: 0.33 # model depth multiple width_multiple: 0.50 # layer channel multiple

anchors

anchors:

YOLOv5 backbone

backbone:

[from, number, module, args]

[[-1, 1, Focus, [64, 3]], # 0-P1/2 [-1, 1, Conv, [128, 3, 2]], # 1-P2/4 [-1, 3, GhostBottleneck, [128, 3, 1]], [-1, 1, Conv, [256, 3, 2]], # 3-P3/8 [-1, 9, GhostBottleneck, [256, 3, 1]], [-1, 1, Conv, [512, 3, 2]], # 5-P4/16 [-1, 9, GhostBottleneck, [512, 3, 1]], [-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 [-1, 1, SPP, [1024, [5, 9, 13]]], [-1, 3, GhostBottleneck, [1024, 3, 1]], # 9 ]

YOLOv5 head

head: [[-1, 1, Conv, [512, 1, 1]], [-1, 1, nn.Upsample, [None, 2]], [[-1, 6], 1, Concat, [1]], # cat backbone P4 [-1, 3, GhostBottleneck, [512, 3, 1]], # 13

[-1, 1, Conv, [256, 1, 1]], [-1, 1, nn.Upsample, [None, 2]], [[-1, 4], 1, Concat, [1]], # cat backbone P3 [-1, 3, GhostBottleneck, [256, 3, 1]], # 17 (P3/8-small)

[-1, 1, Conv, [256, 3, 2]], [[-1, 14], 1, Concat, [1]], # cat head P4 [-1, 3, GhostBottleneck, [512, 3, 1]], # 20 (P4/16-medium)

[-1, 1, Conv, [512, 3, 2]], [[-1, 10], 1, Concat, [1]], # cat head P5 [-1, 3, GhostBottleneck, [1024, 3, 1]], # 23 (P5/32-large)

[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) ]

github-actions[bot] commented 3 years ago

👋 Hello @leoncch, thank you for your interest in YOLOv5 🚀! Please visit our ⭐️ Tutorials to get started, where you can find quickstart guides for simple tasks like Custom Data Training all the way to advanced concepts like Hyperparameter Evolution.

If this is a 🐛 Bug Report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

If this is a custom training ❓ Question, please provide as much information as possible, including dataset images, training logs, screenshots, and a public link to online W&B logging if available.

For business inquiries or professional support requests please visit https://ultralytics.com or email Glenn Jocher at glenn.jocher@ultralytics.com.

Requirements

Python>=3.6.0 with all requirements.txt installed including PyTorch>=1.7. To get started:

$ git clone https://github.com/ultralytics/yolov5
$ cd yolov5
$ pip install -r requirements.txt

Environments

YOLOv5 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):

Status

CI CPU testing

If this badge is green, all YOLOv5 GitHub Actions Continuous Integration (CI) tests are currently passing. CI tests verify correct operation of YOLOv5 training (train.py), validation (val.py), inference (detect.py) and export (export.py) on MacOS, Windows, and Ubuntu every 24 hours and on every commit.

leoncch commented 3 years ago

can someone tell me the correct way to replace YOLOv5 bottleneckcps to ghostbottleneck, thanks!

glenn-jocher commented 3 years ago

@leoncch good news 😃! Your original issue may now be fixed ✅ in PR #4412. This PR adds a new yolov5s-ghost.yaml file to data/hub models. You can start training this with:

python train.py --cfg yolov5s-ghost.yaml --weights yolov5s.pt

To receive this update:

Thank you for spotting this issue and informing us of the problem. Please let us know if this update resolves the issue for you, and feel free to inform us of any other issues you discover or feature requests that come to mind. Happy trainings with YOLOv5 🚀!

fabiozappo commented 3 years ago

@glenn-jocher is yolov5s-ghost more indicated for deploy on embedded devices? Did you run any test about number of parameters and flops?

glenn-jocher commented 3 years ago

@fabiozappo see PR https://github.com/ultralytics/yolov5/pull/4412