dgenerate-ultralytics-headless 8.3.134__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.
- dgenerate_ultralytics_headless-8.3.134.dist-info/METADATA +400 -0
- dgenerate_ultralytics_headless-8.3.134.dist-info/RECORD +272 -0
- dgenerate_ultralytics_headless-8.3.134.dist-info/WHEEL +5 -0
- dgenerate_ultralytics_headless-8.3.134.dist-info/entry_points.txt +3 -0
- dgenerate_ultralytics_headless-8.3.134.dist-info/licenses/LICENSE +661 -0
- dgenerate_ultralytics_headless-8.3.134.dist-info/top_level.txt +1 -0
- tests/__init__.py +22 -0
- tests/conftest.py +83 -0
- tests/test_cli.py +138 -0
- tests/test_cuda.py +215 -0
- tests/test_engine.py +131 -0
- tests/test_exports.py +236 -0
- tests/test_integrations.py +154 -0
- tests/test_python.py +694 -0
- tests/test_solutions.py +187 -0
- ultralytics/__init__.py +30 -0
- ultralytics/assets/bus.jpg +0 -0
- ultralytics/assets/zidane.jpg +0 -0
- ultralytics/cfg/__init__.py +1023 -0
- ultralytics/cfg/datasets/Argoverse.yaml +77 -0
- ultralytics/cfg/datasets/DOTAv1.5.yaml +37 -0
- ultralytics/cfg/datasets/DOTAv1.yaml +36 -0
- ultralytics/cfg/datasets/GlobalWheat2020.yaml +68 -0
- ultralytics/cfg/datasets/HomeObjects-3K.yaml +33 -0
- ultralytics/cfg/datasets/ImageNet.yaml +2025 -0
- ultralytics/cfg/datasets/Objects365.yaml +443 -0
- ultralytics/cfg/datasets/SKU-110K.yaml +58 -0
- ultralytics/cfg/datasets/VOC.yaml +106 -0
- ultralytics/cfg/datasets/VisDrone.yaml +77 -0
- ultralytics/cfg/datasets/african-wildlife.yaml +25 -0
- ultralytics/cfg/datasets/brain-tumor.yaml +23 -0
- ultralytics/cfg/datasets/carparts-seg.yaml +44 -0
- ultralytics/cfg/datasets/coco-pose.yaml +42 -0
- ultralytics/cfg/datasets/coco.yaml +118 -0
- ultralytics/cfg/datasets/coco128-seg.yaml +101 -0
- ultralytics/cfg/datasets/coco128.yaml +101 -0
- ultralytics/cfg/datasets/coco8-multispectral.yaml +104 -0
- ultralytics/cfg/datasets/coco8-pose.yaml +26 -0
- ultralytics/cfg/datasets/coco8-seg.yaml +101 -0
- ultralytics/cfg/datasets/coco8.yaml +101 -0
- ultralytics/cfg/datasets/crack-seg.yaml +22 -0
- ultralytics/cfg/datasets/dog-pose.yaml +24 -0
- ultralytics/cfg/datasets/dota8-multispectral.yaml +38 -0
- ultralytics/cfg/datasets/dota8.yaml +35 -0
- ultralytics/cfg/datasets/hand-keypoints.yaml +26 -0
- ultralytics/cfg/datasets/lvis.yaml +1240 -0
- ultralytics/cfg/datasets/medical-pills.yaml +22 -0
- ultralytics/cfg/datasets/open-images-v7.yaml +666 -0
- ultralytics/cfg/datasets/package-seg.yaml +22 -0
- ultralytics/cfg/datasets/signature.yaml +21 -0
- ultralytics/cfg/datasets/tiger-pose.yaml +25 -0
- ultralytics/cfg/datasets/xView.yaml +155 -0
- ultralytics/cfg/default.yaml +127 -0
- ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +17 -0
- ultralytics/cfg/models/11/yolo11-cls.yaml +33 -0
- ultralytics/cfg/models/11/yolo11-obb.yaml +50 -0
- ultralytics/cfg/models/11/yolo11-pose.yaml +51 -0
- ultralytics/cfg/models/11/yolo11-seg.yaml +50 -0
- ultralytics/cfg/models/11/yolo11.yaml +50 -0
- ultralytics/cfg/models/11/yoloe-11-seg.yaml +48 -0
- ultralytics/cfg/models/11/yoloe-11.yaml +48 -0
- ultralytics/cfg/models/12/yolo12-cls.yaml +32 -0
- ultralytics/cfg/models/12/yolo12-obb.yaml +48 -0
- ultralytics/cfg/models/12/yolo12-pose.yaml +49 -0
- ultralytics/cfg/models/12/yolo12-seg.yaml +48 -0
- ultralytics/cfg/models/12/yolo12.yaml +48 -0
- ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +53 -0
- ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +45 -0
- ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +45 -0
- ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +57 -0
- ultralytics/cfg/models/v10/yolov10b.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10l.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10m.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10n.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10s.yaml +45 -0
- ultralytics/cfg/models/v10/yolov10x.yaml +45 -0
- ultralytics/cfg/models/v3/yolov3-spp.yaml +49 -0
- ultralytics/cfg/models/v3/yolov3-tiny.yaml +40 -0
- ultralytics/cfg/models/v3/yolov3.yaml +49 -0
- ultralytics/cfg/models/v5/yolov5-p6.yaml +62 -0
- ultralytics/cfg/models/v5/yolov5.yaml +51 -0
- ultralytics/cfg/models/v6/yolov6.yaml +56 -0
- ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +45 -0
- ultralytics/cfg/models/v8/yoloe-v8.yaml +45 -0
- ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +28 -0
- ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +28 -0
- ultralytics/cfg/models/v8/yolov8-cls.yaml +32 -0
- ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +58 -0
- ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +60 -0
- ultralytics/cfg/models/v8/yolov8-ghost.yaml +50 -0
- ultralytics/cfg/models/v8/yolov8-obb.yaml +49 -0
- ultralytics/cfg/models/v8/yolov8-p2.yaml +57 -0
- ultralytics/cfg/models/v8/yolov8-p6.yaml +59 -0
- ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +60 -0
- ultralytics/cfg/models/v8/yolov8-pose.yaml +50 -0
- ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +49 -0
- ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +59 -0
- ultralytics/cfg/models/v8/yolov8-seg.yaml +49 -0
- ultralytics/cfg/models/v8/yolov8-world.yaml +51 -0
- ultralytics/cfg/models/v8/yolov8-worldv2.yaml +49 -0
- ultralytics/cfg/models/v8/yolov8.yaml +49 -0
- ultralytics/cfg/models/v9/yolov9c-seg.yaml +41 -0
- ultralytics/cfg/models/v9/yolov9c.yaml +41 -0
- ultralytics/cfg/models/v9/yolov9e-seg.yaml +64 -0
- ultralytics/cfg/models/v9/yolov9e.yaml +64 -0
- ultralytics/cfg/models/v9/yolov9m.yaml +41 -0
- ultralytics/cfg/models/v9/yolov9s.yaml +41 -0
- ultralytics/cfg/models/v9/yolov9t.yaml +41 -0
- ultralytics/cfg/trackers/botsort.yaml +22 -0
- ultralytics/cfg/trackers/bytetrack.yaml +14 -0
- ultralytics/data/__init__.py +26 -0
- ultralytics/data/annotator.py +66 -0
- ultralytics/data/augment.py +2945 -0
- ultralytics/data/base.py +438 -0
- ultralytics/data/build.py +258 -0
- ultralytics/data/converter.py +754 -0
- ultralytics/data/dataset.py +834 -0
- ultralytics/data/loaders.py +676 -0
- ultralytics/data/scripts/download_weights.sh +18 -0
- ultralytics/data/scripts/get_coco.sh +61 -0
- ultralytics/data/scripts/get_coco128.sh +18 -0
- ultralytics/data/scripts/get_imagenet.sh +52 -0
- ultralytics/data/split.py +125 -0
- ultralytics/data/split_dota.py +325 -0
- ultralytics/data/utils.py +777 -0
- ultralytics/engine/__init__.py +1 -0
- ultralytics/engine/exporter.py +1519 -0
- ultralytics/engine/model.py +1156 -0
- ultralytics/engine/predictor.py +502 -0
- ultralytics/engine/results.py +1840 -0
- ultralytics/engine/trainer.py +853 -0
- ultralytics/engine/tuner.py +243 -0
- ultralytics/engine/validator.py +377 -0
- ultralytics/hub/__init__.py +168 -0
- ultralytics/hub/auth.py +137 -0
- ultralytics/hub/google/__init__.py +176 -0
- ultralytics/hub/session.py +446 -0
- ultralytics/hub/utils.py +248 -0
- ultralytics/models/__init__.py +9 -0
- ultralytics/models/fastsam/__init__.py +7 -0
- ultralytics/models/fastsam/model.py +61 -0
- ultralytics/models/fastsam/predict.py +181 -0
- ultralytics/models/fastsam/utils.py +24 -0
- ultralytics/models/fastsam/val.py +40 -0
- ultralytics/models/nas/__init__.py +7 -0
- ultralytics/models/nas/model.py +102 -0
- ultralytics/models/nas/predict.py +58 -0
- ultralytics/models/nas/val.py +39 -0
- ultralytics/models/rtdetr/__init__.py +7 -0
- ultralytics/models/rtdetr/model.py +63 -0
- ultralytics/models/rtdetr/predict.py +84 -0
- ultralytics/models/rtdetr/train.py +85 -0
- ultralytics/models/rtdetr/val.py +191 -0
- ultralytics/models/sam/__init__.py +6 -0
- ultralytics/models/sam/amg.py +260 -0
- ultralytics/models/sam/build.py +358 -0
- ultralytics/models/sam/model.py +170 -0
- ultralytics/models/sam/modules/__init__.py +1 -0
- ultralytics/models/sam/modules/blocks.py +1129 -0
- ultralytics/models/sam/modules/decoders.py +515 -0
- ultralytics/models/sam/modules/encoders.py +854 -0
- ultralytics/models/sam/modules/memory_attention.py +299 -0
- ultralytics/models/sam/modules/sam.py +1006 -0
- ultralytics/models/sam/modules/tiny_encoder.py +1002 -0
- ultralytics/models/sam/modules/transformer.py +351 -0
- ultralytics/models/sam/modules/utils.py +394 -0
- ultralytics/models/sam/predict.py +1605 -0
- ultralytics/models/utils/__init__.py +1 -0
- ultralytics/models/utils/loss.py +455 -0
- ultralytics/models/utils/ops.py +268 -0
- ultralytics/models/yolo/__init__.py +7 -0
- ultralytics/models/yolo/classify/__init__.py +7 -0
- ultralytics/models/yolo/classify/predict.py +88 -0
- ultralytics/models/yolo/classify/train.py +233 -0
- ultralytics/models/yolo/classify/val.py +215 -0
- ultralytics/models/yolo/detect/__init__.py +7 -0
- ultralytics/models/yolo/detect/predict.py +124 -0
- ultralytics/models/yolo/detect/train.py +217 -0
- ultralytics/models/yolo/detect/val.py +451 -0
- ultralytics/models/yolo/model.py +354 -0
- ultralytics/models/yolo/obb/__init__.py +7 -0
- ultralytics/models/yolo/obb/predict.py +66 -0
- ultralytics/models/yolo/obb/train.py +81 -0
- ultralytics/models/yolo/obb/val.py +283 -0
- ultralytics/models/yolo/pose/__init__.py +7 -0
- ultralytics/models/yolo/pose/predict.py +79 -0
- ultralytics/models/yolo/pose/train.py +154 -0
- ultralytics/models/yolo/pose/val.py +394 -0
- ultralytics/models/yolo/segment/__init__.py +7 -0
- ultralytics/models/yolo/segment/predict.py +113 -0
- ultralytics/models/yolo/segment/train.py +123 -0
- ultralytics/models/yolo/segment/val.py +428 -0
- ultralytics/models/yolo/world/__init__.py +5 -0
- ultralytics/models/yolo/world/train.py +119 -0
- ultralytics/models/yolo/world/train_world.py +176 -0
- ultralytics/models/yolo/yoloe/__init__.py +22 -0
- ultralytics/models/yolo/yoloe/predict.py +169 -0
- ultralytics/models/yolo/yoloe/train.py +298 -0
- ultralytics/models/yolo/yoloe/train_seg.py +124 -0
- ultralytics/models/yolo/yoloe/val.py +191 -0
- ultralytics/nn/__init__.py +29 -0
- ultralytics/nn/autobackend.py +842 -0
- ultralytics/nn/modules/__init__.py +182 -0
- ultralytics/nn/modules/activation.py +53 -0
- ultralytics/nn/modules/block.py +1966 -0
- ultralytics/nn/modules/conv.py +712 -0
- ultralytics/nn/modules/head.py +880 -0
- ultralytics/nn/modules/transformer.py +713 -0
- ultralytics/nn/modules/utils.py +164 -0
- ultralytics/nn/tasks.py +1627 -0
- ultralytics/nn/text_model.py +351 -0
- ultralytics/solutions/__init__.py +41 -0
- ultralytics/solutions/ai_gym.py +116 -0
- ultralytics/solutions/analytics.py +252 -0
- ultralytics/solutions/config.py +106 -0
- ultralytics/solutions/distance_calculation.py +124 -0
- ultralytics/solutions/heatmap.py +127 -0
- ultralytics/solutions/instance_segmentation.py +84 -0
- ultralytics/solutions/object_blurrer.py +90 -0
- ultralytics/solutions/object_counter.py +195 -0
- ultralytics/solutions/object_cropper.py +84 -0
- ultralytics/solutions/parking_management.py +273 -0
- ultralytics/solutions/queue_management.py +93 -0
- ultralytics/solutions/region_counter.py +120 -0
- ultralytics/solutions/security_alarm.py +154 -0
- ultralytics/solutions/similarity_search.py +172 -0
- ultralytics/solutions/solutions.py +724 -0
- ultralytics/solutions/speed_estimation.py +110 -0
- ultralytics/solutions/streamlit_inference.py +196 -0
- ultralytics/solutions/templates/similarity-search.html +160 -0
- ultralytics/solutions/trackzone.py +88 -0
- ultralytics/solutions/vision_eye.py +68 -0
- ultralytics/trackers/__init__.py +7 -0
- ultralytics/trackers/basetrack.py +124 -0
- ultralytics/trackers/bot_sort.py +260 -0
- ultralytics/trackers/byte_tracker.py +480 -0
- ultralytics/trackers/track.py +125 -0
- ultralytics/trackers/utils/__init__.py +1 -0
- ultralytics/trackers/utils/gmc.py +376 -0
- ultralytics/trackers/utils/kalman_filter.py +493 -0
- ultralytics/trackers/utils/matching.py +157 -0
- ultralytics/utils/__init__.py +1435 -0
- ultralytics/utils/autobatch.py +106 -0
- ultralytics/utils/autodevice.py +174 -0
- ultralytics/utils/benchmarks.py +695 -0
- ultralytics/utils/callbacks/__init__.py +5 -0
- ultralytics/utils/callbacks/base.py +234 -0
- ultralytics/utils/callbacks/clearml.py +153 -0
- ultralytics/utils/callbacks/comet.py +552 -0
- ultralytics/utils/callbacks/dvc.py +205 -0
- ultralytics/utils/callbacks/hub.py +108 -0
- ultralytics/utils/callbacks/mlflow.py +138 -0
- ultralytics/utils/callbacks/neptune.py +140 -0
- ultralytics/utils/callbacks/raytune.py +43 -0
- ultralytics/utils/callbacks/tensorboard.py +132 -0
- ultralytics/utils/callbacks/wb.py +185 -0
- ultralytics/utils/checks.py +897 -0
- ultralytics/utils/dist.py +119 -0
- ultralytics/utils/downloads.py +499 -0
- ultralytics/utils/errors.py +43 -0
- ultralytics/utils/export.py +219 -0
- ultralytics/utils/files.py +221 -0
- ultralytics/utils/instance.py +499 -0
- ultralytics/utils/loss.py +813 -0
- ultralytics/utils/metrics.py +1356 -0
- ultralytics/utils/ops.py +885 -0
- ultralytics/utils/patches.py +143 -0
- ultralytics/utils/plotting.py +1011 -0
- ultralytics/utils/tal.py +416 -0
- ultralytics/utils/torch_utils.py +990 -0
- ultralytics/utils/triton.py +116 -0
- ultralytics/utils/tuner.py +159 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLO12-cls image classification model
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolo12
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/classify
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolo12n-cls.yaml' will call yolo12-cls.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.50, 0.25, 1024] # summary: 152 layers, 1,820,976 parameters, 1,820,976 gradients, 3.7 GFLOPs
|
12
|
+
s: [0.50, 0.50, 1024] # summary: 152 layers, 6,206,992 parameters, 6,206,992 gradients, 13.6 GFLOPs
|
13
|
+
m: [0.50, 1.00, 512] # summary: 172 layers, 12,083,088 parameters, 12,083,088 gradients, 44.2 GFLOPs
|
14
|
+
l: [1.00, 1.00, 512] # summary: 312 layers, 15,558,640 parameters, 15,558,640 gradients, 56.9 GFLOPs
|
15
|
+
x: [1.00, 1.50, 512] # summary: 312 layers, 34,172,592 parameters, 34,172,592 gradients, 126.5 GFLOPs
|
16
|
+
|
17
|
+
# YOLO12n backbone
|
18
|
+
backbone:
|
19
|
+
# [from, repeats, module, args]
|
20
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
21
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
22
|
+
- [-1, 2, C3k2, [256, False, 0.25]]
|
23
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
24
|
+
- [-1, 2, C3k2, [512, False, 0.25]]
|
25
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
26
|
+
- [-1, 4, A2C2f, [512, True, 4]]
|
27
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
28
|
+
- [-1, 4, A2C2f, [1024, True, 1]] # 8
|
29
|
+
|
30
|
+
# YOLO12n head
|
31
|
+
head:
|
32
|
+
- [-1, 1, Classify, [nc]] # Classify
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLO12-obb Oriented Bounding Boxes (OBB) model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolo12
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/obb
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolo12n-obb.yaml' will call yolo12-obb.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.50, 0.25, 1024] # summary: 287 layers, 2,673,955 parameters, 2,673,939 gradients, 6.9 GFLOPs
|
12
|
+
s: [0.50, 0.50, 1024] # summary: 287 layers, 9,570,275 parameters, 9,570,259 gradients, 22.7 GFLOPs
|
13
|
+
m: [0.50, 1.00, 512] # summary: 307 layers, 21,048,003 parameters, 21,047,987 gradients, 71.8 GFLOPs
|
14
|
+
l: [1.00, 1.00, 512] # summary: 503 layers, 27,299,619 parameters, 27,299,603 gradients, 93.4 GFLOPs
|
15
|
+
x: [1.00, 1.50, 512] # summary: 503 layers, 61,119,939 parameters, 61,119,923 gradients, 208.6 GFLOPs
|
16
|
+
|
17
|
+
# YOLO12n backbone
|
18
|
+
backbone:
|
19
|
+
# [from, repeats, module, args]
|
20
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
21
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
22
|
+
- [-1, 2, C3k2, [256, False, 0.25]]
|
23
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
24
|
+
- [-1, 2, C3k2, [512, False, 0.25]]
|
25
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
26
|
+
- [-1, 4, A2C2f, [512, True, 4]]
|
27
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
28
|
+
- [-1, 4, A2C2f, [1024, True, 1]] # 8
|
29
|
+
|
30
|
+
# YOLO12n head
|
31
|
+
head:
|
32
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
33
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
34
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 11
|
35
|
+
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
38
|
+
- [-1, 2, A2C2f, [256, False, -1]] # 14
|
39
|
+
|
40
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
41
|
+
- [[-1, 11], 1, Concat, [1]] # cat head P4
|
42
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 17
|
43
|
+
|
44
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
45
|
+
- [[-1, 8], 1, Concat, [1]] # cat head P5
|
46
|
+
- [-1, 2, C3k2, [1024, True]] # 20 (P5/32-large)
|
47
|
+
|
48
|
+
- [[14, 17, 20], 1, OBB, [nc, 1]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLO12-pose keypoints/pose estimation model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolo12
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/pose
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
10
|
+
scales: # model compound scaling constants, i.e. 'model=yolo12n-pose.yaml' will call yolo12-pose.yaml with scale 'n'
|
11
|
+
# [depth, width, max_channels]
|
12
|
+
n: [0.50, 0.25, 1024] # summary: 287 layers, 2,886,715 parameters, 2,886,699 gradients, 7.8 GFLOPs
|
13
|
+
s: [0.50, 0.50, 1024] # summary: 287 layers, 9,774,155 parameters, 9,774,139 gradients, 23.5 GFLOPs
|
14
|
+
m: [0.50, 1.00, 512] # summary: 307 layers, 21,057,753 parameters, 21,057,737 gradients, 71.8 GFLOPs
|
15
|
+
l: [1.00, 1.00, 512] # summary: 503 layers, 27,309,369 parameters, 27,309,353 gradients, 93.5 GFLOPs
|
16
|
+
x: [1.00, 1.50, 512] # summary: 503 layers, 61,134,489 parameters, 61,134,473 gradients, 208.7 GFLOPs
|
17
|
+
|
18
|
+
# YOLO12n backbone
|
19
|
+
backbone:
|
20
|
+
# [from, repeats, module, args]
|
21
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
22
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
23
|
+
- [-1, 2, C3k2, [256, False, 0.25]]
|
24
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
25
|
+
- [-1, 2, C3k2, [512, False, 0.25]]
|
26
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
27
|
+
- [-1, 4, A2C2f, [512, True, 4]]
|
28
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
29
|
+
- [-1, 4, A2C2f, [1024, True, 1]] # 8
|
30
|
+
|
31
|
+
# YOLO12n head
|
32
|
+
head:
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
35
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 11
|
36
|
+
|
37
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
38
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
39
|
+
- [-1, 2, A2C2f, [256, False, -1]] # 14
|
40
|
+
|
41
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
42
|
+
- [[-1, 11], 1, Concat, [1]] # cat head P4
|
43
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 17
|
44
|
+
|
45
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
46
|
+
- [[-1, 8], 1, Concat, [1]] # cat head P5
|
47
|
+
- [-1, 2, C3k2, [1024, True]] # 20 (P5/32-large)
|
48
|
+
|
49
|
+
- [[14, 17, 20], 1, Pose, [nc, kpt_shape]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLO12-seg instance segmentation model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolo12
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/segment
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolo12n-seg.yaml' will call yolo12-seg.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.50, 0.25, 1024] # summary: 294 layers, 2,855,056 parameters, 2,855,040 gradients, 10.6 GFLOPs
|
12
|
+
s: [0.50, 0.50, 1024] # summary: 294 layers, 9,938,592 parameters, 9,938,576 gradients, 35.7 GFLOPs
|
13
|
+
m: [0.50, 1.00, 512] # summary: 314 layers, 22,505,376 parameters, 22,505,360 gradients, 123.5 GFLOPs
|
14
|
+
l: [1.00, 1.00, 512] # summary: 510 layers, 28,756,992 parameters, 28,756,976 gradients, 145.1 GFLOPs
|
15
|
+
x: [1.00, 1.50, 512] # summary: 510 layers, 64,387,264 parameters, 64,387,248 gradients, 324.6 GFLOPs
|
16
|
+
|
17
|
+
# YOLO12n backbone
|
18
|
+
backbone:
|
19
|
+
# [from, repeats, module, args]
|
20
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
21
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
22
|
+
- [-1, 2, C3k2, [256, False, 0.25]]
|
23
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
24
|
+
- [-1, 2, C3k2, [512, False, 0.25]]
|
25
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
26
|
+
- [-1, 4, A2C2f, [512, True, 4]]
|
27
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
28
|
+
- [-1, 4, A2C2f, [1024, True, 1]] # 8
|
29
|
+
|
30
|
+
# YOLO12n head
|
31
|
+
head:
|
32
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
33
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
34
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 11
|
35
|
+
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
38
|
+
- [-1, 2, A2C2f, [256, False, -1]] # 14
|
39
|
+
|
40
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
41
|
+
- [[-1, 11], 1, Concat, [1]] # cat head P4
|
42
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 17
|
43
|
+
|
44
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
45
|
+
- [[-1, 8], 1, Concat, [1]] # cat head P5
|
46
|
+
- [-1, 2, C3k2, [1024, True]] # 20 (P5/32-large)
|
47
|
+
|
48
|
+
- [[14, 17, 20], 1, Segment, [nc, 32, 256]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLO12 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolo12
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolo12n.yaml' will call yolo12.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.50, 0.25, 1024] # summary: 272 layers, 2,602,288 parameters, 2,602,272 gradients, 6.7 GFLOPs
|
12
|
+
s: [0.50, 0.50, 1024] # summary: 272 layers, 9,284,096 parameters, 9,284,080 gradients, 21.7 GFLOPs
|
13
|
+
m: [0.50, 1.00, 512] # summary: 292 layers, 20,199,168 parameters, 20,199,152 gradients, 68.1 GFLOPs
|
14
|
+
l: [1.00, 1.00, 512] # summary: 488 layers, 26,450,784 parameters, 26,450,768 gradients, 89.7 GFLOPs
|
15
|
+
x: [1.00, 1.50, 512] # summary: 488 layers, 59,210,784 parameters, 59,210,768 gradients, 200.3 GFLOPs
|
16
|
+
|
17
|
+
# YOLO12n backbone
|
18
|
+
backbone:
|
19
|
+
# [from, repeats, module, args]
|
20
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
21
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
22
|
+
- [-1, 2, C3k2, [256, False, 0.25]]
|
23
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
24
|
+
- [-1, 2, C3k2, [512, False, 0.25]]
|
25
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
26
|
+
- [-1, 4, A2C2f, [512, True, 4]]
|
27
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
28
|
+
- [-1, 4, A2C2f, [1024, True, 1]] # 8
|
29
|
+
|
30
|
+
# YOLO12n head
|
31
|
+
head:
|
32
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
33
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
34
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 11
|
35
|
+
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
38
|
+
- [-1, 2, A2C2f, [256, False, -1]] # 14
|
39
|
+
|
40
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
41
|
+
- [[-1, 11], 1, Concat, [1]] # cat head P4
|
42
|
+
- [-1, 2, A2C2f, [512, False, -1]] # 17
|
43
|
+
|
44
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
45
|
+
- [[-1, 8], 1, Concat, [1]] # cat head P5
|
46
|
+
- [-1, 2, C3k2, [1024, True]] # 20 (P5/32-large)
|
47
|
+
|
48
|
+
- [[14, 17, 20], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics RT-DETR-l hybrid object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/rtdetr
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
l: [1.00, 1.00, 1024]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, HGStem, [32, 48]] # 0-P2/4
|
16
|
+
- [-1, 6, HGBlock, [48, 128, 3]] # stage 1
|
17
|
+
|
18
|
+
- [-1, 1, DWConv, [128, 3, 2, 1, False]] # 2-P3/8
|
19
|
+
- [-1, 6, HGBlock, [96, 512, 3]] # stage 2
|
20
|
+
|
21
|
+
- [-1, 1, DWConv, [512, 3, 2, 1, False]] # 4-P3/16
|
22
|
+
- [-1, 6, HGBlock, [192, 1024, 5, True, False]] # cm, c2, k, light, shortcut
|
23
|
+
- [-1, 6, HGBlock, [192, 1024, 5, True, True]]
|
24
|
+
- [-1, 6, HGBlock, [192, 1024, 5, True, True]] # stage 3
|
25
|
+
|
26
|
+
- [-1, 1, DWConv, [1024, 3, 2, 1, False]] # 8-P4/32
|
27
|
+
- [-1, 6, HGBlock, [384, 2048, 5, True, False]] # stage 4
|
28
|
+
|
29
|
+
head:
|
30
|
+
- [-1, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 10 input_proj.2
|
31
|
+
- [-1, 1, AIFI, [1024, 8]]
|
32
|
+
- [-1, 1, Conv, [256, 1, 1]] # 12, Y5, lateral_convs.0
|
33
|
+
|
34
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
35
|
+
- [7, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 14 input_proj.1
|
36
|
+
- [[-2, -1], 1, Concat, [1]]
|
37
|
+
- [-1, 3, RepC3, [256]] # 16, fpn_blocks.0
|
38
|
+
- [-1, 1, Conv, [256, 1, 1]] # 17, Y4, lateral_convs.1
|
39
|
+
|
40
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
41
|
+
- [3, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 19 input_proj.0
|
42
|
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
43
|
+
- [-1, 3, RepC3, [256]] # X3 (21), fpn_blocks.1
|
44
|
+
|
45
|
+
- [-1, 1, Conv, [256, 3, 2]] # 22, downsample_convs.0
|
46
|
+
- [[-1, 17], 1, Concat, [1]] # cat Y4
|
47
|
+
- [-1, 3, RepC3, [256]] # F4 (24), pan_blocks.0
|
48
|
+
|
49
|
+
- [-1, 1, Conv, [256, 3, 2]] # 25, downsample_convs.1
|
50
|
+
- [[-1, 12], 1, Concat, [1]] # cat Y5
|
51
|
+
- [-1, 3, RepC3, [256]] # F5 (27), pan_blocks.1
|
52
|
+
|
53
|
+
- [[21, 24, 27], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics RT-DETR-ResNet101 hybrid object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/rtdetr
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
l: [1.00, 1.00, 1024]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0
|
16
|
+
- [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1
|
17
|
+
- [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2
|
18
|
+
- [-1, 1, ResNetLayer, [512, 256, 2, False, 23]] # 3
|
19
|
+
- [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4
|
20
|
+
|
21
|
+
head:
|
22
|
+
- [-1, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 5
|
23
|
+
- [-1, 1, AIFI, [1024, 8]]
|
24
|
+
- [-1, 1, Conv, [256, 1, 1]] # 7
|
25
|
+
|
26
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
27
|
+
- [3, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 9
|
28
|
+
- [[-2, -1], 1, Concat, [1]]
|
29
|
+
- [-1, 3, RepC3, [256]] # 11
|
30
|
+
- [-1, 1, Conv, [256, 1, 1]] # 12
|
31
|
+
|
32
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
33
|
+
- [2, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 14
|
34
|
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
35
|
+
- [-1, 3, RepC3, [256]] # X3 (16), fpn_blocks.1
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]] # 17, downsample_convs.0
|
38
|
+
- [[-1, 12], 1, Concat, [1]] # cat Y4
|
39
|
+
- [-1, 3, RepC3, [256]] # F4 (19), pan_blocks.0
|
40
|
+
|
41
|
+
- [-1, 1, Conv, [256, 3, 2]] # 20, downsample_convs.1
|
42
|
+
- [[-1, 7], 1, Concat, [1]] # cat Y5
|
43
|
+
- [-1, 3, RepC3, [256]] # F5 (22), pan_blocks.1
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics RT-DETR-ResNet50 hybrid object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/rtdetr
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
l: [1.00, 1.00, 1024]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0
|
16
|
+
- [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1
|
17
|
+
- [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2
|
18
|
+
- [-1, 1, ResNetLayer, [512, 256, 2, False, 6]] # 3
|
19
|
+
- [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4
|
20
|
+
|
21
|
+
head:
|
22
|
+
- [-1, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 5
|
23
|
+
- [-1, 1, AIFI, [1024, 8]]
|
24
|
+
- [-1, 1, Conv, [256, 1, 1]] # 7
|
25
|
+
|
26
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
27
|
+
- [3, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 9
|
28
|
+
- [[-2, -1], 1, Concat, [1]]
|
29
|
+
- [-1, 3, RepC3, [256]] # 11
|
30
|
+
- [-1, 1, Conv, [256, 1, 1]] # 12
|
31
|
+
|
32
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
33
|
+
- [2, 1, Conv, [256, 1, 1, None, 1, 1, False]] # 14
|
34
|
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
35
|
+
- [-1, 3, RepC3, [256]] # X3 (16), fpn_blocks.1
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]] # 17, downsample_convs.0
|
38
|
+
- [[-1, 12], 1, Concat, [1]] # cat Y4
|
39
|
+
- [-1, 3, RepC3, [256]] # F4 (19), pan_blocks.0
|
40
|
+
|
41
|
+
- [-1, 1, Conv, [256, 3, 2]] # 20, downsample_convs.1
|
42
|
+
- [[-1, 7], 1, Concat, [1]] # cat Y5
|
43
|
+
- [-1, 3, RepC3, [256]] # F5 (22), pan_blocks.1
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics RT-DETR-x hybrid object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/rtdetr
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
x: [1.00, 1.00, 2048]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, HGStem, [32, 64]] # 0-P2/4
|
16
|
+
- [-1, 6, HGBlock, [64, 128, 3]] # stage 1
|
17
|
+
|
18
|
+
- [-1, 1, DWConv, [128, 3, 2, 1, False]] # 2-P3/8
|
19
|
+
- [-1, 6, HGBlock, [128, 512, 3]]
|
20
|
+
- [-1, 6, HGBlock, [128, 512, 3, False, True]] # 4-stage 2
|
21
|
+
|
22
|
+
- [-1, 1, DWConv, [512, 3, 2, 1, False]] # 5-P3/16
|
23
|
+
- [-1, 6, HGBlock, [256, 1024, 5, True, False]] # cm, c2, k, light, shortcut
|
24
|
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]]
|
25
|
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]]
|
26
|
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]]
|
27
|
+
- [-1, 6, HGBlock, [256, 1024, 5, True, True]] # 10-stage 3
|
28
|
+
|
29
|
+
- [-1, 1, DWConv, [1024, 3, 2, 1, False]] # 11-P4/32
|
30
|
+
- [-1, 6, HGBlock, [512, 2048, 5, True, False]]
|
31
|
+
- [-1, 6, HGBlock, [512, 2048, 5, True, True]] # 13-stage 4
|
32
|
+
|
33
|
+
head:
|
34
|
+
- [-1, 1, Conv, [384, 1, 1, None, 1, 1, False]] # 14 input_proj.2
|
35
|
+
- [-1, 1, AIFI, [2048, 8]]
|
36
|
+
- [-1, 1, Conv, [384, 1, 1]] # 16, Y5, lateral_convs.0
|
37
|
+
|
38
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
39
|
+
- [10, 1, Conv, [384, 1, 1, None, 1, 1, False]] # 18 input_proj.1
|
40
|
+
- [[-2, -1], 1, Concat, [1]]
|
41
|
+
- [-1, 3, RepC3, [384]] # 20, fpn_blocks.0
|
42
|
+
- [-1, 1, Conv, [384, 1, 1]] # 21, Y4, lateral_convs.1
|
43
|
+
|
44
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
45
|
+
- [4, 1, Conv, [384, 1, 1, None, 1, 1, False]] # 23 input_proj.0
|
46
|
+
- [[-2, -1], 1, Concat, [1]] # cat backbone P4
|
47
|
+
- [-1, 3, RepC3, [384]] # X3 (25), fpn_blocks.1
|
48
|
+
|
49
|
+
- [-1, 1, Conv, [384, 3, 2]] # 26, downsample_convs.0
|
50
|
+
- [[-1, 21], 1, Concat, [1]] # cat Y4
|
51
|
+
- [-1, 3, RepC3, [384]] # F4 (28), pan_blocks.0
|
52
|
+
|
53
|
+
- [-1, 1, Conv, [384, 3, 2]] # 29, downsample_convs.1
|
54
|
+
- [[-1, 16], 1, Concat, [1]] # cat Y5
|
55
|
+
- [-1, 3, RepC3, [384]] # F5 (31), pan_blocks.1
|
56
|
+
|
57
|
+
- [[25, 28, 31], 1, RTDETRDecoder, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10b object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
b: [0.67, 1.00, 512]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2f, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2fCIB, [1024, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2fCIB, [512, True]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10l object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
l: [1.00, 1.00, 512]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2f, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2fCIB, [1024, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2fCIB, [512, True]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10m object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
m: [0.67, 0.75, 768]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2f, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2fCIB, [1024, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2f, [512]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2fCIB, [512, True]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10n object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.33, 0.25, 1024]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2f, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2f, [1024, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2f, [512]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2f, [512]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10s object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov10
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
s: [0.33, 0.50, 1024]
|
12
|
+
|
13
|
+
backbone:
|
14
|
+
# [from, repeats, module, args]
|
15
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
16
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
17
|
+
- [-1, 3, C2f, [128, True]]
|
18
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
19
|
+
- [-1, 6, C2f, [256, True]]
|
20
|
+
- [-1, 1, SCDown, [512, 3, 2]] # 5-P4/16
|
21
|
+
- [-1, 6, C2f, [512, True]]
|
22
|
+
- [-1, 1, SCDown, [1024, 3, 2]] # 7-P5/32
|
23
|
+
- [-1, 3, C2fCIB, [1024, True, True]]
|
24
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
25
|
+
- [-1, 1, PSA, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv10.0n head
|
28
|
+
head:
|
29
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
30
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
31
|
+
- [-1, 3, C2f, [512]] # 13
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 16 (P3/8-small)
|
36
|
+
|
37
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 13], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2f, [512]] # 19 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, SCDown, [512, 3, 2]]
|
42
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2fCIB, [1024, True, True]] # 22 (P5/32-large)
|
44
|
+
|
45
|
+
- [[16, 19, 22], 1, v10Detect, [nc]] # Detect(P3, P4, P5)
|