Add YOLOv3 and YOLOv5 model *.yaml files (#169)
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>pull/200/head
parent
0a7d86cd26
commit
341ce0ff3f
28 changed files with 383 additions and 6 deletions
@ -0,0 +1,24 @@ |
||||
## Models HUB |
||||
|
||||
Here are the models that are supported out-of-the-box with Ultralytics. For a detailed view and navigation, visit [model hub](<>) section of the docs. |
||||
|
||||
### Usage |
||||
|
||||
You can simply set the `model` parameter to any available yaml config or pretained weights |
||||
|
||||
```bash |
||||
yolo task=... mode=... model=yolov5n.yaml |
||||
``` |
||||
|
||||
| Model | Version/ | size (pixels) | mAPval 50-95 | Speed CPU b1 (ms) | params (M) | FLOPs @640 (B) | model file | Pretrained Weights | |
||||
| ------------------ | -------- | ------------- | ------------ | ----------------- | ---------- | -------------- | ------------- | ------------------ | |
||||
| YOLOv5n | v6.3 | 640 | 28.0 | 45 | 1.9 | 4.5 | yolov5n.yaml | - | |
||||
| YOLOv5s | - | 640 | 37.4 | 98 | 7.2 | 16.5 | yolov5s.yaml | - | |
||||
| YOLOv5m | - | 640 | 45.4 | 224 | 21.2 | 49.0 | yolov5m.yaml | - | |
||||
| YOLOv5l | - | 640 | 49.0 | 430 | 46.5 | 109.1 | yolov5l.yaml | - | |
||||
| YOLOv5x | - | 640 | 50.7 | 766 | 86.7 | 205.7 | yolov5x.yaml | - | |
||||
| YOLOv5n6 | - | 1280 | 36.0 | 153 | 3.2 | 4.6 | yolov5n6.yaml | - | |
||||
| YOLOv5s6 | - | 1280 | 44.8 | 385 | 12.6 | 16.8 | yolov5s6.yaml | - | |
||||
| YOLOv5m6 | - | 1280 | 51.3 | 887 | 35.7 | 50.0 | yolov5m6.yaml | - | |
||||
| YOLOv5l6 | - | 1280 | 53.7 | 1784 | 76.8 | 111.4 | yolov5l6.yaml | - | |
||||
| YOLOv5x6 + \[TTA\] | - | 1280 1536 | 55.0 55.8 | 3136 - | 140.7 - | 209.8 - | yolov5x6.yaml | - | |
@ -0,0 +1,47 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 1.0 # model depth multiple |
||||
width_multiple: 1.0 # layer channel multiple |
||||
|
||||
# darknet53 backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [32, 3, 1]], # 0 |
||||
[-1, 1, Conv, [64, 3, 2]], # 1-P1/2 |
||||
[-1, 1, Bottleneck, [64]], |
||||
[-1, 1, Conv, [128, 3, 2]], # 3-P2/4 |
||||
[-1, 2, Bottleneck, [128]], |
||||
[-1, 1, Conv, [256, 3, 2]], # 5-P3/8 |
||||
[-1, 8, Bottleneck, [256]], |
||||
[-1, 1, Conv, [512, 3, 2]], # 7-P4/16 |
||||
[-1, 8, Bottleneck, [512]], |
||||
[-1, 1, Conv, [1024, 3, 2]], # 9-P5/32 |
||||
[-1, 4, Bottleneck, [1024]], # 10 |
||||
] |
||||
|
||||
# YOLOv3-SPP head |
||||
head: |
||||
[[-1, 1, Bottleneck, [1024, False]], |
||||
[-1, 1, SPP, [512, [5, 9, 13]]], |
||||
[-1, 1, Conv, [1024, 3, 1]], |
||||
[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, Conv, [1024, 3, 1]], # 15 (P5/32-large) |
||||
|
||||
[-2, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 8], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 1, Bottleneck, [512, False]], |
||||
[-1, 1, Bottleneck, [512, False]], |
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, Conv, [512, 3, 1]], # 22 (P4/16-medium) |
||||
|
||||
[-2, 1, Conv, [128, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 6], 1, Concat, [1]], # cat backbone P3 |
||||
[-1, 1, Bottleneck, [256, False]], |
||||
[-1, 2, Bottleneck, [256, False]], # 27 (P3/8-small) |
||||
|
||||
[[27, 22, 15], 1, Detect, [nc]], # Detect(P3, P4, P5) |
||||
] |
@ -0,0 +1,38 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 1.0 # model depth multiple |
||||
width_multiple: 1.0 # layer channel multiple |
||||
|
||||
# YOLOv3-tiny backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [16, 3, 1]], # 0 |
||||
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 1-P1/2 |
||||
[-1, 1, Conv, [32, 3, 1]], |
||||
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 3-P2/4 |
||||
[-1, 1, Conv, [64, 3, 1]], |
||||
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 5-P3/8 |
||||
[-1, 1, Conv, [128, 3, 1]], |
||||
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 7-P4/16 |
||||
[-1, 1, Conv, [256, 3, 1]], |
||||
[-1, 1, nn.MaxPool2d, [2, 2, 0]], # 9-P5/32 |
||||
[-1, 1, Conv, [512, 3, 1]], |
||||
[-1, 1, nn.ZeroPad2d, [[0, 1, 0, 1]]], # 11 |
||||
[-1, 1, nn.MaxPool2d, [2, 1, 0]], # 12 |
||||
] |
||||
|
||||
# YOLOv3-tiny head |
||||
head: |
||||
[[-1, 1, Conv, [1024, 3, 1]], |
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, Conv, [512, 3, 1]], # 15 (P5/32-large) |
||||
|
||||
[-2, 1, Conv, [128, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 8], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 1, Conv, [256, 3, 1]], # 19 (P4/16-medium) |
||||
|
||||
[[19, 15], 1, Detect, [nc]], # Detect(P4, P5) |
||||
] |
@ -0,0 +1,47 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 1.0 # model depth multiple |
||||
width_multiple: 1.0 # layer channel multiple |
||||
|
||||
# darknet53 backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [32, 3, 1]], # 0 |
||||
[-1, 1, Conv, [64, 3, 2]], # 1-P1/2 |
||||
[-1, 1, Bottleneck, [64]], |
||||
[-1, 1, Conv, [128, 3, 2]], # 3-P2/4 |
||||
[-1, 2, Bottleneck, [128]], |
||||
[-1, 1, Conv, [256, 3, 2]], # 5-P3/8 |
||||
[-1, 8, Bottleneck, [256]], |
||||
[-1, 1, Conv, [512, 3, 2]], # 7-P4/16 |
||||
[-1, 8, Bottleneck, [512]], |
||||
[-1, 1, Conv, [1024, 3, 2]], # 9-P5/32 |
||||
[-1, 4, Bottleneck, [1024]], # 10 |
||||
] |
||||
|
||||
# YOLOv3 head |
||||
head: |
||||
[[-1, 1, Bottleneck, [1024, False]], |
||||
[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, Conv, [1024, 3, 1]], |
||||
[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, Conv, [1024, 3, 1]], # 15 (P5/32-large) |
||||
|
||||
[-2, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 8], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 1, Bottleneck, [512, False]], |
||||
[-1, 1, Bottleneck, [512, False]], |
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, Conv, [512, 3, 1]], # 22 (P4/16-medium) |
||||
|
||||
[-2, 1, Conv, [128, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 6], 1, Concat, [1]], # cat backbone P3 |
||||
[-1, 1, Bottleneck, [256, False]], |
||||
[-1, 2, Bottleneck, [256, False]], # 27 (P3/8-small) |
||||
|
||||
[[27, 22, 15], 1, Detect, [nc]], # Detect(P3, P4, P5) |
||||
] |
@ -0,0 +1,44 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 1.0 # model depth multiple |
||||
width_multiple: 1.0 # layer channel multiple |
||||
|
||||
# YOLOv5 v6.0 backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 |
||||
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 |
||||
[-1, 3, C3, [128]], |
||||
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 |
||||
[-1, 6, C3, [256]], |
||||
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 |
||||
[-1, 9, C3, [512]], |
||||
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 |
||||
[-1, 3, C3, [1024]], |
||||
[-1, 1, SPPF, [1024, 5]], # 9 |
||||
] |
||||
|
||||
# YOLOv5 v6.0 head |
||||
head: |
||||
[[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 6], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 3, C3, [512, False]], # 13 |
||||
|
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 4], 1, Concat, [1]], # cat backbone P3 |
||||
[-1, 3, C3, [256, False]], # 17 (P3/8-small) |
||||
|
||||
[-1, 1, Conv, [256, 3, 2]], |
||||
[[-1, 14], 1, Concat, [1]], # cat head P4 |
||||
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) |
||||
|
||||
[-1, 1, Conv, [512, 3, 2]], |
||||
[[-1, 10], 1, Concat, [1]], # cat head P5 |
||||
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) |
||||
|
||||
[[17, 20, 23], 1, Detect, [nc]], # Detect(P3, P4, P5) |
||||
] |
@ -0,0 +1,44 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 0.67 # model depth multiple |
||||
width_multiple: 0.75 # layer channel multiple |
||||
|
||||
# YOLOv5 v6.0 backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 |
||||
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 |
||||
[-1, 3, C3, [128]], |
||||
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 |
||||
[-1, 6, C3, [256]], |
||||
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 |
||||
[-1, 9, C3, [512]], |
||||
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 |
||||
[-1, 3, C3, [1024]], |
||||
[-1, 1, SPPF, [1024, 5]], # 9 |
||||
] |
||||
|
||||
# YOLOv5 v6.0 head |
||||
head: |
||||
[[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 6], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 3, C3, [512, False]], # 13 |
||||
|
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 4], 1, Concat, [1]], # cat backbone P3 |
||||
[-1, 3, C3, [256, False]], # 17 (P3/8-small) |
||||
|
||||
[-1, 1, Conv, [256, 3, 2]], |
||||
[[-1, 14], 1, Concat, [1]], # cat head P4 |
||||
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) |
||||
|
||||
[-1, 1, Conv, [512, 3, 2]], |
||||
[[-1, 10], 1, Concat, [1]], # cat head P5 |
||||
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) |
||||
|
||||
[[17, 20, 23], 1, Detect, [nc]], # Detect(P3, P4, P5) |
||||
] |
@ -0,0 +1,44 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 0.33 # model depth multiple |
||||
width_multiple: 0.25 # layer channel multiple |
||||
|
||||
# YOLOv5 v6.0 backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 |
||||
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 |
||||
[-1, 3, C3, [128]], |
||||
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 |
||||
[-1, 6, C3, [256]], |
||||
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 |
||||
[-1, 9, C3, [512]], |
||||
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 |
||||
[-1, 3, C3, [1024]], |
||||
[-1, 1, SPPF, [1024, 5]], # 9 |
||||
] |
||||
|
||||
# YOLOv5 v6.0 head |
||||
head: |
||||
[[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 6], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 3, C3, [512, False]], # 13 |
||||
|
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 4], 1, Concat, [1]], # cat backbone P3 |
||||
[-1, 3, C3, [256, False]], # 17 (P3/8-small) |
||||
|
||||
[-1, 1, Conv, [256, 3, 2]], |
||||
[[-1, 14], 1, Concat, [1]], # cat head P4 |
||||
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) |
||||
|
||||
[-1, 1, Conv, [512, 3, 2]], |
||||
[[-1, 10], 1, Concat, [1]], # cat head P5 |
||||
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) |
||||
|
||||
[[17, 20, 23], 1, Detect, [nc]], # Detect(P3, P4, P5) |
||||
] |
@ -0,0 +1,45 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 0.33 # model depth multiple |
||||
width_multiple: 0.50 # layer channel multiple |
||||
|
||||
|
||||
# YOLOv5 v6.0 backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 |
||||
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 |
||||
[-1, 3, C3, [128]], |
||||
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 |
||||
[-1, 6, C3, [256]], |
||||
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 |
||||
[-1, 9, C3, [512]], |
||||
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 |
||||
[-1, 3, C3, [1024]], |
||||
[-1, 1, SPPF, [1024, 5]], # 9 |
||||
] |
||||
|
||||
# YOLOv5 v6.0 head |
||||
head: |
||||
[[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 6], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 3, C3, [512, False]], # 13 |
||||
|
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 4], 1, Concat, [1]], # cat backbone P3 |
||||
[-1, 3, C3, [256, False]], # 17 (P3/8-small) |
||||
|
||||
[-1, 1, Conv, [256, 3, 2]], |
||||
[[-1, 14], 1, Concat, [1]], # cat head P4 |
||||
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) |
||||
|
||||
[-1, 1, Conv, [512, 3, 2]], |
||||
[[-1, 10], 1, Concat, [1]], # cat head P5 |
||||
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) |
||||
|
||||
[[17, 20, 23], 1, Detect, [nc]], # Detect(P3, P4, P5) |
||||
] |
@ -0,0 +1,44 @@ |
||||
# Ultralytics YOLO 🚀, GPL-3.0 license |
||||
|
||||
# Parameters |
||||
nc: 80 # number of classes |
||||
depth_multiple: 1.33 # model depth multiple |
||||
width_multiple: 1.25 # layer channel multiple |
||||
|
||||
# YOLOv5 v6.0 backbone |
||||
backbone: |
||||
# [from, number, module, args] |
||||
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 |
||||
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 |
||||
[-1, 3, C3, [128]], |
||||
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 |
||||
[-1, 6, C3, [256]], |
||||
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 |
||||
[-1, 9, C3, [512]], |
||||
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 |
||||
[-1, 3, C3, [1024]], |
||||
[-1, 1, SPPF, [1024, 5]], # 9 |
||||
] |
||||
|
||||
# YOLOv5 v6.0 head |
||||
head: |
||||
[[-1, 1, Conv, [512, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 6], 1, Concat, [1]], # cat backbone P4 |
||||
[-1, 3, C3, [512, False]], # 13 |
||||
|
||||
[-1, 1, Conv, [256, 1, 1]], |
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
||||
[[-1, 4], 1, Concat, [1]], # cat backbone P3 |
||||
[-1, 3, C3, [256, False]], # 17 (P3/8-small) |
||||
|
||||
[-1, 1, Conv, [256, 3, 2]], |
||||
[[-1, 14], 1, Concat, [1]], # cat head P4 |
||||
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) |
||||
|
||||
[-1, 1, Conv, [512, 3, 2]], |
||||
[[-1, 10], 1, Concat, [1]], # cat head P5 |
||||
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) |
||||
|
||||
[[17, 20, 23], 1, Detect, [nc]], # Detect(P3, P4, P5) |
||||
] |
Loading…
Reference in new issue