bplusplus 0.1.0__py3-none-any.whl → 1.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bplusplus might be problematic. Click here for more details.
- bplusplus/__init__.py +5 -3
- bplusplus/{collect_images.py → collect.py} +3 -3
- bplusplus/prepare.py +573 -0
- bplusplus/train_validate.py +8 -64
- bplusplus/yolov5detect/__init__.py +1 -0
- bplusplus/yolov5detect/detect.py +444 -0
- bplusplus/yolov5detect/export.py +1530 -0
- bplusplus/yolov5detect/insect.yaml +8 -0
- bplusplus/yolov5detect/models/__init__.py +0 -0
- bplusplus/yolov5detect/models/common.py +1109 -0
- bplusplus/yolov5detect/models/experimental.py +130 -0
- bplusplus/yolov5detect/models/hub/anchors.yaml +56 -0
- bplusplus/yolov5detect/models/hub/yolov3-spp.yaml +52 -0
- bplusplus/yolov5detect/models/hub/yolov3-tiny.yaml +42 -0
- bplusplus/yolov5detect/models/hub/yolov3.yaml +52 -0
- bplusplus/yolov5detect/models/hub/yolov5-bifpn.yaml +49 -0
- bplusplus/yolov5detect/models/hub/yolov5-fpn.yaml +43 -0
- bplusplus/yolov5detect/models/hub/yolov5-p2.yaml +55 -0
- bplusplus/yolov5detect/models/hub/yolov5-p34.yaml +42 -0
- bplusplus/yolov5detect/models/hub/yolov5-p6.yaml +57 -0
- bplusplus/yolov5detect/models/hub/yolov5-p7.yaml +68 -0
- bplusplus/yolov5detect/models/hub/yolov5-panet.yaml +49 -0
- bplusplus/yolov5detect/models/hub/yolov5l6.yaml +61 -0
- bplusplus/yolov5detect/models/hub/yolov5m6.yaml +61 -0
- bplusplus/yolov5detect/models/hub/yolov5n6.yaml +61 -0
- bplusplus/yolov5detect/models/hub/yolov5s-LeakyReLU.yaml +50 -0
- bplusplus/yolov5detect/models/hub/yolov5s-ghost.yaml +49 -0
- bplusplus/yolov5detect/models/hub/yolov5s-transformer.yaml +49 -0
- bplusplus/yolov5detect/models/hub/yolov5s6.yaml +61 -0
- bplusplus/yolov5detect/models/hub/yolov5x6.yaml +61 -0
- bplusplus/yolov5detect/models/segment/yolov5l-seg.yaml +49 -0
- bplusplus/yolov5detect/models/segment/yolov5m-seg.yaml +49 -0
- bplusplus/yolov5detect/models/segment/yolov5n-seg.yaml +49 -0
- bplusplus/yolov5detect/models/segment/yolov5s-seg.yaml +49 -0
- bplusplus/yolov5detect/models/segment/yolov5x-seg.yaml +49 -0
- bplusplus/yolov5detect/models/tf.py +797 -0
- bplusplus/yolov5detect/models/yolo.py +495 -0
- bplusplus/yolov5detect/models/yolov5l.yaml +49 -0
- bplusplus/yolov5detect/models/yolov5m.yaml +49 -0
- bplusplus/yolov5detect/models/yolov5n.yaml +49 -0
- bplusplus/yolov5detect/models/yolov5s.yaml +49 -0
- bplusplus/yolov5detect/models/yolov5x.yaml +49 -0
- bplusplus/yolov5detect/utils/__init__.py +97 -0
- bplusplus/yolov5detect/utils/activations.py +134 -0
- bplusplus/yolov5detect/utils/augmentations.py +448 -0
- bplusplus/yolov5detect/utils/autoanchor.py +175 -0
- bplusplus/yolov5detect/utils/autobatch.py +70 -0
- bplusplus/yolov5detect/utils/aws/__init__.py +0 -0
- bplusplus/yolov5detect/utils/aws/mime.sh +26 -0
- bplusplus/yolov5detect/utils/aws/resume.py +41 -0
- bplusplus/yolov5detect/utils/aws/userdata.sh +27 -0
- bplusplus/yolov5detect/utils/callbacks.py +72 -0
- bplusplus/yolov5detect/utils/dataloaders.py +1385 -0
- bplusplus/yolov5detect/utils/docker/Dockerfile +73 -0
- bplusplus/yolov5detect/utils/docker/Dockerfile-arm64 +40 -0
- bplusplus/yolov5detect/utils/docker/Dockerfile-cpu +42 -0
- bplusplus/yolov5detect/utils/downloads.py +136 -0
- bplusplus/yolov5detect/utils/flask_rest_api/README.md +70 -0
- bplusplus/yolov5detect/utils/flask_rest_api/example_request.py +17 -0
- bplusplus/yolov5detect/utils/flask_rest_api/restapi.py +49 -0
- bplusplus/yolov5detect/utils/general.py +1294 -0
- bplusplus/yolov5detect/utils/google_app_engine/Dockerfile +25 -0
- bplusplus/yolov5detect/utils/google_app_engine/additional_requirements.txt +6 -0
- bplusplus/yolov5detect/utils/google_app_engine/app.yaml +16 -0
- bplusplus/yolov5detect/utils/loggers/__init__.py +476 -0
- bplusplus/yolov5detect/utils/loggers/clearml/README.md +222 -0
- bplusplus/yolov5detect/utils/loggers/clearml/__init__.py +0 -0
- bplusplus/yolov5detect/utils/loggers/clearml/clearml_utils.py +230 -0
- bplusplus/yolov5detect/utils/loggers/clearml/hpo.py +90 -0
- bplusplus/yolov5detect/utils/loggers/comet/README.md +250 -0
- bplusplus/yolov5detect/utils/loggers/comet/__init__.py +551 -0
- bplusplus/yolov5detect/utils/loggers/comet/comet_utils.py +151 -0
- bplusplus/yolov5detect/utils/loggers/comet/hpo.py +126 -0
- bplusplus/yolov5detect/utils/loggers/comet/optimizer_config.json +135 -0
- bplusplus/yolov5detect/utils/loggers/wandb/__init__.py +0 -0
- bplusplus/yolov5detect/utils/loggers/wandb/wandb_utils.py +210 -0
- bplusplus/yolov5detect/utils/loss.py +259 -0
- bplusplus/yolov5detect/utils/metrics.py +381 -0
- bplusplus/yolov5detect/utils/plots.py +517 -0
- bplusplus/yolov5detect/utils/segment/__init__.py +0 -0
- bplusplus/yolov5detect/utils/segment/augmentations.py +100 -0
- bplusplus/yolov5detect/utils/segment/dataloaders.py +366 -0
- bplusplus/yolov5detect/utils/segment/general.py +160 -0
- bplusplus/yolov5detect/utils/segment/loss.py +198 -0
- bplusplus/yolov5detect/utils/segment/metrics.py +225 -0
- bplusplus/yolov5detect/utils/segment/plots.py +152 -0
- bplusplus/yolov5detect/utils/torch_utils.py +482 -0
- bplusplus/yolov5detect/utils/triton.py +90 -0
- bplusplus-1.1.0.dist-info/METADATA +179 -0
- bplusplus-1.1.0.dist-info/RECORD +92 -0
- bplusplus/build_model.py +0 -38
- bplusplus-0.1.0.dist-info/METADATA +0 -91
- bplusplus-0.1.0.dist-info/RECORD +0 -8
- {bplusplus-0.1.0.dist-info → bplusplus-1.1.0.dist-info}/LICENSE +0 -0
- {bplusplus-0.1.0.dist-info → bplusplus-1.1.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 1.0 # model depth multiple
|
|
6
|
+
width_multiple: 1.0 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [10, 13, 16, 30, 33, 23] # P3/8
|
|
9
|
+
- [30, 61, 62, 45, 59, 119] # P4/16
|
|
10
|
+
- [116, 90, 156, 198, 373, 326] # P5/32
|
|
11
|
+
|
|
12
|
+
# YOLOv5 v6.0 backbone
|
|
13
|
+
backbone:
|
|
14
|
+
# [from, number, module, args]
|
|
15
|
+
[
|
|
16
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
17
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
18
|
+
[-1, 3, C3, [128]],
|
|
19
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
20
|
+
[-1, 6, C3, [256]],
|
|
21
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
22
|
+
[-1, 9, C3, [512]],
|
|
23
|
+
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
|
|
24
|
+
[-1, 3, C3, [1024]],
|
|
25
|
+
[-1, 1, SPPF, [1024, 5]], # 9
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# YOLOv5 v6.0 PANet head
|
|
29
|
+
head: [
|
|
30
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
31
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
32
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
33
|
+
[-1, 3, C3, [512, False]], # 13
|
|
34
|
+
|
|
35
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
36
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
37
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
38
|
+
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
|
|
39
|
+
|
|
40
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
41
|
+
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
42
|
+
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
|
|
43
|
+
|
|
44
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
45
|
+
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
46
|
+
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
|
|
47
|
+
|
|
48
|
+
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
|
|
49
|
+
]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 1.0 # model depth multiple
|
|
6
|
+
width_multiple: 1.0 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [19, 27, 44, 40, 38, 94] # P3/8
|
|
9
|
+
- [96, 68, 86, 152, 180, 137] # P4/16
|
|
10
|
+
- [140, 301, 303, 264, 238, 542] # P5/32
|
|
11
|
+
- [436, 615, 739, 380, 925, 792] # P6/64
|
|
12
|
+
|
|
13
|
+
# YOLOv5 v6.0 backbone
|
|
14
|
+
backbone:
|
|
15
|
+
# [from, number, module, args]
|
|
16
|
+
[
|
|
17
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
18
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
19
|
+
[-1, 3, C3, [128]],
|
|
20
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
21
|
+
[-1, 6, C3, [256]],
|
|
22
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
23
|
+
[-1, 9, C3, [512]],
|
|
24
|
+
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32
|
|
25
|
+
[-1, 3, C3, [768]],
|
|
26
|
+
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
|
|
27
|
+
[-1, 3, C3, [1024]],
|
|
28
|
+
[-1, 1, SPPF, [1024, 5]], # 11
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
# YOLOv5 v6.0 head
|
|
32
|
+
head: [
|
|
33
|
+
[-1, 1, Conv, [768, 1, 1]],
|
|
34
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
35
|
+
[[-1, 8], 1, Concat, [1]], # cat backbone P5
|
|
36
|
+
[-1, 3, C3, [768, False]], # 15
|
|
37
|
+
|
|
38
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
39
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
40
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
41
|
+
[-1, 3, C3, [512, False]], # 19
|
|
42
|
+
|
|
43
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
44
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
45
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
46
|
+
[-1, 3, C3, [256, False]], # 23 (P3/8-small)
|
|
47
|
+
|
|
48
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
49
|
+
[[-1, 20], 1, Concat, [1]], # cat head P4
|
|
50
|
+
[-1, 3, C3, [512, False]], # 26 (P4/16-medium)
|
|
51
|
+
|
|
52
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
53
|
+
[[-1, 16], 1, Concat, [1]], # cat head P5
|
|
54
|
+
[-1, 3, C3, [768, False]], # 29 (P5/32-large)
|
|
55
|
+
|
|
56
|
+
[-1, 1, Conv, [768, 3, 2]],
|
|
57
|
+
[[-1, 12], 1, Concat, [1]], # cat head P6
|
|
58
|
+
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
|
|
59
|
+
|
|
60
|
+
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
|
61
|
+
]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 0.67 # model depth multiple
|
|
6
|
+
width_multiple: 0.75 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [19, 27, 44, 40, 38, 94] # P3/8
|
|
9
|
+
- [96, 68, 86, 152, 180, 137] # P4/16
|
|
10
|
+
- [140, 301, 303, 264, 238, 542] # P5/32
|
|
11
|
+
- [436, 615, 739, 380, 925, 792] # P6/64
|
|
12
|
+
|
|
13
|
+
# YOLOv5 v6.0 backbone
|
|
14
|
+
backbone:
|
|
15
|
+
# [from, number, module, args]
|
|
16
|
+
[
|
|
17
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
18
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
19
|
+
[-1, 3, C3, [128]],
|
|
20
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
21
|
+
[-1, 6, C3, [256]],
|
|
22
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
23
|
+
[-1, 9, C3, [512]],
|
|
24
|
+
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32
|
|
25
|
+
[-1, 3, C3, [768]],
|
|
26
|
+
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
|
|
27
|
+
[-1, 3, C3, [1024]],
|
|
28
|
+
[-1, 1, SPPF, [1024, 5]], # 11
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
# YOLOv5 v6.0 head
|
|
32
|
+
head: [
|
|
33
|
+
[-1, 1, Conv, [768, 1, 1]],
|
|
34
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
35
|
+
[[-1, 8], 1, Concat, [1]], # cat backbone P5
|
|
36
|
+
[-1, 3, C3, [768, False]], # 15
|
|
37
|
+
|
|
38
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
39
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
40
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
41
|
+
[-1, 3, C3, [512, False]], # 19
|
|
42
|
+
|
|
43
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
44
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
45
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
46
|
+
[-1, 3, C3, [256, False]], # 23 (P3/8-small)
|
|
47
|
+
|
|
48
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
49
|
+
[[-1, 20], 1, Concat, [1]], # cat head P4
|
|
50
|
+
[-1, 3, C3, [512, False]], # 26 (P4/16-medium)
|
|
51
|
+
|
|
52
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
53
|
+
[[-1, 16], 1, Concat, [1]], # cat head P5
|
|
54
|
+
[-1, 3, C3, [768, False]], # 29 (P5/32-large)
|
|
55
|
+
|
|
56
|
+
[-1, 1, Conv, [768, 3, 2]],
|
|
57
|
+
[[-1, 12], 1, Concat, [1]], # cat head P6
|
|
58
|
+
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
|
|
59
|
+
|
|
60
|
+
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
|
61
|
+
]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 0.33 # model depth multiple
|
|
6
|
+
width_multiple: 0.25 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [19, 27, 44, 40, 38, 94] # P3/8
|
|
9
|
+
- [96, 68, 86, 152, 180, 137] # P4/16
|
|
10
|
+
- [140, 301, 303, 264, 238, 542] # P5/32
|
|
11
|
+
- [436, 615, 739, 380, 925, 792] # P6/64
|
|
12
|
+
|
|
13
|
+
# YOLOv5 v6.0 backbone
|
|
14
|
+
backbone:
|
|
15
|
+
# [from, number, module, args]
|
|
16
|
+
[
|
|
17
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
18
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
19
|
+
[-1, 3, C3, [128]],
|
|
20
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
21
|
+
[-1, 6, C3, [256]],
|
|
22
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
23
|
+
[-1, 9, C3, [512]],
|
|
24
|
+
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32
|
|
25
|
+
[-1, 3, C3, [768]],
|
|
26
|
+
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
|
|
27
|
+
[-1, 3, C3, [1024]],
|
|
28
|
+
[-1, 1, SPPF, [1024, 5]], # 11
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
# YOLOv5 v6.0 head
|
|
32
|
+
head: [
|
|
33
|
+
[-1, 1, Conv, [768, 1, 1]],
|
|
34
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
35
|
+
[[-1, 8], 1, Concat, [1]], # cat backbone P5
|
|
36
|
+
[-1, 3, C3, [768, False]], # 15
|
|
37
|
+
|
|
38
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
39
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
40
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
41
|
+
[-1, 3, C3, [512, False]], # 19
|
|
42
|
+
|
|
43
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
44
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
45
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
46
|
+
[-1, 3, C3, [256, False]], # 23 (P3/8-small)
|
|
47
|
+
|
|
48
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
49
|
+
[[-1, 20], 1, Concat, [1]], # cat head P4
|
|
50
|
+
[-1, 3, C3, [512, False]], # 26 (P4/16-medium)
|
|
51
|
+
|
|
52
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
53
|
+
[[-1, 16], 1, Concat, [1]], # cat head P5
|
|
54
|
+
[-1, 3, C3, [768, False]], # 29 (P5/32-large)
|
|
55
|
+
|
|
56
|
+
[-1, 1, Conv, [768, 3, 2]],
|
|
57
|
+
[[-1, 12], 1, Concat, [1]], # cat head P6
|
|
58
|
+
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
|
|
59
|
+
|
|
60
|
+
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
|
61
|
+
]
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
activation: nn.LeakyReLU(0.1) # <----- Conv() activation used throughout entire YOLOv5 model
|
|
6
|
+
depth_multiple: 0.33 # model depth multiple
|
|
7
|
+
width_multiple: 0.50 # layer channel multiple
|
|
8
|
+
anchors:
|
|
9
|
+
- [10, 13, 16, 30, 33, 23] # P3/8
|
|
10
|
+
- [30, 61, 62, 45, 59, 119] # P4/16
|
|
11
|
+
- [116, 90, 156, 198, 373, 326] # P5/32
|
|
12
|
+
|
|
13
|
+
# YOLOv5 v6.0 backbone
|
|
14
|
+
backbone:
|
|
15
|
+
# [from, number, module, args]
|
|
16
|
+
[
|
|
17
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
18
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
19
|
+
[-1, 3, C3, [128]],
|
|
20
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
21
|
+
[-1, 6, C3, [256]],
|
|
22
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
23
|
+
[-1, 9, C3, [512]],
|
|
24
|
+
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
|
|
25
|
+
[-1, 3, C3, [1024]],
|
|
26
|
+
[-1, 1, SPPF, [1024, 5]], # 9
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
# YOLOv5 v6.0 head
|
|
30
|
+
head: [
|
|
31
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
32
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
33
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
34
|
+
[-1, 3, C3, [512, False]], # 13
|
|
35
|
+
|
|
36
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
37
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
38
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
39
|
+
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
|
|
40
|
+
|
|
41
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
42
|
+
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
43
|
+
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
|
|
44
|
+
|
|
45
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
46
|
+
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
47
|
+
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
|
|
48
|
+
|
|
49
|
+
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
|
|
50
|
+
]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 0.33 # model depth multiple
|
|
6
|
+
width_multiple: 0.50 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [10, 13, 16, 30, 33, 23] # P3/8
|
|
9
|
+
- [30, 61, 62, 45, 59, 119] # P4/16
|
|
10
|
+
- [116, 90, 156, 198, 373, 326] # P5/32
|
|
11
|
+
|
|
12
|
+
# YOLOv5 v6.0 backbone
|
|
13
|
+
backbone:
|
|
14
|
+
# [from, number, module, args]
|
|
15
|
+
[
|
|
16
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
17
|
+
[-1, 1, GhostConv, [128, 3, 2]], # 1-P2/4
|
|
18
|
+
[-1, 3, C3Ghost, [128]],
|
|
19
|
+
[-1, 1, GhostConv, [256, 3, 2]], # 3-P3/8
|
|
20
|
+
[-1, 6, C3Ghost, [256]],
|
|
21
|
+
[-1, 1, GhostConv, [512, 3, 2]], # 5-P4/16
|
|
22
|
+
[-1, 9, C3Ghost, [512]],
|
|
23
|
+
[-1, 1, GhostConv, [1024, 3, 2]], # 7-P5/32
|
|
24
|
+
[-1, 3, C3Ghost, [1024]],
|
|
25
|
+
[-1, 1, SPPF, [1024, 5]], # 9
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# YOLOv5 v6.0 head
|
|
29
|
+
head: [
|
|
30
|
+
[-1, 1, GhostConv, [512, 1, 1]],
|
|
31
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
32
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
33
|
+
[-1, 3, C3Ghost, [512, False]], # 13
|
|
34
|
+
|
|
35
|
+
[-1, 1, GhostConv, [256, 1, 1]],
|
|
36
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
37
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
38
|
+
[-1, 3, C3Ghost, [256, False]], # 17 (P3/8-small)
|
|
39
|
+
|
|
40
|
+
[-1, 1, GhostConv, [256, 3, 2]],
|
|
41
|
+
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
42
|
+
[-1, 3, C3Ghost, [512, False]], # 20 (P4/16-medium)
|
|
43
|
+
|
|
44
|
+
[-1, 1, GhostConv, [512, 3, 2]],
|
|
45
|
+
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
46
|
+
[-1, 3, C3Ghost, [1024, False]], # 23 (P5/32-large)
|
|
47
|
+
|
|
48
|
+
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
|
|
49
|
+
]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 0.33 # model depth multiple
|
|
6
|
+
width_multiple: 0.50 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [10, 13, 16, 30, 33, 23] # P3/8
|
|
9
|
+
- [30, 61, 62, 45, 59, 119] # P4/16
|
|
10
|
+
- [116, 90, 156, 198, 373, 326] # P5/32
|
|
11
|
+
|
|
12
|
+
# YOLOv5 v6.0 backbone
|
|
13
|
+
backbone:
|
|
14
|
+
# [from, number, module, args]
|
|
15
|
+
[
|
|
16
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
17
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
18
|
+
[-1, 3, C3, [128]],
|
|
19
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
20
|
+
[-1, 6, C3, [256]],
|
|
21
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
22
|
+
[-1, 9, C3, [512]],
|
|
23
|
+
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
|
|
24
|
+
[-1, 3, C3TR, [1024]], # 9 <--- C3TR() Transformer module
|
|
25
|
+
[-1, 1, SPPF, [1024, 5]], # 9
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# YOLOv5 v6.0 head
|
|
29
|
+
head: [
|
|
30
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
31
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
32
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
33
|
+
[-1, 3, C3, [512, False]], # 13
|
|
34
|
+
|
|
35
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
36
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
37
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
38
|
+
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
|
|
39
|
+
|
|
40
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
41
|
+
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
42
|
+
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
|
|
43
|
+
|
|
44
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
45
|
+
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
46
|
+
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
|
|
47
|
+
|
|
48
|
+
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
|
|
49
|
+
]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 0.33 # model depth multiple
|
|
6
|
+
width_multiple: 0.50 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [19, 27, 44, 40, 38, 94] # P3/8
|
|
9
|
+
- [96, 68, 86, 152, 180, 137] # P4/16
|
|
10
|
+
- [140, 301, 303, 264, 238, 542] # P5/32
|
|
11
|
+
- [436, 615, 739, 380, 925, 792] # P6/64
|
|
12
|
+
|
|
13
|
+
# YOLOv5 v6.0 backbone
|
|
14
|
+
backbone:
|
|
15
|
+
# [from, number, module, args]
|
|
16
|
+
[
|
|
17
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
18
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
19
|
+
[-1, 3, C3, [128]],
|
|
20
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
21
|
+
[-1, 6, C3, [256]],
|
|
22
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
23
|
+
[-1, 9, C3, [512]],
|
|
24
|
+
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32
|
|
25
|
+
[-1, 3, C3, [768]],
|
|
26
|
+
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
|
|
27
|
+
[-1, 3, C3, [1024]],
|
|
28
|
+
[-1, 1, SPPF, [1024, 5]], # 11
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
# YOLOv5 v6.0 head
|
|
32
|
+
head: [
|
|
33
|
+
[-1, 1, Conv, [768, 1, 1]],
|
|
34
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
35
|
+
[[-1, 8], 1, Concat, [1]], # cat backbone P5
|
|
36
|
+
[-1, 3, C3, [768, False]], # 15
|
|
37
|
+
|
|
38
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
39
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
40
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
41
|
+
[-1, 3, C3, [512, False]], # 19
|
|
42
|
+
|
|
43
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
44
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
45
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
46
|
+
[-1, 3, C3, [256, False]], # 23 (P3/8-small)
|
|
47
|
+
|
|
48
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
49
|
+
[[-1, 20], 1, Concat, [1]], # cat head P4
|
|
50
|
+
[-1, 3, C3, [512, False]], # 26 (P4/16-medium)
|
|
51
|
+
|
|
52
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
53
|
+
[[-1, 16], 1, Concat, [1]], # cat head P5
|
|
54
|
+
[-1, 3, C3, [768, False]], # 29 (P5/32-large)
|
|
55
|
+
|
|
56
|
+
[-1, 1, Conv, [768, 3, 2]],
|
|
57
|
+
[[-1, 12], 1, Concat, [1]], # cat head P6
|
|
58
|
+
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
|
|
59
|
+
|
|
60
|
+
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
|
61
|
+
]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 1.33 # model depth multiple
|
|
6
|
+
width_multiple: 1.25 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [19, 27, 44, 40, 38, 94] # P3/8
|
|
9
|
+
- [96, 68, 86, 152, 180, 137] # P4/16
|
|
10
|
+
- [140, 301, 303, 264, 238, 542] # P5/32
|
|
11
|
+
- [436, 615, 739, 380, 925, 792] # P6/64
|
|
12
|
+
|
|
13
|
+
# YOLOv5 v6.0 backbone
|
|
14
|
+
backbone:
|
|
15
|
+
# [from, number, module, args]
|
|
16
|
+
[
|
|
17
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
18
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
19
|
+
[-1, 3, C3, [128]],
|
|
20
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
21
|
+
[-1, 6, C3, [256]],
|
|
22
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
23
|
+
[-1, 9, C3, [512]],
|
|
24
|
+
[-1, 1, Conv, [768, 3, 2]], # 7-P5/32
|
|
25
|
+
[-1, 3, C3, [768]],
|
|
26
|
+
[-1, 1, Conv, [1024, 3, 2]], # 9-P6/64
|
|
27
|
+
[-1, 3, C3, [1024]],
|
|
28
|
+
[-1, 1, SPPF, [1024, 5]], # 11
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
# YOLOv5 v6.0 head
|
|
32
|
+
head: [
|
|
33
|
+
[-1, 1, Conv, [768, 1, 1]],
|
|
34
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
35
|
+
[[-1, 8], 1, Concat, [1]], # cat backbone P5
|
|
36
|
+
[-1, 3, C3, [768, False]], # 15
|
|
37
|
+
|
|
38
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
39
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
40
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
41
|
+
[-1, 3, C3, [512, False]], # 19
|
|
42
|
+
|
|
43
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
44
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
45
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
46
|
+
[-1, 3, C3, [256, False]], # 23 (P3/8-small)
|
|
47
|
+
|
|
48
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
49
|
+
[[-1, 20], 1, Concat, [1]], # cat head P4
|
|
50
|
+
[-1, 3, C3, [512, False]], # 26 (P4/16-medium)
|
|
51
|
+
|
|
52
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
53
|
+
[[-1, 16], 1, Concat, [1]], # cat head P5
|
|
54
|
+
[-1, 3, C3, [768, False]], # 29 (P5/32-large)
|
|
55
|
+
|
|
56
|
+
[-1, 1, Conv, [768, 3, 2]],
|
|
57
|
+
[[-1, 12], 1, Concat, [1]], # cat head P6
|
|
58
|
+
[-1, 3, C3, [1024, False]], # 32 (P6/64-xlarge)
|
|
59
|
+
|
|
60
|
+
[[23, 26, 29, 32], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
|
61
|
+
]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 1.0 # model depth multiple
|
|
6
|
+
width_multiple: 1.0 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [10, 13, 16, 30, 33, 23] # P3/8
|
|
9
|
+
- [30, 61, 62, 45, 59, 119] # P4/16
|
|
10
|
+
- [116, 90, 156, 198, 373, 326] # P5/32
|
|
11
|
+
|
|
12
|
+
# YOLOv5 v6.0 backbone
|
|
13
|
+
backbone:
|
|
14
|
+
# [from, number, module, args]
|
|
15
|
+
[
|
|
16
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
17
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
18
|
+
[-1, 3, C3, [128]],
|
|
19
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
20
|
+
[-1, 6, C3, [256]],
|
|
21
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
22
|
+
[-1, 9, C3, [512]],
|
|
23
|
+
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
|
|
24
|
+
[-1, 3, C3, [1024]],
|
|
25
|
+
[-1, 1, SPPF, [1024, 5]], # 9
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# YOLOv5 v6.0 head
|
|
29
|
+
head: [
|
|
30
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
31
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
32
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
33
|
+
[-1, 3, C3, [512, False]], # 13
|
|
34
|
+
|
|
35
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
36
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
37
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
38
|
+
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
|
|
39
|
+
|
|
40
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
41
|
+
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
42
|
+
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
|
|
43
|
+
|
|
44
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
45
|
+
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
46
|
+
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
|
|
47
|
+
|
|
48
|
+
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
|
|
49
|
+
]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 0.67 # model depth multiple
|
|
6
|
+
width_multiple: 0.75 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [10, 13, 16, 30, 33, 23] # P3/8
|
|
9
|
+
- [30, 61, 62, 45, 59, 119] # P4/16
|
|
10
|
+
- [116, 90, 156, 198, 373, 326] # P5/32
|
|
11
|
+
|
|
12
|
+
# YOLOv5 v6.0 backbone
|
|
13
|
+
backbone:
|
|
14
|
+
# [from, number, module, args]
|
|
15
|
+
[
|
|
16
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
17
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
18
|
+
[-1, 3, C3, [128]],
|
|
19
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
20
|
+
[-1, 6, C3, [256]],
|
|
21
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
22
|
+
[-1, 9, C3, [512]],
|
|
23
|
+
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
|
|
24
|
+
[-1, 3, C3, [1024]],
|
|
25
|
+
[-1, 1, SPPF, [1024, 5]], # 9
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# YOLOv5 v6.0 head
|
|
29
|
+
head: [
|
|
30
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
31
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
32
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
33
|
+
[-1, 3, C3, [512, False]], # 13
|
|
34
|
+
|
|
35
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
36
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
37
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
38
|
+
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
|
|
39
|
+
|
|
40
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
41
|
+
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
42
|
+
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
|
|
43
|
+
|
|
44
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
45
|
+
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
46
|
+
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
|
|
47
|
+
|
|
48
|
+
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
|
|
49
|
+
]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
|
|
2
|
+
|
|
3
|
+
# Parameters
|
|
4
|
+
nc: 80 # number of classes
|
|
5
|
+
depth_multiple: 0.33 # model depth multiple
|
|
6
|
+
width_multiple: 0.25 # layer channel multiple
|
|
7
|
+
anchors:
|
|
8
|
+
- [10, 13, 16, 30, 33, 23] # P3/8
|
|
9
|
+
- [30, 61, 62, 45, 59, 119] # P4/16
|
|
10
|
+
- [116, 90, 156, 198, 373, 326] # P5/32
|
|
11
|
+
|
|
12
|
+
# YOLOv5 v6.0 backbone
|
|
13
|
+
backbone:
|
|
14
|
+
# [from, number, module, args]
|
|
15
|
+
[
|
|
16
|
+
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
|
|
17
|
+
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
|
|
18
|
+
[-1, 3, C3, [128]],
|
|
19
|
+
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
|
|
20
|
+
[-1, 6, C3, [256]],
|
|
21
|
+
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
|
|
22
|
+
[-1, 9, C3, [512]],
|
|
23
|
+
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
|
|
24
|
+
[-1, 3, C3, [1024]],
|
|
25
|
+
[-1, 1, SPPF, [1024, 5]], # 9
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# YOLOv5 v6.0 head
|
|
29
|
+
head: [
|
|
30
|
+
[-1, 1, Conv, [512, 1, 1]],
|
|
31
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
32
|
+
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
33
|
+
[-1, 3, C3, [512, False]], # 13
|
|
34
|
+
|
|
35
|
+
[-1, 1, Conv, [256, 1, 1]],
|
|
36
|
+
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
|
|
37
|
+
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
38
|
+
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
|
|
39
|
+
|
|
40
|
+
[-1, 1, Conv, [256, 3, 2]],
|
|
41
|
+
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
42
|
+
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
|
|
43
|
+
|
|
44
|
+
[-1, 1, Conv, [512, 3, 2]],
|
|
45
|
+
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
46
|
+
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
|
|
47
|
+
|
|
48
|
+
[[17, 20, 23], 1, Segment, [nc, anchors, 32, 256]], # Detect(P3, P4, P5)
|
|
49
|
+
]
|