ultralytics 8.1.2__py3-none-any.whl → 8.1.4__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 (64) hide show
  1. ultralytics/__init__.py +15 -3
  2. ultralytics/cfg/datasets/Argoverse.yaml +7 -7
  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 +11 -7
  52. ultralytics/engine/trainer.py +1 -4
  53. ultralytics/hub/session.py +1 -1
  54. ultralytics/nn/modules/head.py +1 -1
  55. ultralytics/nn/modules/transformer.py +3 -3
  56. ultralytics/utils/callbacks/tensorboard.py +38 -15
  57. ultralytics/utils/ops.py +2 -2
  58. ultralytics/utils/plotting.py +1 -1
  59. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/METADATA +2 -2
  60. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/RECORD +64 -62
  61. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/LICENSE +0 -0
  62. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/WHEEL +0 -0
  63. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/entry_points.txt +0 -0
  64. {ultralytics-8.1.2.dist-info → ultralytics-8.1.4.dist-info}/top_level.txt +0 -0
@@ -2,45 +2,45 @@
2
2
  # YOLOv8 Oriented Bounding Boxes (OBB) model with P3-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
- n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs
9
- s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
10
- m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
11
- l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
12
- x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs
8
+ n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs
9
+ s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
10
+ m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
11
+ l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
12
+ x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs
13
13
 
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
- - [-1, 1, SPPF, [1024, 5]] # 9
26
+ - [-1, 1, SPPF, [1024, 5]] # 9
27
27
 
28
28
  # YOLOv8.0n head
29
29
  head:
30
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
31
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
- - [-1, 3, C2f, [512]] # 12
30
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
31
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
+ - [-1, 3, C2f, [512]] # 12
33
33
 
34
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
35
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
36
- - [-1, 3, C2f, [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, C2f, [256]] # 15 (P3/8-small)
37
37
 
38
38
  - [-1, 1, Conv, [256, 3, 2]]
39
- - [[-1, 12], 1, Concat, [1]] # cat head P4
40
- - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
39
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
40
+ - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
41
41
 
42
42
  - [-1, 1, Conv, [512, 3, 2]]
43
- - [[-1, 9], 1, Concat, [1]] # cat head P5
44
- - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
43
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
44
+ - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
45
45
 
46
- - [[15, 18, 21], 1, OBB, [nc, 1]] # OBB(P3, P4, P5)
46
+ - [[15, 18, 21], 1, OBB, [nc, 1]] # OBB(P3, P4, P5)
@@ -2,7 +2,7 @@
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]
@@ -14,41 +14,41 @@ scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call
14
14
  # YOLOv8.0 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
- - [-1, 1, SPPF, [1024, 5]] # 9
26
+ - [-1, 1, SPPF, [1024, 5]] # 9
27
27
 
28
28
  # YOLOv8.0-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, C2f, [512]] # 12
30
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
31
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
+ - [-1, 3, C2f, [512]] # 12
33
33
 
34
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
35
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
36
- - [-1, 3, C2f, [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, C2f, [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, C2f, [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, C2f, [128]] # 18 (P2/4-xsmall)
41
41
 
42
42
  - [-1, 1, Conv, [128, 3, 2]]
43
- - [[-1, 15], 1, Concat, [1]] # cat head P3
44
- - [-1, 3, C2f, [256]] # 21 (P3/8-small)
43
+ - [[-1, 15], 1, Concat, [1]] # cat head P3
44
+ - [-1, 3, C2f, [256]] # 21 (P3/8-small)
45
45
 
46
46
  - [-1, 1, Conv, [256, 3, 2]]
47
- - [[-1, 12], 1, Concat, [1]] # cat head P4
48
- - [-1, 3, C2f, [512]] # 24 (P4/16-medium)
47
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
48
+ - [-1, 3, C2f, [512]] # 24 (P4/16-medium)
49
49
 
50
50
  - [-1, 1, Conv, [512, 3, 2]]
51
- - [[-1, 9], 1, Concat, [1]] # cat head P5
52
- - [-1, 3, C2f, [1024]] # 27 (P5/32-large)
51
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
52
+ - [-1, 3, C2f, [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,7 +2,7 @@
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]
@@ -14,43 +14,43 @@ scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will ca
14
14
  # YOLOv8.0x6 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, [768, 3, 2]] # 7-P5/32
24
+ - [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
25
25
  - [-1, 3, C2f, [768, True]]
26
- - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
26
+ - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
27
27
  - [-1, 3, C2f, [1024, True]]
28
- - [-1, 1, SPPF, [1024, 5]] # 11
28
+ - [-1, 1, SPPF, [1024, 5]] # 11
29
29
 
30
30
  # YOLOv8.0x6 head
31
31
  head:
32
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
33
- - [[-1, 8], 1, Concat, [1]] # cat backbone P5
34
- - [-1, 3, C2, [768, False]] # 14
32
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
33
+ - [[-1, 8], 1, Concat, [1]] # cat backbone P5
34
+ - [-1, 3, C2, [768, False]] # 14
35
35
 
36
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
37
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
38
- - [-1, 3, C2, [512, False]] # 17
36
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
37
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
38
+ - [-1, 3, C2, [512, False]] # 17
39
39
 
40
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
41
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
42
- - [-1, 3, C2, [256, False]] # 20 (P3/8-small)
40
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
41
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
42
+ - [-1, 3, C2, [256, False]] # 20 (P3/8-small)
43
43
 
44
44
  - [-1, 1, Conv, [256, 3, 2]]
45
- - [[-1, 17], 1, Concat, [1]] # cat head P4
46
- - [-1, 3, C2, [512, False]] # 23 (P4/16-medium)
45
+ - [[-1, 17], 1, Concat, [1]] # cat head P4
46
+ - [-1, 3, C2, [512, False]] # 23 (P4/16-medium)
47
47
 
48
48
  - [-1, 1, Conv, [512, 3, 2]]
49
- - [[-1, 14], 1, Concat, [1]] # cat head P5
50
- - [-1, 3, C2, [768, False]] # 26 (P5/32-large)
49
+ - [[-1, 14], 1, Concat, [1]] # cat head P5
50
+ - [-1, 3, C2, [768, False]] # 26 (P5/32-large)
51
51
 
52
52
  - [-1, 1, Conv, [768, 3, 2]]
53
- - [[-1, 11], 1, Concat, [1]] # cat head P6
54
- - [-1, 3, C2, [1024, False]] # 29 (P6/64-xlarge)
53
+ - [[-1, 11], 1, Concat, [1]] # cat head P6
54
+ - [-1, 3, C2, [1024, False]] # 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)
@@ -2,8 +2,8 @@
2
2
  # YOLOv8-pose-p6 keypoints/pose estimation model. For Usage examples see https://docs.ultralytics.com/tasks/pose
3
3
 
4
4
  # Parameters
5
- nc: 1 # number of classes
6
- kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
5
+ nc: 1 # number of classes
6
+ kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
7
7
  scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will call yolov8-p6.yaml with scale 'n'
8
8
  # [depth, width, max_channels]
9
9
  n: [0.33, 0.25, 1024]
@@ -15,43 +15,43 @@ scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will ca
15
15
  # YOLOv8.0x6 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, 3, C2f, [128, True]]
21
- - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
21
+ - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
22
22
  - [-1, 6, C2f, [256, True]]
23
- - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
23
+ - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
24
24
  - [-1, 6, C2f, [512, True]]
25
- - [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
25
+ - [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
26
26
  - [-1, 3, C2f, [768, True]]
27
- - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
27
+ - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
28
28
  - [-1, 3, C2f, [1024, True]]
29
- - [-1, 1, SPPF, [1024, 5]] # 11
29
+ - [-1, 1, SPPF, [1024, 5]] # 11
30
30
 
31
31
  # YOLOv8.0x6 head
32
32
  head:
33
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
34
- - [[-1, 8], 1, Concat, [1]] # cat backbone P5
35
- - [-1, 3, C2, [768, False]] # 14
33
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
34
+ - [[-1, 8], 1, Concat, [1]] # cat backbone P5
35
+ - [-1, 3, C2, [768, False]] # 14
36
36
 
37
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
38
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
39
- - [-1, 3, C2, [512, False]] # 17
37
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
38
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
39
+ - [-1, 3, C2, [512, False]] # 17
40
40
 
41
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
42
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
43
- - [-1, 3, C2, [256, False]] # 20 (P3/8-small)
41
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
42
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
43
+ - [-1, 3, C2, [256, False]] # 20 (P3/8-small)
44
44
 
45
45
  - [-1, 1, Conv, [256, 3, 2]]
46
- - [[-1, 17], 1, Concat, [1]] # cat head P4
47
- - [-1, 3, C2, [512, False]] # 23 (P4/16-medium)
46
+ - [[-1, 17], 1, Concat, [1]] # cat head P4
47
+ - [-1, 3, C2, [512, False]] # 23 (P4/16-medium)
48
48
 
49
49
  - [-1, 1, Conv, [512, 3, 2]]
50
- - [[-1, 14], 1, Concat, [1]] # cat head P5
51
- - [-1, 3, C2, [768, False]] # 26 (P5/32-large)
50
+ - [[-1, 14], 1, Concat, [1]] # cat head P5
51
+ - [-1, 3, C2, [768, False]] # 26 (P5/32-large)
52
52
 
53
53
  - [-1, 1, Conv, [768, 3, 2]]
54
- - [[-1, 11], 1, Concat, [1]] # cat head P6
55
- - [-1, 3, C2, [1024, False]] # 29 (P6/64-xlarge)
54
+ - [[-1, 11], 1, Concat, [1]] # cat head P6
55
+ - [-1, 3, C2, [1024, False]] # 29 (P6/64-xlarge)
56
56
 
57
- - [[20, 23, 26, 29], 1, Pose, [nc, kpt_shape]] # Pose(P3, P4, P5, P6)
57
+ - [[20, 23, 26, 29], 1, Pose, [nc, kpt_shape]] # Pose(P3, P4, P5, P6)
@@ -2,8 +2,8 @@
2
2
  # YOLOv8-pose keypoints/pose estimation model. For Usage examples see https://docs.ultralytics.com/tasks/pose
3
3
 
4
4
  # Parameters
5
- nc: 1 # number of classes
6
- kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
5
+ nc: 1 # number of classes
6
+ kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
7
7
  scales: # model compound scaling constants, i.e. 'model=yolov8n-pose.yaml' will call yolov8-pose.yaml with scale 'n'
8
8
  # [depth, width, max_channels]
9
9
  n: [0.33, 0.25, 1024]
@@ -15,33 +15,33 @@ scales: # model compound scaling constants, i.e. 'model=yolov8n-pose.yaml' will
15
15
  # YOLOv8.0n 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, 3, C2f, [128, True]]
21
- - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
21
+ - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
22
22
  - [-1, 6, C2f, [256, True]]
23
- - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
23
+ - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
24
24
  - [-1, 6, C2f, [512, True]]
25
- - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
25
+ - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
26
26
  - [-1, 3, C2f, [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, C2f, [512]] # 12
31
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
32
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
33
+ - [-1, 3, C2f, [512]] # 12
34
34
 
35
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
36
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
37
- - [-1, 3, C2f, [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, C2f, [256]] # 15 (P3/8-small)
38
38
 
39
39
  - [-1, 1, Conv, [256, 3, 2]]
40
- - [[-1, 12], 1, Concat, [1]] # cat head P4
41
- - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
40
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
41
+ - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
42
42
 
43
43
  - [-1, 1, Conv, [512, 3, 2]]
44
- - [[-1, 9], 1, Concat, [1]] # cat head P5
45
- - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
44
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
45
+ - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
46
46
 
47
- - [[15, 18, 21], 1, Pose, [nc, kpt_shape]] # Pose(P3, P4, P5)
47
+ - [[15, 18, 21], 1, Pose, [nc, kpt_shape]] # Pose(P3, P4, P5)
@@ -2,45 +2,45 @@
2
2
  # YOLOv8 object detection model with P3-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
- n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs
9
- s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
10
- m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
11
- l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
12
- x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs
8
+ n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs
9
+ s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
10
+ m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
11
+ l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
12
+ x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs
13
13
 
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
- - [-1, 1, SPPF, [1024, 5]] # 9
26
+ - [-1, 1, SPPF, [1024, 5]] # 9
27
27
 
28
28
  # YOLOv8.0n head
29
29
  head:
30
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
31
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
- - [-1, 3, C2f, [512]] # 12
30
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
31
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
+ - [-1, 3, C2f, [512]] # 12
33
33
 
34
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
35
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
36
- - [-1, 3, C2f, [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, C2f, [256]] # 15 (P3/8-small)
37
37
 
38
38
  - [-1, 1, Conv, [256, 3, 2]]
39
- - [[-1, 12], 1, Concat, [1]] # cat head P4
40
- - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
39
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
40
+ - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
41
41
 
42
42
  - [-1, 1, Conv, [512, 3, 2]]
43
- - [[-1, 9], 1, Concat, [1]] # cat head P5
44
- - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
43
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
44
+ - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
45
45
 
46
- - [[15, 18, 21], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
46
+ - [[15, 18, 21], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
@@ -2,7 +2,7 @@
2
2
  # YOLOv8-seg-p6 instance segmentation model. For Usage examples see https://docs.ultralytics.com/tasks/segment
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-seg-p6.yaml' will call yolov8-seg-p6.yaml with scale 'n'
7
7
  # [depth, width, max_channels]
8
8
  n: [0.33, 0.25, 1024]
@@ -14,43 +14,43 @@ scales: # model compound scaling constants, i.e. 'model=yolov8n-seg-p6.yaml' wil
14
14
  # YOLOv8.0x6 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, [768, 3, 2]] # 7-P5/32
24
+ - [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
25
25
  - [-1, 3, C2f, [768, True]]
26
- - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
26
+ - [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
27
27
  - [-1, 3, C2f, [1024, True]]
28
- - [-1, 1, SPPF, [1024, 5]] # 11
28
+ - [-1, 1, SPPF, [1024, 5]] # 11
29
29
 
30
30
  # YOLOv8.0x6 head
31
31
  head:
32
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
33
- - [[-1, 8], 1, Concat, [1]] # cat backbone P5
34
- - [-1, 3, C2, [768, False]] # 14
32
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
33
+ - [[-1, 8], 1, Concat, [1]] # cat backbone P5
34
+ - [-1, 3, C2, [768, False]] # 14
35
35
 
36
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
37
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
38
- - [-1, 3, C2, [512, False]] # 17
36
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
37
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
38
+ - [-1, 3, C2, [512, False]] # 17
39
39
 
40
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
41
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
42
- - [-1, 3, C2, [256, False]] # 20 (P3/8-small)
40
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
41
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
42
+ - [-1, 3, C2, [256, False]] # 20 (P3/8-small)
43
43
 
44
44
  - [-1, 1, Conv, [256, 3, 2]]
45
- - [[-1, 17], 1, Concat, [1]] # cat head P4
46
- - [-1, 3, C2, [512, False]] # 23 (P4/16-medium)
45
+ - [[-1, 17], 1, Concat, [1]] # cat head P4
46
+ - [-1, 3, C2, [512, False]] # 23 (P4/16-medium)
47
47
 
48
48
  - [-1, 1, Conv, [512, 3, 2]]
49
- - [[-1, 14], 1, Concat, [1]] # cat head P5
50
- - [-1, 3, C2, [768, False]] # 26 (P5/32-large)
49
+ - [[-1, 14], 1, Concat, [1]] # cat head P5
50
+ - [-1, 3, C2, [768, False]] # 26 (P5/32-large)
51
51
 
52
52
  - [-1, 1, Conv, [768, 3, 2]]
53
- - [[-1, 11], 1, Concat, [1]] # cat head P6
54
- - [-1, 3, C2, [1024, False]] # 29 (P6/64-xlarge)
53
+ - [[-1, 11], 1, Concat, [1]] # cat head P6
54
+ - [-1, 3, C2, [1024, False]] # 29 (P6/64-xlarge)
55
55
 
56
- - [[20, 23, 26, 29], 1, Segment, [nc, 32, 256]] # Pose(P3, P4, P5, P6)
56
+ - [[20, 23, 26, 29], 1, Segment, [nc, 32, 256]] # Pose(P3, P4, P5, P6)
@@ -2,7 +2,7 @@
2
2
  # YOLOv8-seg instance segmentation model. For Usage examples see https://docs.ultralytics.com/tasks/segment
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-seg.yaml' will call yolov8-seg.yaml with scale 'n'
7
7
  # [depth, width, max_channels]
8
8
  n: [0.33, 0.25, 1024]
@@ -14,33 +14,33 @@ scales: # model compound scaling constants, i.e. 'model=yolov8n-seg.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
- - [-1, 1, SPPF, [1024, 5]] # 9
26
+ - [-1, 1, SPPF, [1024, 5]] # 9
27
27
 
28
28
  # YOLOv8.0n head
29
29
  head:
30
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
31
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
- - [-1, 3, C2f, [512]] # 12
30
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
31
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
+ - [-1, 3, C2f, [512]] # 12
33
33
 
34
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
35
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
36
- - [-1, 3, C2f, [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, C2f, [256]] # 15 (P3/8-small)
37
37
 
38
38
  - [-1, 1, Conv, [256, 3, 2]]
39
- - [[-1, 12], 1, Concat, [1]] # cat head P4
40
- - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
39
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
40
+ - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
41
41
 
42
42
  - [-1, 1, Conv, [512, 3, 2]]
43
- - [[-1, 9], 1, Concat, [1]] # cat head P5
44
- - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
43
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
44
+ - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
45
45
 
46
- - [[15, 18, 21], 1, Segment, [nc, 32, 256]] # Segment(P3, P4, P5)
46
+ - [[15, 18, 21], 1, Segment, [nc, 32, 256]] # Segment(P3, P4, P5)
@@ -2,45 +2,45 @@
2
2
  # YOLOv8 object detection model with P3-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
- n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs
9
- s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
10
- m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
11
- l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
12
- x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs
8
+ n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPs
9
+ s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPs
10
+ m: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPs
11
+ l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPs
12
+ x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs
13
13
 
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
- - [-1, 1, SPPF, [1024, 5]] # 9
26
+ - [-1, 1, SPPF, [1024, 5]] # 9
27
27
 
28
28
  # YOLOv8.0n head
29
29
  head:
30
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
31
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
- - [-1, 3, C2f, [512]] # 12
30
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
31
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
32
+ - [-1, 3, C2f, [512]] # 12
33
33
 
34
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
35
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
36
- - [-1, 3, C2f, [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, C2f, [256]] # 15 (P3/8-small)
37
37
 
38
38
  - [-1, 1, Conv, [256, 3, 2]]
39
- - [[-1, 12], 1, Concat, [1]] # cat head P4
40
- - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
39
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
40
+ - [-1, 3, C2f, [512]] # 18 (P4/16-medium)
41
41
 
42
42
  - [-1, 1, Conv, [512, 3, 2]]
43
- - [[-1, 9], 1, Concat, [1]] # cat head P5
44
- - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
43
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
44
+ - [-1, 3, C2f, [1024]] # 21 (P5/32-large)
45
45
 
46
- - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
46
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)