ultralytics 8.1.1__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.
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/__init__.py +1 -1
- ultralytics/cfg/datasets/Argoverse.yaml +5 -7
- ultralytics/cfg/datasets/DOTAv1.5.yaml +4 -4
- ultralytics/cfg/datasets/DOTAv1.yaml +4 -4
- ultralytics/cfg/datasets/GlobalWheat2020.yaml +2 -4
- ultralytics/cfg/datasets/ImageNet.yaml +4 -6
- ultralytics/cfg/datasets/Objects365.yaml +3 -5
- ultralytics/cfg/datasets/SKU-110K.yaml +4 -6
- ultralytics/cfg/datasets/VOC.yaml +0 -2
- ultralytics/cfg/datasets/VisDrone.yaml +4 -6
- ultralytics/cfg/datasets/coco-pose.yaml +6 -7
- ultralytics/cfg/datasets/coco.yaml +5 -7
- ultralytics/cfg/datasets/coco128-seg.yaml +4 -6
- ultralytics/cfg/datasets/coco128.yaml +4 -6
- ultralytics/cfg/datasets/coco8-pose.yaml +5 -6
- ultralytics/cfg/datasets/coco8-seg.yaml +4 -6
- ultralytics/cfg/datasets/coco8.yaml +4 -6
- ultralytics/cfg/datasets/dota8.yaml +3 -3
- ultralytics/cfg/datasets/open-images-v7.yaml +4 -6
- ultralytics/cfg/datasets/tiger-pose.yaml +4 -5
- ultralytics/cfg/datasets/xView.yaml +3 -5
- ultralytics/cfg/default.yaml +103 -103
- ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +27 -27
- ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +23 -23
- ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +23 -23
- ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +27 -27
- ultralytics/cfg/models/v3/yolov3-spp.yaml +32 -34
- ultralytics/cfg/models/v3/yolov3-tiny.yaml +24 -26
- ultralytics/cfg/models/v3/yolov3.yaml +32 -34
- ultralytics/cfg/models/v5/yolov5-p6.yaml +41 -43
- ultralytics/cfg/models/v5/yolov5.yaml +26 -28
- ultralytics/cfg/models/v6/yolov6.yaml +17 -17
- ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +25 -0
- ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +25 -0
- ultralytics/cfg/models/v8/yolov8-cls.yaml +7 -7
- ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +26 -26
- ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +27 -27
- ultralytics/cfg/models/v8/yolov8-ghost.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-obb.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-p2.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-p6.yaml +24 -24
- ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +25 -25
- ultralytics/cfg/models/v8/yolov8-pose.yaml +19 -19
- ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +23 -23
- ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +24 -24
- ultralytics/cfg/models/v8/yolov8-seg.yaml +18 -18
- ultralytics/cfg/models/v8/yolov8.yaml +23 -23
- ultralytics/cfg/trackers/botsort.yaml +7 -7
- ultralytics/cfg/trackers/bytetrack.yaml +6 -6
- ultralytics/data/annotator.py +1 -1
- ultralytics/data/augment.py +1 -2
- ultralytics/data/base.py +0 -1
- ultralytics/data/build.py +1 -2
- ultralytics/data/dataset.py +0 -1
- ultralytics/data/explorer/explorer.py +11 -12
- ultralytics/data/explorer/utils.py +3 -3
- ultralytics/data/split_dota.py +15 -23
- ultralytics/engine/model.py +12 -11
- ultralytics/engine/predictor.py +1 -1
- ultralytics/engine/trainer.py +1 -4
- ultralytics/hub/__init__.py +5 -3
- ultralytics/hub/auth.py +1 -2
- ultralytics/hub/session.py +14 -6
- ultralytics/hub/utils.py +4 -0
- ultralytics/models/fastsam/model.py +0 -1
- ultralytics/models/nas/model.py +0 -1
- ultralytics/models/rtdetr/train.py +0 -1
- ultralytics/models/rtdetr/val.py +1 -2
- ultralytics/models/sam/build.py +0 -1
- ultralytics/models/sam/model.py +0 -1
- ultralytics/models/sam/modules/encoders.py +1 -6
- ultralytics/models/sam/predict.py +0 -1
- ultralytics/models/utils/loss.py +0 -1
- ultralytics/models/yolo/detect/val.py +1 -2
- ultralytics/models/yolo/obb/val.py +14 -39
- ultralytics/nn/modules/head.py +5 -6
- ultralytics/nn/modules/utils.py +1 -1
- ultralytics/nn/tasks.py +1 -1
- ultralytics/solutions/ai_gym.py +9 -1
- ultralytics/solutions/distance_calculation.py +4 -8
- ultralytics/solutions/heatmap.py +16 -21
- ultralytics/solutions/object_counter.py +30 -29
- ultralytics/solutions/speed_estimation.py +19 -24
- ultralytics/trackers/track.py +0 -1
- ultralytics/trackers/utils/gmc.py +1 -1
- ultralytics/trackers/utils/matching.py +1 -3
- ultralytics/utils/benchmarks.py +2 -7
- ultralytics/utils/callbacks/base.py +1 -0
- ultralytics/utils/callbacks/comet.py +4 -22
- ultralytics/utils/callbacks/hub.py +1 -3
- ultralytics/utils/callbacks/neptune.py +1 -3
- ultralytics/utils/callbacks/tensorboard.py +2 -1
- ultralytics/utils/checks.py +2 -2
- ultralytics/utils/loss.py +3 -6
- ultralytics/utils/ops.py +8 -9
- ultralytics/utils/plotting.py +13 -15
- ultralytics/utils/tal.py +1 -2
- {ultralytics-8.1.1.dist-info → ultralytics-8.1.3.dist-info}/METADATA +15 -15
- ultralytics-8.1.3.dist-info/RECORD +190 -0
- ultralytics-8.1.1.dist-info/RECORD +0 -188
- {ultralytics-8.1.1.dist-info → ultralytics-8.1.3.dist-info}/LICENSE +0 -0
- {ultralytics-8.1.1.dist-info → ultralytics-8.1.3.dist-info}/WHEEL +0 -0
- {ultralytics-8.1.1.dist-info → ultralytics-8.1.3.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.1.1.dist-info → ultralytics-8.1.3.dist-info}/top_level.txt +0 -0
|
@@ -2,38 +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
|
|
6
|
-
depth_multiple: 1.0
|
|
7
|
-
width_multiple: 1.0
|
|
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
|
-
[
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
]
|
|
12
|
+
- [-1, 1, Conv, [16, 3, 1]] # 0
|
|
13
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 1-P1/2
|
|
14
|
+
- [-1, 1, Conv, [32, 3, 1]]
|
|
15
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 3-P2/4
|
|
16
|
+
- [-1, 1, Conv, [64, 3, 1]]
|
|
17
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 5-P3/8
|
|
18
|
+
- [-1, 1, Conv, [128, 3, 1]]
|
|
19
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 7-P4/16
|
|
20
|
+
- [-1, 1, Conv, [256, 3, 1]]
|
|
21
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 9-P5/32
|
|
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
|
|
26
25
|
|
|
27
26
|
# YOLOv3-tiny head
|
|
28
27
|
head:
|
|
29
|
-
[
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
- [-1, 1, Conv, [1024, 3, 1]]
|
|
29
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
|
30
|
+
- [-1, 1, Conv, [512, 3, 1]] # 15 (P5/32-large)
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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)
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
]
|
|
37
|
+
- [[19, 15], 1, Detect, [nc]] # Detect(P4, P5)
|
|
@@ -2,47 +2,45 @@
|
|
|
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
|
|
6
|
-
depth_multiple: 1.0
|
|
7
|
-
width_multiple: 1.0
|
|
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
|
-
[
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
]
|
|
12
|
+
- [-1, 1, Conv, [32, 3, 1]] # 0
|
|
13
|
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
|
|
14
|
+
- [-1, 1, Bottleneck, [64]]
|
|
15
|
+
- [-1, 1, Conv, [128, 3, 2]] # 3-P2/4
|
|
16
|
+
- [-1, 2, Bottleneck, [128]]
|
|
17
|
+
- [-1, 1, Conv, [256, 3, 2]] # 5-P3/8
|
|
18
|
+
- [-1, 8, Bottleneck, [256]]
|
|
19
|
+
- [-1, 1, Conv, [512, 3, 2]] # 7-P4/16
|
|
20
|
+
- [-1, 8, Bottleneck, [512]]
|
|
21
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 9-P5/32
|
|
22
|
+
- [-1, 4, Bottleneck, [1024]] # 10
|
|
24
23
|
|
|
25
24
|
# YOLOv3 head
|
|
26
25
|
head:
|
|
27
|
-
[
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
- [-1, 1, Bottleneck, [1024, False]]
|
|
27
|
+
- [-1, 1, Conv, [512, 1, 1]]
|
|
28
|
+
- [-1, 1, Conv, [1024, 3, 1]]
|
|
29
|
+
- [-1, 1, Conv, [512, 1, 1]]
|
|
30
|
+
- [-1, 1, Conv, [1024, 3, 1]] # 15 (P5/32-large)
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
- [-2, 1, Conv, [256, 1, 1]]
|
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
34
|
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P4
|
|
35
|
+
- [-1, 1, Bottleneck, [512, False]]
|
|
36
|
+
- [-1, 1, Bottleneck, [512, False]]
|
|
37
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
|
38
|
+
- [-1, 1, Conv, [512, 3, 1]] # 22 (P4/16-medium)
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
- [-2, 1, Conv, [128, 1, 1]]
|
|
41
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
42
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P3
|
|
43
|
+
- [-1, 1, Bottleneck, [256, False]]
|
|
44
|
+
- [-1, 2, Bottleneck, [256, False]] # 27 (P3/8-small)
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
]
|
|
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
|
|
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,48 +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
|
-
[
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
]
|
|
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
|
|
30
29
|
|
|
31
30
|
# YOLOv5 v6.0 head
|
|
32
31
|
head:
|
|
33
|
-
[
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
]
|
|
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
|
|
36
|
+
|
|
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
|
|
41
|
+
|
|
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)
|
|
46
|
+
|
|
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)
|
|
50
|
+
|
|
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)
|
|
54
|
+
|
|
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)
|
|
58
|
+
|
|
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
|
|
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,37 +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
|
-
[
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
]
|
|
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
|
|
28
27
|
|
|
29
28
|
# YOLOv5 v6.0 head
|
|
30
29
|
head:
|
|
31
|
-
[
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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)
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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)
|
|
44
43
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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)
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
]
|
|
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
|
|
6
|
-
activation: nn.ReLU()
|
|
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]]
|
|
19
|
-
- [-1, 1, Conv, [128, 3, 2]]
|
|
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]]
|
|
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]]
|
|
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]]
|
|
25
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
|
26
26
|
- [-1, 6, Conv, [1024, 3, 1]]
|
|
27
|
-
- [-1, 1, SPPF, [1024, 5]]
|
|
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]]
|
|
33
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
|
34
34
|
- [-1, 1, Conv, [256, 3, 1]]
|
|
35
|
-
- [-1, 9, Conv, [256, 3, 1]]
|
|
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]]
|
|
39
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
|
40
40
|
- [-1, 1, Conv, [128, 3, 1]]
|
|
41
|
-
- [-1, 9, Conv, [128, 3, 1]]
|
|
41
|
+
- [-1, 9, Conv, [128, 3, 1]] # 19
|
|
42
42
|
|
|
43
43
|
- [-1, 1, Conv, [128, 3, 2]]
|
|
44
|
-
- [[-1, 15], 1, Concat, [1]]
|
|
44
|
+
- [[-1, 15], 1, Concat, [1]] # cat head P4
|
|
45
45
|
- [-1, 1, Conv, [256, 3, 1]]
|
|
46
|
-
- [-1, 9, Conv, [256, 3, 1]]
|
|
46
|
+
- [-1, 9, Conv, [256, 3, 1]] # 23
|
|
47
47
|
|
|
48
48
|
- [-1, 1, Conv, [256, 3, 2]]
|
|
49
|
-
- [[-1, 10], 1, Concat, [1]]
|
|
49
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
|
50
50
|
- [-1, 1, Conv, [512, 3, 1]]
|
|
51
|
-
- [-1, 9, Conv, [512, 3, 1]]
|
|
51
|
+
- [-1, 9, Conv, [512, 3, 1]] # 27
|
|
52
52
|
|
|
53
|
-
- [[19, 23, 27], 1, Detect, [nc]]
|
|
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
|
|
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]]
|
|
18
|
-
- [-1, 1, Conv, [128, 3, 2]]
|
|
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]]
|
|
20
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
|
21
21
|
- [-1, 6, C2f, [256, True]]
|
|
22
|
-
- [-1, 1, Conv, [512, 3, 2]]
|
|
22
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
|
23
23
|
- [-1, 6, C2f, [512, True]]
|
|
24
|
-
- [-1, 1, Conv, [1024, 3, 2]]
|
|
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]]
|
|
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
|
|
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,
|
|
11
|
-
l: [1.00, 1.00,
|
|
12
|
-
x: [1.00, 1.25,
|
|
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]]
|
|
18
|
-
- [-1, 1, GhostConv, [128, 3, 2]]
|
|
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]]
|
|
20
|
+
- [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
|
|
21
21
|
- [-1, 6, C3Ghost, [256, True]]
|
|
22
|
-
- [-1, 1, GhostConv, [512, 3, 2]]
|
|
22
|
+
- [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
|
|
23
23
|
- [-1, 6, C3Ghost, [512, True]]
|
|
24
|
-
- [-1, 1, GhostConv, [1024, 3, 2]]
|
|
24
|
+
- [-1, 1, GhostConv, [1024, 3, 2]] # 7-P5/32
|
|
25
25
|
- [-1, 3, C3Ghost, [1024, True]]
|
|
26
|
-
- [-1, 1, SPPF, [1024, 5]]
|
|
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,
|
|
31
|
-
- [[-1, 6], 1, Concat, [1]]
|
|
32
|
-
- [-1, 3, C3Ghost, [512]]
|
|
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,
|
|
35
|
-
- [[-1, 4], 1, Concat, [1]]
|
|
36
|
-
- [-1, 3, C3Ghost, [256]]
|
|
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,
|
|
39
|
-
- [[-1, 2], 1, Concat, [1]]
|
|
40
|
-
- [-1, 3, C3Ghost, [128]]
|
|
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]]
|
|
44
|
-
- [-1, 3, C3Ghost, [256]]
|
|
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]]
|
|
48
|
-
- [-1, 3, C3Ghost, [512]]
|
|
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]]
|
|
52
|
-
- [-1, 3, C3Ghost, [1024]]
|
|
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]]
|
|
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
|
|
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]
|
|
11
|
-
l: [1.00, 1.00, 512]
|
|
12
|
-
x: [1.00, 1.25, 512]
|
|
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]]
|
|
18
|
-
- [-1, 1, GhostConv, [128, 3, 2]]
|
|
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]]
|
|
20
|
+
- [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
|
|
21
21
|
- [-1, 6, C3Ghost, [256, True]]
|
|
22
|
-
- [-1, 1, GhostConv, [512, 3, 2]]
|
|
22
|
+
- [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
|
|
23
23
|
- [-1, 6, C3Ghost, [512, True]]
|
|
24
|
-
- [-1, 1, GhostConv, [768, 3, 2]]
|
|
24
|
+
- [-1, 1, GhostConv, [768, 3, 2]] # 7-P5/32
|
|
25
25
|
- [-1, 3, C3Ghost, [768, True]]
|
|
26
|
-
- [-1, 1, GhostConv, [1024, 3, 2]]
|
|
26
|
+
- [-1, 1, GhostConv, [1024, 3, 2]] # 9-P6/64
|
|
27
27
|
- [-1, 3, C3Ghost, [1024, True]]
|
|
28
|
-
- [-1, 1, SPPF, [1024, 5]]
|
|
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,
|
|
33
|
-
- [[-1, 8], 1, Concat, [1]]
|
|
34
|
-
- [-1, 3, C3Ghost, [768]]
|
|
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,
|
|
37
|
-
- [[-1, 6], 1, Concat, [1]]
|
|
38
|
-
- [-1, 3, C3Ghost, [512]]
|
|
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,
|
|
41
|
-
- [[-1, 4], 1, Concat, [1]]
|
|
42
|
-
- [-1, 3, C3Ghost, [256]]
|
|
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]]
|
|
46
|
-
- [-1, 3, C3Ghost, [512]]
|
|
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]]
|
|
50
|
-
- [-1, 3, C3Ghost, [768]]
|
|
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]]
|
|
54
|
-
- [-1, 3, C3Ghost, [1024]]
|
|
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]]
|
|
56
|
+
- [[20, 23, 26, 29], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
|