ultralytics 8.1.2__py3-none-any.whl → 8.1.3__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 ultralytics might be problematic. Click here for more details.

Files changed (61) hide show
  1. ultralytics/__init__.py +1 -1
  2. ultralytics/cfg/datasets/Argoverse.yaml +4 -6
  3. ultralytics/cfg/datasets/DOTAv1.5.yaml +4 -4
  4. ultralytics/cfg/datasets/DOTAv1.yaml +4 -4
  5. ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -3
  6. ultralytics/cfg/datasets/ImageNet.yaml +4 -6
  7. ultralytics/cfg/datasets/Objects365.yaml +3 -5
  8. ultralytics/cfg/datasets/SKU-110K.yaml +4 -6
  9. ultralytics/cfg/datasets/VOC.yaml +0 -2
  10. ultralytics/cfg/datasets/VisDrone.yaml +4 -6
  11. ultralytics/cfg/datasets/coco-pose.yaml +5 -6
  12. ultralytics/cfg/datasets/coco.yaml +4 -6
  13. ultralytics/cfg/datasets/coco128-seg.yaml +4 -6
  14. ultralytics/cfg/datasets/coco128.yaml +4 -6
  15. ultralytics/cfg/datasets/coco8-pose.yaml +5 -6
  16. ultralytics/cfg/datasets/coco8-seg.yaml +4 -6
  17. ultralytics/cfg/datasets/coco8.yaml +4 -6
  18. ultralytics/cfg/datasets/dota8.yaml +3 -3
  19. ultralytics/cfg/datasets/open-images-v7.yaml +4 -6
  20. ultralytics/cfg/datasets/tiger-pose.yaml +4 -5
  21. ultralytics/cfg/datasets/xView.yaml +3 -5
  22. ultralytics/cfg/default.yaml +103 -103
  23. ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +27 -27
  24. ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +23 -23
  25. ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +23 -23
  26. ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +27 -27
  27. ultralytics/cfg/models/v3/yolov3-spp.yaml +18 -18
  28. ultralytics/cfg/models/v3/yolov3-tiny.yaml +16 -16
  29. ultralytics/cfg/models/v3/yolov3.yaml +18 -18
  30. ultralytics/cfg/models/v5/yolov5-p6.yaml +24 -24
  31. ultralytics/cfg/models/v5/yolov5.yaml +18 -19
  32. ultralytics/cfg/models/v6/yolov6.yaml +17 -17
  33. ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +25 -0
  34. ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +25 -0
  35. ultralytics/cfg/models/v8/yolov8-cls.yaml +7 -7
  36. ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +26 -26
  37. ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +27 -27
  38. ultralytics/cfg/models/v8/yolov8-ghost.yaml +23 -23
  39. ultralytics/cfg/models/v8/yolov8-obb.yaml +23 -23
  40. ultralytics/cfg/models/v8/yolov8-p2.yaml +23 -23
  41. ultralytics/cfg/models/v8/yolov8-p6.yaml +24 -24
  42. ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +25 -25
  43. ultralytics/cfg/models/v8/yolov8-pose.yaml +19 -19
  44. ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +23 -23
  45. ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +24 -24
  46. ultralytics/cfg/models/v8/yolov8-seg.yaml +18 -18
  47. ultralytics/cfg/models/v8/yolov8.yaml +23 -23
  48. ultralytics/cfg/trackers/botsort.yaml +7 -7
  49. ultralytics/cfg/trackers/bytetrack.yaml +6 -6
  50. ultralytics/data/build.py +1 -1
  51. ultralytics/engine/model.py +8 -6
  52. ultralytics/engine/trainer.py +1 -4
  53. ultralytics/hub/session.py +1 -1
  54. ultralytics/utils/ops.py +1 -1
  55. ultralytics/utils/plotting.py +1 -1
  56. {ultralytics-8.1.2.dist-info → ultralytics-8.1.3.dist-info}/METADATA +1 -1
  57. {ultralytics-8.1.2.dist-info → ultralytics-8.1.3.dist-info}/RECORD +61 -59
  58. {ultralytics-8.1.2.dist-info → ultralytics-8.1.3.dist-info}/LICENSE +0 -0
  59. {ultralytics-8.1.2.dist-info → ultralytics-8.1.3.dist-info}/WHEEL +0 -0
  60. {ultralytics-8.1.2.dist-info → ultralytics-8.1.3.dist-info}/entry_points.txt +0 -0
  61. {ultralytics-8.1.2.dist-info → ultralytics-8.1.3.dist-info}/top_level.txt +0 -0
@@ -2,36 +2,36 @@
2
2
  # YOLOv3-tiny object detection model with P4-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
3
3
 
4
4
  # Parameters
5
- nc: 80 # number of classes
6
- depth_multiple: 1.0 # model depth multiple
7
- width_multiple: 1.0 # layer channel multiple
5
+ nc: 80 # number of classes
6
+ depth_multiple: 1.0 # model depth multiple
7
+ width_multiple: 1.0 # layer channel multiple
8
8
 
9
9
  # YOLOv3-tiny backbone
10
10
  backbone:
11
11
  # [from, number, module, args]
12
- - [-1, 1, Conv, [16, 3, 1]] # 0
13
- - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 1-P1/2
12
+ - [-1, 1, Conv, [16, 3, 1]] # 0
13
+ - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 1-P1/2
14
14
  - [-1, 1, Conv, [32, 3, 1]]
15
- - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 3-P2/4
15
+ - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 3-P2/4
16
16
  - [-1, 1, Conv, [64, 3, 1]]
17
- - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 5-P3/8
17
+ - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 5-P3/8
18
18
  - [-1, 1, Conv, [128, 3, 1]]
19
- - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 7-P4/16
19
+ - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 7-P4/16
20
20
  - [-1, 1, Conv, [256, 3, 1]]
21
- - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 9-P5/32
21
+ - [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 9-P5/32
22
22
  - [-1, 1, Conv, [512, 3, 1]]
23
- - [-1, 1, nn.ZeroPad2d, [[0, 1, 0, 1]]] # 11
24
- - [-1, 1, nn.MaxPool2d, [2, 1, 0]] # 12
23
+ - [-1, 1, nn.ZeroPad2d, [[0, 1, 0, 1]]] # 11
24
+ - [-1, 1, nn.MaxPool2d, [2, 1, 0]] # 12
25
25
 
26
26
  # YOLOv3-tiny head
27
27
  head:
28
28
  - [-1, 1, Conv, [1024, 3, 1]]
29
29
  - [-1, 1, Conv, [256, 1, 1]]
30
- - [-1, 1, Conv, [512, 3, 1]] # 15 (P5/32-large)
30
+ - [-1, 1, Conv, [512, 3, 1]] # 15 (P5/32-large)
31
31
 
32
32
  - [-2, 1, Conv, [128, 1, 1]]
33
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
34
- - [[-1, 8], 1, Concat, [1]] # cat backbone P4
35
- - [-1, 1, Conv, [256, 3, 1]] # 19 (P4/16-medium)
33
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
34
+ - [[-1, 8], 1, Concat, [1]] # cat backbone P4
35
+ - [-1, 1, Conv, [256, 3, 1]] # 19 (P4/16-medium)
36
36
 
37
- - [[19, 15], 1, Detect, [nc]] # Detect(P4, P5)
37
+ - [[19, 15], 1, Detect, [nc]] # Detect(P4, P5)
@@ -2,24 +2,24 @@
2
2
  # YOLOv3 object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
3
3
 
4
4
  # Parameters
5
- nc: 80 # number of classes
6
- depth_multiple: 1.0 # model depth multiple
7
- width_multiple: 1.0 # layer channel multiple
5
+ nc: 80 # number of classes
6
+ depth_multiple: 1.0 # model depth multiple
7
+ width_multiple: 1.0 # layer channel multiple
8
8
 
9
9
  # darknet53 backbone
10
10
  backbone:
11
11
  # [from, number, module, args]
12
- - [-1, 1, Conv, [32, 3, 1]] # 0
13
- - [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
12
+ - [-1, 1, Conv, [32, 3, 1]] # 0
13
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
14
14
  - [-1, 1, Bottleneck, [64]]
15
- - [-1, 1, Conv, [128, 3, 2]] # 3-P2/4
15
+ - [-1, 1, Conv, [128, 3, 2]] # 3-P2/4
16
16
  - [-1, 2, Bottleneck, [128]]
17
- - [-1, 1, Conv, [256, 3, 2]] # 5-P3/8
17
+ - [-1, 1, Conv, [256, 3, 2]] # 5-P3/8
18
18
  - [-1, 8, Bottleneck, [256]]
19
- - [-1, 1, Conv, [512, 3, 2]] # 7-P4/16
19
+ - [-1, 1, Conv, [512, 3, 2]] # 7-P4/16
20
20
  - [-1, 8, Bottleneck, [512]]
21
- - [-1, 1, Conv, [1024, 3, 2]] # 9-P5/32
22
- - [-1, 4, Bottleneck, [1024]] # 10
21
+ - [-1, 1, Conv, [1024, 3, 2]] # 9-P5/32
22
+ - [-1, 4, Bottleneck, [1024]] # 10
23
23
 
24
24
  # YOLOv3 head
25
25
  head:
@@ -27,20 +27,20 @@ head:
27
27
  - [-1, 1, Conv, [512, 1, 1]]
28
28
  - [-1, 1, Conv, [1024, 3, 1]]
29
29
  - [-1, 1, Conv, [512, 1, 1]]
30
- - [-1, 1, Conv, [1024, 3, 1]] # 15 (P5/32-large)
30
+ - [-1, 1, Conv, [1024, 3, 1]] # 15 (P5/32-large)
31
31
 
32
32
  - [-2, 1, Conv, [256, 1, 1]]
33
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
34
- - [[-1, 8], 1, Concat, [1]] # cat backbone P4
33
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
34
+ - [[-1, 8], 1, Concat, [1]] # cat backbone P4
35
35
  - [-1, 1, Bottleneck, [512, False]]
36
36
  - [-1, 1, Bottleneck, [512, False]]
37
37
  - [-1, 1, Conv, [256, 1, 1]]
38
- - [-1, 1, Conv, [512, 3, 1]] # 22 (P4/16-medium)
38
+ - [-1, 1, Conv, [512, 3, 1]] # 22 (P4/16-medium)
39
39
 
40
40
  - [-2, 1, Conv, [128, 1, 1]]
41
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
42
- - [[-1, 6], 1, Concat, [1]] # cat backbone P3
41
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
42
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P3
43
43
  - [-1, 1, Bottleneck, [256, False]]
44
- - [-1, 2, Bottleneck, [256, False]] # 27 (P3/8-small)
44
+ - [-1, 2, Bottleneck, [256, False]] # 27 (P3/8-small)
45
45
 
46
- - [[27, 22, 15], 1, Detect, [nc]] # Detect(P3, P4, P5)
46
+ - [[27, 22, 15], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -2,7 +2,7 @@
2
2
  # YOLOv5 object detection model with P3-P6 outputs. For details see https://docs.ultralytics.com/models/yolov5
3
3
 
4
4
  # Parameters
5
- nc: 80 # number of classes
5
+ nc: 80 # number of classes
6
6
  scales: # model compound scaling constants, i.e. 'model=yolov5n-p6.yaml' will call yolov5-p6.yaml with scale 'n'
7
7
  # [depth, width, max_channels]
8
8
  n: [0.33, 0.25, 1024]
@@ -14,46 +14,46 @@ scales: # model compound scaling constants, i.e. 'model=yolov5n-p6.yaml' will ca
14
14
  # YOLOv5 v6.0 backbone
15
15
  backbone:
16
16
  # [from, number, module, args]
17
- - [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
18
- - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
17
+ - [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
18
+ - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
19
19
  - [-1, 3, C3, [128]]
20
- - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
20
+ - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
21
21
  - [-1, 6, C3, [256]]
22
- - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
22
+ - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
23
23
  - [-1, 9, C3, [512]]
24
- - [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
24
+ - [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
25
25
  - [-1, 3, C3, [768]]
26
- - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
26
+ - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
27
27
  - [-1, 3, C3, [1024]]
28
- - [-1, 1, SPPF, [1024, 5]] # 11
28
+ - [-1, 1, SPPF, [1024, 5]] # 11
29
29
 
30
30
  # YOLOv5 v6.0 head
31
31
  head:
32
32
  - [-1, 1, Conv, [768, 1, 1]]
33
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
34
- - [[-1, 8], 1, Concat, [1]] # cat backbone P5
35
- - [-1, 3, C3, [768, False]] # 15
33
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
34
+ - [[-1, 8], 1, Concat, [1]] # cat backbone P5
35
+ - [-1, 3, C3, [768, False]] # 15
36
36
 
37
37
  - [-1, 1, Conv, [512, 1, 1]]
38
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
39
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
40
- - [-1, 3, C3, [512, False]] # 19
38
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
39
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
40
+ - [-1, 3, C3, [512, False]] # 19
41
41
 
42
42
  - [-1, 1, Conv, [256, 1, 1]]
43
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
44
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
45
- - [-1, 3, C3, [256, False]] # 23 (P3/8-small)
43
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
44
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
45
+ - [-1, 3, C3, [256, False]] # 23 (P3/8-small)
46
46
 
47
47
  - [-1, 1, Conv, [256, 3, 2]]
48
- - [[-1, 20], 1, Concat, [1]] # cat head P4
49
- - [-1, 3, C3, [512, False]] # 26 (P4/16-medium)
48
+ - [[-1, 20], 1, Concat, [1]] # cat head P4
49
+ - [-1, 3, C3, [512, False]] # 26 (P4/16-medium)
50
50
 
51
51
  - [-1, 1, Conv, [512, 3, 2]]
52
- - [[-1, 16], 1, Concat, [1]] # cat head P5
53
- - [-1, 3, C3, [768, False]] # 29 (P5/32-large)
52
+ - [[-1, 16], 1, Concat, [1]] # cat head P5
53
+ - [-1, 3, C3, [768, False]] # 29 (P5/32-large)
54
54
 
55
55
  - [-1, 1, Conv, [768, 3, 2]]
56
- - [[-1, 12], 1, Concat, [1]] # cat head P6
57
- - [-1, 3, C3, [1024, False]] # 32 (P6/64-xlarge)
56
+ - [[-1, 12], 1, Concat, [1]] # cat head P6
57
+ - [-1, 3, C3, [1024, False]] # 32 (P6/64-xlarge)
58
58
 
59
- - [[23, 26, 29, 32], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
59
+ - [[23, 26, 29, 32], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
@@ -2,7 +2,7 @@
2
2
  # YOLOv5 object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov5
3
3
 
4
4
  # Parameters
5
- nc: 80 # number of classes
5
+ nc: 80 # number of classes
6
6
  scales: # model compound scaling constants, i.e. 'model=yolov5n.yaml' will call yolov5.yaml with scale 'n'
7
7
  # [depth, width, max_channels]
8
8
  n: [0.33, 0.25, 1024]
@@ -14,36 +14,35 @@ scales: # model compound scaling constants, i.e. 'model=yolov5n.yaml' will call
14
14
  # YOLOv5 v6.0 backbone
15
15
  backbone:
16
16
  # [from, number, module, args]
17
- - [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
18
- - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
17
+ - [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
18
+ - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
19
19
  - [-1, 3, C3, [128]]
20
- - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
20
+ - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
21
21
  - [-1, 6, C3, [256]]
22
- - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
22
+ - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
23
23
  - [-1, 9, C3, [512]]
24
- - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
24
+ - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
25
25
  - [-1, 3, C3, [1024]]
26
- - [-1, 1, SPPF, [1024, 5]] # 9
27
-
26
+ - [-1, 1, SPPF, [1024, 5]] # 9
28
27
 
29
28
  # YOLOv5 v6.0 head
30
29
  head:
31
30
  - [-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
31
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
32
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
33
+ - [-1, 3, C3, [512, False]] # 13
35
34
 
36
35
  - [-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)
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)
40
39
 
41
40
  - [-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)
41
+ - [[-1, 14], 1, Concat, [1]] # cat head P4
42
+ - [-1, 3, C3, [512, False]] # 20 (P4/16-medium)
44
43
 
45
44
  - [-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)
45
+ - [[-1, 10], 1, Concat, [1]] # cat head P5
46
+ - [-1, 3, C3, [1024, False]] # 23 (P5/32-large)
48
47
 
49
- - [[17, 20, 23], 1, Detect, [nc]] # Detect(P3, P4, P5)
48
+ - [[17, 20, 23], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -2,8 +2,8 @@
2
2
  # YOLOv6 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/models/yolov6
3
3
 
4
4
  # Parameters
5
- nc: 80 # number of classes
6
- activation: nn.ReLU() # (optional) model default activation function
5
+ nc: 80 # number of classes
6
+ activation: nn.ReLU() # (optional) model default activation function
7
7
  scales: # model compound scaling constants, i.e. 'model=yolov6n.yaml' will call yolov8.yaml with scale 'n'
8
8
  # [depth, width, max_channels]
9
9
  n: [0.33, 0.25, 1024]
@@ -15,39 +15,39 @@ scales: # model compound scaling constants, i.e. 'model=yolov6n.yaml' will call
15
15
  # YOLOv6-3.0s backbone
16
16
  backbone:
17
17
  # [from, repeats, module, args]
18
- - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
19
- - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
18
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
19
+ - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
20
20
  - [-1, 6, Conv, [128, 3, 1]]
21
- - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
21
+ - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
22
22
  - [-1, 12, Conv, [256, 3, 1]]
23
- - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
23
+ - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
24
24
  - [-1, 18, Conv, [512, 3, 1]]
25
- - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
25
+ - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
26
26
  - [-1, 6, Conv, [1024, 3, 1]]
27
- - [-1, 1, SPPF, [1024, 5]] # 9
27
+ - [-1, 1, SPPF, [1024, 5]] # 9
28
28
 
29
29
  # YOLOv6-3.0s head
30
30
  head:
31
31
  - [-1, 1, Conv, [256, 1, 1]]
32
32
  - [-1, 1, nn.ConvTranspose2d, [256, 2, 2, 0]]
33
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
33
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
34
34
  - [-1, 1, Conv, [256, 3, 1]]
35
- - [-1, 9, Conv, [256, 3, 1]] # 14
35
+ - [-1, 9, Conv, [256, 3, 1]] # 14
36
36
 
37
37
  - [-1, 1, Conv, [128, 1, 1]]
38
38
  - [-1, 1, nn.ConvTranspose2d, [128, 2, 2, 0]]
39
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
39
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
40
40
  - [-1, 1, Conv, [128, 3, 1]]
41
- - [-1, 9, Conv, [128, 3, 1]] # 19
41
+ - [-1, 9, Conv, [128, 3, 1]] # 19
42
42
 
43
43
  - [-1, 1, Conv, [128, 3, 2]]
44
- - [[-1, 15], 1, Concat, [1]] # cat head P4
44
+ - [[-1, 15], 1, Concat, [1]] # cat head P4
45
45
  - [-1, 1, Conv, [256, 3, 1]]
46
- - [-1, 9, Conv, [256, 3, 1]] # 23
46
+ - [-1, 9, Conv, [256, 3, 1]] # 23
47
47
 
48
48
  - [-1, 1, Conv, [256, 3, 2]]
49
- - [[-1, 10], 1, Concat, [1]] # cat head P5
49
+ - [[-1, 10], 1, Concat, [1]] # cat head P5
50
50
  - [-1, 1, Conv, [512, 3, 1]]
51
- - [-1, 9, Conv, [512, 3, 1]] # 27
51
+ - [-1, 9, Conv, [512, 3, 1]] # 27
52
52
 
53
- - [[19, 23, 27], 1, Detect, [nc]] # Detect(P3, P4, P5)
53
+ - [[19, 23, 27], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -0,0 +1,25 @@
1
+ # Ultralytics YOLO 🚀, AGPL-3.0 license
2
+ # YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
3
+
4
+ # Parameters
5
+ nc: 1000 # number of classes
6
+ scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
7
+ # [depth, width, max_channels]
8
+ n: [0.33, 0.25, 1024]
9
+ s: [0.33, 0.50, 1024]
10
+ m: [0.67, 0.75, 1024]
11
+ l: [1.00, 1.00, 1024]
12
+ x: [1.00, 1.25, 1024]
13
+
14
+ # YOLOv8.0n backbone
15
+ backbone:
16
+ # [from, repeats, module, args]
17
+ - [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0-P1/2
18
+ - [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1-P2/4
19
+ - [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2-P3/8
20
+ - [-1, 1, ResNetLayer, [512, 256, 2, False, 23]] # 3-P4/16
21
+ - [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4-P5/32
22
+
23
+ # YOLOv8.0n head
24
+ head:
25
+ - [-1, 1, Classify, [nc]] # Classify
@@ -0,0 +1,25 @@
1
+ # Ultralytics YOLO 🚀, AGPL-3.0 license
2
+ # YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
3
+
4
+ # Parameters
5
+ nc: 1000 # number of classes
6
+ scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
7
+ # [depth, width, max_channels]
8
+ n: [0.33, 0.25, 1024]
9
+ s: [0.33, 0.50, 1024]
10
+ m: [0.67, 0.75, 1024]
11
+ l: [1.00, 1.00, 1024]
12
+ x: [1.00, 1.25, 1024]
13
+
14
+ # YOLOv8.0n backbone
15
+ backbone:
16
+ # [from, repeats, module, args]
17
+ - [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0-P1/2
18
+ - [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1-P2/4
19
+ - [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2-P3/8
20
+ - [-1, 1, ResNetLayer, [512, 256, 2, False, 6]] # 3-P4/16
21
+ - [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4-P5/32
22
+
23
+ # YOLOv8.0n head
24
+ head:
25
+ - [-1, 1, Classify, [nc]] # Classify
@@ -2,7 +2,7 @@
2
2
  # YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
3
3
 
4
4
  # Parameters
5
- nc: 1000 # number of classes
5
+ nc: 1000 # number of classes
6
6
  scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
7
7
  # [depth, width, max_channels]
8
8
  n: [0.33, 0.25, 1024]
@@ -14,16 +14,16 @@ scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will c
14
14
  # YOLOv8.0n backbone
15
15
  backbone:
16
16
  # [from, repeats, module, args]
17
- - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
18
- - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
17
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
18
+ - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
19
19
  - [-1, 3, C2f, [128, True]]
20
- - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
20
+ - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
21
21
  - [-1, 6, C2f, [256, True]]
22
- - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
22
+ - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
23
23
  - [-1, 6, C2f, [512, True]]
24
- - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
24
+ - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
25
25
  - [-1, 3, C2f, [1024, True]]
26
26
 
27
27
  # YOLOv8.0n head
28
28
  head:
29
- - [-1, 1, Classify, [nc]] # Classify
29
+ - [-1, 1, Classify, [nc]] # Classify
@@ -2,53 +2,53 @@
2
2
  # YOLOv8 object detection model with P2-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
3
3
 
4
4
  # Parameters
5
- nc: 80 # number of classes
5
+ nc: 80 # number of classes
6
6
  scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
7
7
  # [depth, width, max_channels]
8
8
  n: [0.33, 0.25, 1024] # YOLOv8n-ghost-p2 summary: 491 layers, 2033944 parameters, 2033928 gradients, 13.8 GFLOPs
9
9
  s: [0.33, 0.50, 1024] # YOLOv8s-ghost-p2 summary: 491 layers, 5562080 parameters, 5562064 gradients, 25.1 GFLOPs
10
- m: [0.67, 0.75, 768] # YOLOv8m-ghost-p2 summary: 731 layers, 9031728 parameters, 9031712 gradients, 42.8 GFLOPs
11
- l: [1.00, 1.00, 512] # YOLOv8l-ghost-p2 summary: 971 layers, 12214448 parameters, 12214432 gradients, 69.1 GFLOPs
12
- x: [1.00, 1.25, 512] # YOLOv8x-ghost-p2 summary: 971 layers, 18664776 parameters, 18664760 gradients, 103.3 GFLOPs
10
+ m: [0.67, 0.75, 768] # YOLOv8m-ghost-p2 summary: 731 layers, 9031728 parameters, 9031712 gradients, 42.8 GFLOPs
11
+ l: [1.00, 1.00, 512] # YOLOv8l-ghost-p2 summary: 971 layers, 12214448 parameters, 12214432 gradients, 69.1 GFLOPs
12
+ x: [1.00, 1.25, 512] # YOLOv8x-ghost-p2 summary: 971 layers, 18664776 parameters, 18664760 gradients, 103.3 GFLOPs
13
13
 
14
14
  # YOLOv8.0-ghost backbone
15
15
  backbone:
16
16
  # [from, repeats, module, args]
17
- - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
18
- - [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
17
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
18
+ - [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
19
19
  - [-1, 3, C3Ghost, [128, True]]
20
- - [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
20
+ - [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
21
21
  - [-1, 6, C3Ghost, [256, True]]
22
- - [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
22
+ - [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
23
23
  - [-1, 6, C3Ghost, [512, True]]
24
- - [-1, 1, GhostConv, [1024, 3, 2]] # 7-P5/32
24
+ - [-1, 1, GhostConv, [1024, 3, 2]] # 7-P5/32
25
25
  - [-1, 3, C3Ghost, [1024, True]]
26
- - [-1, 1, SPPF, [1024, 5]] # 9
26
+ - [-1, 1, SPPF, [1024, 5]] # 9
27
27
 
28
28
  # YOLOv8.0-ghost-p2 head
29
29
  head:
30
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
31
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
- - [-1, 3, C3Ghost, [512]] # 12
30
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
31
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
+ - [-1, 3, C3Ghost, [512]] # 12
33
33
 
34
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
35
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
36
- - [-1, 3, C3Ghost, [256]] # 15 (P3/8-small)
34
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
35
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
36
+ - [-1, 3, C3Ghost, [256]] # 15 (P3/8-small)
37
37
 
38
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
39
- - [[-1, 2], 1, Concat, [1]] # cat backbone P2
40
- - [-1, 3, C3Ghost, [128]] # 18 (P2/4-xsmall)
38
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
39
+ - [[-1, 2], 1, Concat, [1]] # cat backbone P2
40
+ - [-1, 3, C3Ghost, [128]] # 18 (P2/4-xsmall)
41
41
 
42
42
  - [-1, 1, GhostConv, [128, 3, 2]]
43
- - [[-1, 15], 1, Concat, [1]] # cat head P3
44
- - [-1, 3, C3Ghost, [256]] # 21 (P3/8-small)
43
+ - [[-1, 15], 1, Concat, [1]] # cat head P3
44
+ - [-1, 3, C3Ghost, [256]] # 21 (P3/8-small)
45
45
 
46
46
  - [-1, 1, GhostConv, [256, 3, 2]]
47
- - [[-1, 12], 1, Concat, [1]] # cat head P4
48
- - [-1, 3, C3Ghost, [512]] # 24 (P4/16-medium)
47
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
48
+ - [-1, 3, C3Ghost, [512]] # 24 (P4/16-medium)
49
49
 
50
50
  - [-1, 1, GhostConv, [512, 3, 2]]
51
- - [[-1, 9], 1, Concat, [1]] # cat head P5
52
- - [-1, 3, C3Ghost, [1024]] # 27 (P5/32-large)
51
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
52
+ - [-1, 3, C3Ghost, [1024]] # 27 (P5/32-large)
53
53
 
54
- - [[18, 21, 24, 27], 1, Detect, [nc]] # Detect(P2, P3, P4, P5)
54
+ - [[18, 21, 24, 27], 1, Detect, [nc]] # Detect(P2, P3, P4, P5)
@@ -2,55 +2,55 @@
2
2
  # YOLOv8 object detection model with P3-P6 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
3
3
 
4
4
  # Parameters
5
- nc: 80 # number of classes
5
+ nc: 80 # number of classes
6
6
  scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will call yolov8-p6.yaml with scale 'n'
7
7
  # [depth, width, max_channels]
8
8
  n: [0.33, 0.25, 1024] # YOLOv8n-ghost-p6 summary: 529 layers, 2901100 parameters, 2901084 gradients, 5.8 GFLOPs
9
9
  s: [0.33, 0.50, 1024] # YOLOv8s-ghost-p6 summary: 529 layers, 9520008 parameters, 9519992 gradients, 16.4 GFLOPs
10
- m: [0.67, 0.75, 768] # YOLOv8m-ghost-p6 summary: 789 layers, 18002904 parameters, 18002888 gradients, 34.4 GFLOPs
11
- l: [1.00, 1.00, 512] # YOLOv8l-ghost-p6 summary: 1049 layers, 21227584 parameters, 21227568 gradients, 55.3 GFLOPs
12
- x: [1.00, 1.25, 512] # YOLOv8x-ghost-p6 summary: 1049 layers, 33057852 parameters, 33057836 gradients, 85.7 GFLOPs
10
+ m: [0.67, 0.75, 768] # YOLOv8m-ghost-p6 summary: 789 layers, 18002904 parameters, 18002888 gradients, 34.4 GFLOPs
11
+ l: [1.00, 1.00, 512] # YOLOv8l-ghost-p6 summary: 1049 layers, 21227584 parameters, 21227568 gradients, 55.3 GFLOPs
12
+ x: [1.00, 1.25, 512] # YOLOv8x-ghost-p6 summary: 1049 layers, 33057852 parameters, 33057836 gradients, 85.7 GFLOPs
13
13
 
14
14
  # YOLOv8.0-ghost backbone
15
15
  backbone:
16
16
  # [from, repeats, module, args]
17
- - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
18
- - [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
17
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
18
+ - [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
19
19
  - [-1, 3, C3Ghost, [128, True]]
20
- - [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
20
+ - [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
21
21
  - [-1, 6, C3Ghost, [256, True]]
22
- - [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
22
+ - [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
23
23
  - [-1, 6, C3Ghost, [512, True]]
24
- - [-1, 1, GhostConv, [768, 3, 2]] # 7-P5/32
24
+ - [-1, 1, GhostConv, [768, 3, 2]] # 7-P5/32
25
25
  - [-1, 3, C3Ghost, [768, True]]
26
- - [-1, 1, GhostConv, [1024, 3, 2]] # 9-P6/64
26
+ - [-1, 1, GhostConv, [1024, 3, 2]] # 9-P6/64
27
27
  - [-1, 3, C3Ghost, [1024, True]]
28
- - [-1, 1, SPPF, [1024, 5]] # 11
28
+ - [-1, 1, SPPF, [1024, 5]] # 11
29
29
 
30
30
  # YOLOv8.0-ghost-p6 head
31
31
  head:
32
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
33
- - [[-1, 8], 1, Concat, [1]] # cat backbone P5
34
- - [-1, 3, C3Ghost, [768]] # 14
32
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
33
+ - [[-1, 8], 1, Concat, [1]] # cat backbone P5
34
+ - [-1, 3, C3Ghost, [768]] # 14
35
35
 
36
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
37
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
38
- - [-1, 3, C3Ghost, [512]] # 17
36
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
37
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
38
+ - [-1, 3, C3Ghost, [512]] # 17
39
39
 
40
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
41
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
42
- - [-1, 3, C3Ghost, [256]] # 20 (P3/8-small)
40
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
41
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
42
+ - [-1, 3, C3Ghost, [256]] # 20 (P3/8-small)
43
43
 
44
44
  - [-1, 1, GhostConv, [256, 3, 2]]
45
- - [[-1, 17], 1, Concat, [1]] # cat head P4
46
- - [-1, 3, C3Ghost, [512]] # 23 (P4/16-medium)
45
+ - [[-1, 17], 1, Concat, [1]] # cat head P4
46
+ - [-1, 3, C3Ghost, [512]] # 23 (P4/16-medium)
47
47
 
48
48
  - [-1, 1, GhostConv, [512, 3, 2]]
49
- - [[-1, 14], 1, Concat, [1]] # cat head P5
50
- - [-1, 3, C3Ghost, [768]] # 26 (P5/32-large)
49
+ - [[-1, 14], 1, Concat, [1]] # cat head P5
50
+ - [-1, 3, C3Ghost, [768]] # 26 (P5/32-large)
51
51
 
52
52
  - [-1, 1, GhostConv, [768, 3, 2]]
53
- - [[-1, 11], 1, Concat, [1]] # cat head P6
54
- - [-1, 3, C3Ghost, [1024]] # 29 (P6/64-xlarge)
53
+ - [[-1, 11], 1, Concat, [1]] # cat head P6
54
+ - [-1, 3, C3Ghost, [1024]] # 29 (P6/64-xlarge)
55
55
 
56
- - [[20, 23, 26, 29], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
56
+ - [[20, 23, 26, 29], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
@@ -3,45 +3,45 @@
3
3
  # Employs Ghost convolutions and modules proposed in Huawei's GhostNet in https://arxiv.org/abs/1911.11907v2
4
4
 
5
5
  # Parameters
6
- nc: 80 # number of classes
6
+ nc: 80 # number of classes
7
7
  scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
8
8
  # [depth, width, max_channels]
9
- n: [0.33, 0.25, 1024] # YOLOv8n-ghost summary: 403 layers, 1865316 parameters, 1865300 gradients, 5.8 GFLOPs
10
- s: [0.33, 0.50, 1024] # YOLOv8s-ghost summary: 403 layers, 5960072 parameters, 5960056 gradients, 16.4 GFLOPs
11
- m: [0.67, 0.75, 768] # YOLOv8m-ghost summary: 603 layers, 10336312 parameters, 10336296 gradients, 32.7 GFLOPs
12
- l: [1.00, 1.00, 512] # YOLOv8l-ghost summary: 803 layers, 14277872 parameters, 14277856 gradients, 53.7 GFLOPs
13
- x: [1.00, 1.25, 512] # YOLOv8x-ghost summary: 803 layers, 22229308 parameters, 22229292 gradients, 83.3 GFLOPs
9
+ n: [0.33, 0.25, 1024] # YOLOv8n-ghost summary: 403 layers, 1865316 parameters, 1865300 gradients, 5.8 GFLOPs
10
+ s: [0.33, 0.50, 1024] # YOLOv8s-ghost summary: 403 layers, 5960072 parameters, 5960056 gradients, 16.4 GFLOPs
11
+ m: [0.67, 0.75, 768] # YOLOv8m-ghost summary: 603 layers, 10336312 parameters, 10336296 gradients, 32.7 GFLOPs
12
+ l: [1.00, 1.00, 512] # YOLOv8l-ghost summary: 803 layers, 14277872 parameters, 14277856 gradients, 53.7 GFLOPs
13
+ x: [1.00, 1.25, 512] # YOLOv8x-ghost summary: 803 layers, 22229308 parameters, 22229292 gradients, 83.3 GFLOPs
14
14
 
15
15
  # YOLOv8.0n-ghost backbone
16
16
  backbone:
17
17
  # [from, repeats, module, args]
18
- - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
19
- - [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
18
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
19
+ - [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
20
20
  - [-1, 3, C3Ghost, [128, True]]
21
- - [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
21
+ - [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
22
22
  - [-1, 6, C3Ghost, [256, True]]
23
- - [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
23
+ - [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
24
24
  - [-1, 6, C3Ghost, [512, True]]
25
- - [-1, 1, GhostConv, [1024, 3, 2]] # 7-P5/32
25
+ - [-1, 1, GhostConv, [1024, 3, 2]] # 7-P5/32
26
26
  - [-1, 3, C3Ghost, [1024, True]]
27
- - [-1, 1, SPPF, [1024, 5]] # 9
27
+ - [-1, 1, SPPF, [1024, 5]] # 9
28
28
 
29
29
  # YOLOv8.0n head
30
30
  head:
31
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
32
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
33
- - [-1, 3, C3Ghost, [512]] # 12
31
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
32
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
33
+ - [-1, 3, C3Ghost, [512]] # 12
34
34
 
35
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
36
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
37
- - [-1, 3, C3Ghost, [256]] # 15 (P3/8-small)
35
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
36
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
37
+ - [-1, 3, C3Ghost, [256]] # 15 (P3/8-small)
38
38
 
39
39
  - [-1, 1, GhostConv, [256, 3, 2]]
40
- - [[-1, 12], 1, Concat, [1]] # cat head P4
41
- - [-1, 3, C3Ghost, [512]] # 18 (P4/16-medium)
40
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
41
+ - [-1, 3, C3Ghost, [512]] # 18 (P4/16-medium)
42
42
 
43
43
  - [-1, 1, GhostConv, [512, 3, 2]]
44
- - [[-1, 9], 1, Concat, [1]] # cat head P5
45
- - [-1, 3, C3Ghost, [1024]] # 21 (P5/32-large)
44
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
45
+ - [-1, 3, C3Ghost, [1024]] # 21 (P5/32-large)
46
46
 
47
- - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
47
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)