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,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# YOLOv10x 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
|
+
x: [1.00, 1.25, 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, C2fCIB, [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,49 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv3-SPP object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov3
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
depth_multiple: 1.0 # model depth multiple
|
10
|
+
width_multiple: 1.0 # layer channel multiple
|
11
|
+
|
12
|
+
# darknet53 backbone
|
13
|
+
backbone:
|
14
|
+
# [from, number, module, args]
|
15
|
+
- [-1, 1, Conv, [32, 3, 1]] # 0
|
16
|
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
|
17
|
+
- [-1, 1, Bottleneck, [64]]
|
18
|
+
- [-1, 1, Conv, [128, 3, 2]] # 3-P2/4
|
19
|
+
- [-1, 2, Bottleneck, [128]]
|
20
|
+
- [-1, 1, Conv, [256, 3, 2]] # 5-P3/8
|
21
|
+
- [-1, 8, Bottleneck, [256]]
|
22
|
+
- [-1, 1, Conv, [512, 3, 2]] # 7-P4/16
|
23
|
+
- [-1, 8, Bottleneck, [512]]
|
24
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 9-P5/32
|
25
|
+
- [-1, 4, Bottleneck, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv3-SPP head
|
28
|
+
head:
|
29
|
+
- [-1, 1, Bottleneck, [1024, False]]
|
30
|
+
- [-1, 1, SPP, [512, [5, 9, 13]]]
|
31
|
+
- [-1, 1, Conv, [1024, 3, 1]]
|
32
|
+
- [-1, 1, Conv, [512, 1, 1]]
|
33
|
+
- [-1, 1, Conv, [1024, 3, 1]] # 15 (P5/32-large)
|
34
|
+
|
35
|
+
- [-2, 1, Conv, [256, 1, 1]]
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P4
|
38
|
+
- [-1, 1, Bottleneck, [512, False]]
|
39
|
+
- [-1, 1, Bottleneck, [512, False]]
|
40
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
41
|
+
- [-1, 1, Conv, [512, 3, 1]] # 22 (P4/16-medium)
|
42
|
+
|
43
|
+
- [-2, 1, Conv, [128, 1, 1]]
|
44
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
45
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P3
|
46
|
+
- [-1, 1, Bottleneck, [256, False]]
|
47
|
+
- [-1, 2, Bottleneck, [256, False]] # 27 (P3/8-small)
|
48
|
+
|
49
|
+
- [[27, 22, 15], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv3-tiiny object detection model with P4/16 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov3
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
depth_multiple: 1.0 # model depth multiple
|
10
|
+
width_multiple: 1.0 # layer channel multiple
|
11
|
+
|
12
|
+
# YOLOv3-tiny backbone
|
13
|
+
backbone:
|
14
|
+
# [from, number, module, args]
|
15
|
+
- [-1, 1, Conv, [16, 3, 1]] # 0
|
16
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 1-P1/2
|
17
|
+
- [-1, 1, Conv, [32, 3, 1]]
|
18
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 3-P2/4
|
19
|
+
- [-1, 1, Conv, [64, 3, 1]]
|
20
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 5-P3/8
|
21
|
+
- [-1, 1, Conv, [128, 3, 1]]
|
22
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 7-P4/16
|
23
|
+
- [-1, 1, Conv, [256, 3, 1]]
|
24
|
+
- [-1, 1, nn.MaxPool2d, [2, 2, 0]] # 9-P5/32
|
25
|
+
- [-1, 1, Conv, [512, 3, 1]]
|
26
|
+
- [-1, 1, nn.ZeroPad2d, [[0, 1, 0, 1]]] # 11
|
27
|
+
- [-1, 1, nn.MaxPool2d, [2, 1, 0]] # 12
|
28
|
+
|
29
|
+
# YOLOv3-tiny head
|
30
|
+
head:
|
31
|
+
- [-1, 1, Conv, [1024, 3, 1]]
|
32
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
33
|
+
- [-1, 1, Conv, [512, 3, 1]] # 15 (P5/32-large)
|
34
|
+
|
35
|
+
- [-2, 1, Conv, [128, 1, 1]]
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P4
|
38
|
+
- [-1, 1, Conv, [256, 3, 1]] # 19 (P4/16-medium)
|
39
|
+
|
40
|
+
- [[19, 15], 1, Detect, [nc]] # Detect(P4, P5)
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv3 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov3
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
depth_multiple: 1.0 # model depth multiple
|
10
|
+
width_multiple: 1.0 # layer channel multiple
|
11
|
+
|
12
|
+
# darknet53 backbone
|
13
|
+
backbone:
|
14
|
+
# [from, number, module, args]
|
15
|
+
- [-1, 1, Conv, [32, 3, 1]] # 0
|
16
|
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
|
17
|
+
- [-1, 1, Bottleneck, [64]]
|
18
|
+
- [-1, 1, Conv, [128, 3, 2]] # 3-P2/4
|
19
|
+
- [-1, 2, Bottleneck, [128]]
|
20
|
+
- [-1, 1, Conv, [256, 3, 2]] # 5-P3/8
|
21
|
+
- [-1, 8, Bottleneck, [256]]
|
22
|
+
- [-1, 1, Conv, [512, 3, 2]] # 7-P4/16
|
23
|
+
- [-1, 8, Bottleneck, [512]]
|
24
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 9-P5/32
|
25
|
+
- [-1, 4, Bottleneck, [1024]] # 10
|
26
|
+
|
27
|
+
# YOLOv3 head
|
28
|
+
head:
|
29
|
+
- [-1, 1, Bottleneck, [1024, False]]
|
30
|
+
- [-1, 1, Conv, [512, 1, 1]]
|
31
|
+
- [-1, 1, Conv, [1024, 3, 1]]
|
32
|
+
- [-1, 1, Conv, [512, 1, 1]]
|
33
|
+
- [-1, 1, Conv, [1024, 3, 1]] # 15 (P5/32-large)
|
34
|
+
|
35
|
+
- [-2, 1, Conv, [256, 1, 1]]
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P4
|
38
|
+
- [-1, 1, Bottleneck, [512, False]]
|
39
|
+
- [-1, 1, Bottleneck, [512, False]]
|
40
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
41
|
+
- [-1, 1, Conv, [512, 3, 1]] # 22 (P4/16-medium)
|
42
|
+
|
43
|
+
- [-2, 1, Conv, [128, 1, 1]]
|
44
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
45
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P3
|
46
|
+
- [-1, 1, Bottleneck, [256, False]]
|
47
|
+
- [-1, 2, Bottleneck, [256, False]] # 27 (P3/8-small)
|
48
|
+
|
49
|
+
- [[27, 22, 15], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv5 object detection model with P3/8 - P6/64 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov5
|
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=yolov5n-p6.yaml' will call yolov5-p6.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.33, 0.25, 1024]
|
12
|
+
s: [0.33, 0.50, 1024]
|
13
|
+
m: [0.67, 0.75, 1024]
|
14
|
+
l: [1.00, 1.00, 1024]
|
15
|
+
x: [1.33, 1.25, 1024]
|
16
|
+
|
17
|
+
# YOLOv5 v6.0 backbone
|
18
|
+
backbone:
|
19
|
+
# [from, number, module, args]
|
20
|
+
- [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
|
21
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
22
|
+
- [-1, 3, C3, [128]]
|
23
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
24
|
+
- [-1, 6, C3, [256]]
|
25
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
26
|
+
- [-1, 9, C3, [512]]
|
27
|
+
- [-1, 1, Conv, [768, 3, 2]] # 7-P5/32
|
28
|
+
- [-1, 3, C3, [768]]
|
29
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 9-P6/64
|
30
|
+
- [-1, 3, C3, [1024]]
|
31
|
+
- [-1, 1, SPPF, [1024, 5]] # 11
|
32
|
+
|
33
|
+
# YOLOv5 v6.0 head
|
34
|
+
head:
|
35
|
+
- [-1, 1, Conv, [768, 1, 1]]
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P5
|
38
|
+
- [-1, 3, C3, [768, False]] # 15
|
39
|
+
|
40
|
+
- [-1, 1, Conv, [512, 1, 1]]
|
41
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
42
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
43
|
+
- [-1, 3, C3, [512, False]] # 19
|
44
|
+
|
45
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
46
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
47
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
48
|
+
- [-1, 3, C3, [256, False]] # 23 (P3/8-small)
|
49
|
+
|
50
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
51
|
+
- [[-1, 20], 1, Concat, [1]] # cat head P4
|
52
|
+
- [-1, 3, C3, [512, False]] # 26 (P4/16-medium)
|
53
|
+
|
54
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
55
|
+
- [[-1, 16], 1, Concat, [1]] # cat head P5
|
56
|
+
- [-1, 3, C3, [768, False]] # 29 (P5/32-large)
|
57
|
+
|
58
|
+
- [-1, 1, Conv, [768, 3, 2]]
|
59
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P6
|
60
|
+
- [-1, 3, C3, [1024, False]] # 32 (P6/64-xlarge)
|
61
|
+
|
62
|
+
- [[23, 26, 29, 32], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv5 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov5
|
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=yolov5n.yaml' will call yolov5.yaml with scale 'n'
|
10
|
+
# [depth, width, max_channels]
|
11
|
+
n: [0.33, 0.25, 1024]
|
12
|
+
s: [0.33, 0.50, 1024]
|
13
|
+
m: [0.67, 0.75, 1024]
|
14
|
+
l: [1.00, 1.00, 1024]
|
15
|
+
x: [1.33, 1.25, 1024]
|
16
|
+
|
17
|
+
# YOLOv5 v6.0 backbone
|
18
|
+
backbone:
|
19
|
+
# [from, number, module, args]
|
20
|
+
- [-1, 1, Conv, [64, 6, 2, 2]] # 0-P1/2
|
21
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
22
|
+
- [-1, 3, C3, [128]]
|
23
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
24
|
+
- [-1, 6, C3, [256]]
|
25
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
26
|
+
- [-1, 9, C3, [512]]
|
27
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
28
|
+
- [-1, 3, C3, [1024]]
|
29
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
30
|
+
|
31
|
+
# YOLOv5 v6.0 head
|
32
|
+
head:
|
33
|
+
- [-1, 1, Conv, [512, 1, 1]]
|
34
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
35
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
36
|
+
- [-1, 3, C3, [512, False]] # 13
|
37
|
+
|
38
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
39
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
40
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
41
|
+
- [-1, 3, C3, [256, False]] # 17 (P3/8-small)
|
42
|
+
|
43
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
44
|
+
- [[-1, 14], 1, Concat, [1]] # cat head P4
|
45
|
+
- [-1, 3, C3, [512, False]] # 20 (P4/16-medium)
|
46
|
+
|
47
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
48
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
49
|
+
- [-1, 3, C3, [1024, False]] # 23 (P5/32-large)
|
50
|
+
|
51
|
+
- [[17, 20, 23], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Meituan YOLOv6 object detection model with P3/8 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov6
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 80 # number of classes
|
9
|
+
activation: torch.nn.ReLU() # (optional) model default activation function
|
10
|
+
scales: # model compound scaling constants, i.e. 'model=yolov6n.yaml' will call yolov8.yaml with scale 'n'
|
11
|
+
# [depth, width, max_channels]
|
12
|
+
n: [0.33, 0.25, 1024]
|
13
|
+
s: [0.33, 0.50, 1024]
|
14
|
+
m: [0.67, 0.75, 768]
|
15
|
+
l: [1.00, 1.00, 512]
|
16
|
+
x: [1.00, 1.25, 512]
|
17
|
+
|
18
|
+
# YOLOv6-3.0s 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, 6, Conv, [128, 3, 1]]
|
24
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
25
|
+
- [-1, 12, Conv, [256, 3, 1]]
|
26
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
27
|
+
- [-1, 18, Conv, [512, 3, 1]]
|
28
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
29
|
+
- [-1, 6, Conv, [1024, 3, 1]]
|
30
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
31
|
+
|
32
|
+
# YOLOv6-3.0s head
|
33
|
+
head:
|
34
|
+
- [-1, 1, Conv, [256, 1, 1]]
|
35
|
+
- [-1, 1, nn.ConvTranspose2d, [256, 2, 2, 0]]
|
36
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
37
|
+
- [-1, 1, Conv, [256, 3, 1]]
|
38
|
+
- [-1, 9, Conv, [256, 3, 1]] # 14
|
39
|
+
|
40
|
+
- [-1, 1, Conv, [128, 1, 1]]
|
41
|
+
- [-1, 1, nn.ConvTranspose2d, [128, 2, 2, 0]]
|
42
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
43
|
+
- [-1, 1, Conv, [128, 3, 1]]
|
44
|
+
- [-1, 9, Conv, [128, 3, 1]] # 19
|
45
|
+
|
46
|
+
- [-1, 1, Conv, [128, 3, 2]]
|
47
|
+
- [[-1, 15], 1, Concat, [1]] # cat head P4
|
48
|
+
- [-1, 1, Conv, [256, 3, 1]]
|
49
|
+
- [-1, 9, Conv, [256, 3, 1]] # 23
|
50
|
+
|
51
|
+
- [-1, 1, Conv, [256, 3, 2]]
|
52
|
+
- [[-1, 10], 1, Concat, [1]] # cat head P5
|
53
|
+
- [-1, 1, Conv, [512, 3, 1]]
|
54
|
+
- [-1, 9, Conv, [512, 3, 1]] # 27
|
55
|
+
|
56
|
+
- [[19, 23, 27], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Parameters
|
4
|
+
nc: 80 # number of classes
|
5
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
6
|
+
# [depth, width, max_channels]
|
7
|
+
n: [0.33, 0.25, 1024] # YOLOv8n-world summary: 161 layers, 4204111 parameters, 4204095 gradients, 39.6 GFLOPs
|
8
|
+
s: [0.33, 0.50, 1024] # YOLOv8s-world summary: 161 layers, 13383496 parameters, 13383480 gradients, 71.5 GFLOPs
|
9
|
+
m: [0.67, 0.75, 768] # YOLOv8m-world summary: 201 layers, 29065310 parameters, 29065294 gradients, 131.4 GFLOPs
|
10
|
+
l: [1.00, 1.00, 512] # YOLOv8l-world summary: 241 layers, 47553970 parameters, 47553954 gradients, 225.6 GFLOPs
|
11
|
+
x: [1.00, 1.25, 512] # YOLOv8x-world summary: 241 layers, 73690217 parameters, 73690201 gradients, 330.8 GFLOPs
|
12
|
+
|
13
|
+
# YOLOv8.0n backbone
|
14
|
+
backbone:
|
15
|
+
# [from, repeats, module, args]
|
16
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
17
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
18
|
+
- [-1, 3, C2f, [128, True]]
|
19
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
20
|
+
- [-1, 6, C2f, [256, True]]
|
21
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
22
|
+
- [-1, 6, C2f, [512, True]]
|
23
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
24
|
+
- [-1, 3, C2f, [1024, True]]
|
25
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
26
|
+
|
27
|
+
# YOLOv8.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]] # 12
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 15 (P3/8-small)
|
36
|
+
|
37
|
+
- [15, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2f, [512]] # 18 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
42
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2f, [1024]] # 21 (P5/32-large)
|
44
|
+
|
45
|
+
- [[15, 18, 21], 1, YOLOESegment, [nc, 32, 256, 512, True]] # Segment(P3, P4, P5)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Parameters
|
4
|
+
nc: 80 # number of classes
|
5
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
6
|
+
# [depth, width, max_channels]
|
7
|
+
n: [0.33, 0.25, 1024] # YOLOv8n-worldv2 summary: 148 layers, 3695183 parameters, 3695167 gradients, 19.5 GFLOPS
|
8
|
+
s: [0.33, 0.50, 1024] # YOLOv8s-worldv2 summary: 148 layers, 12759880 parameters, 12759864 gradients, 51.0 GFLOPS
|
9
|
+
m: [0.67, 0.75, 768] # YOLOv8m-worldv2 summary: 188 layers, 28376158 parameters, 28376142 gradients, 110.5 GFLOPS
|
10
|
+
l: [1.00, 1.00, 512] # YOLOv8l-worldv2 summary: 228 layers, 46832050 parameters, 46832034 gradients, 204.5 GFLOPS
|
11
|
+
x: [1.00, 1.25, 512] # YOLOv8x-worldv2 summary: 228 layers, 72886377 parameters, 72886361 gradients, 309.3 GFLOPS
|
12
|
+
|
13
|
+
# YOLOv8.0n backbone
|
14
|
+
backbone:
|
15
|
+
# [from, repeats, module, args]
|
16
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
17
|
+
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
18
|
+
- [-1, 3, C2f, [128, True]]
|
19
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
20
|
+
- [-1, 6, C2f, [256, True]]
|
21
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
22
|
+
- [-1, 6, C2f, [512, True]]
|
23
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
24
|
+
- [-1, 3, C2f, [1024, True]]
|
25
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
26
|
+
|
27
|
+
# YOLOv8.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]] # 12
|
32
|
+
|
33
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
34
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
35
|
+
- [-1, 3, C2f, [256]] # 15 (P3/8-small)
|
36
|
+
|
37
|
+
- [15, 1, Conv, [256, 3, 2]]
|
38
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
39
|
+
- [-1, 3, C2f, [512]] # 18 (P4/16-medium)
|
40
|
+
|
41
|
+
- [-1, 1, Conv, [512, 3, 2]]
|
42
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
43
|
+
- [-1, 3, C2f, [1024]] # 21 (P5/32-large)
|
44
|
+
|
45
|
+
- [[15, 18, 21], 1, YOLOEDetect, [nc, 512, True]] # Detect(P3, P4, P5)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-cls image classification model with ResNet101 backbone
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/classify
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 1000 # 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
|
+
n: [0.33, 0.25, 1024]
|
12
|
+
s: [0.33, 0.50, 1024]
|
13
|
+
m: [0.67, 0.75, 1024]
|
14
|
+
l: [1.00, 1.00, 1024]
|
15
|
+
x: [1.00, 1.25, 1024]
|
16
|
+
|
17
|
+
# YOLOv8.0n backbone
|
18
|
+
backbone:
|
19
|
+
# [from, repeats, module, args]
|
20
|
+
- [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0-P1/2
|
21
|
+
- [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1-P2/4
|
22
|
+
- [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2-P3/8
|
23
|
+
- [-1, 1, ResNetLayer, [512, 256, 2, False, 23]] # 3-P4/16
|
24
|
+
- [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4-P5/32
|
25
|
+
|
26
|
+
# YOLOv8.0n head
|
27
|
+
head:
|
28
|
+
- [-1, 1, Classify, [nc]] # Classify
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-cls image classification model with ResNet50 backbone
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/classify
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 1000 # 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
|
+
n: [0.33, 0.25, 1024]
|
12
|
+
s: [0.33, 0.50, 1024]
|
13
|
+
m: [0.67, 0.75, 1024]
|
14
|
+
l: [1.00, 1.00, 1024]
|
15
|
+
x: [1.00, 1.25, 1024]
|
16
|
+
|
17
|
+
# YOLOv8.0n backbone
|
18
|
+
backbone:
|
19
|
+
# [from, repeats, module, args]
|
20
|
+
- [-1, 1, ResNetLayer, [3, 64, 1, True, 1]] # 0-P1/2
|
21
|
+
- [-1, 1, ResNetLayer, [64, 64, 1, False, 3]] # 1-P2/4
|
22
|
+
- [-1, 1, ResNetLayer, [256, 128, 2, False, 4]] # 2-P3/8
|
23
|
+
- [-1, 1, ResNetLayer, [512, 256, 2, False, 6]] # 3-P4/16
|
24
|
+
- [-1, 1, ResNetLayer, [1024, 512, 2, False, 3]] # 4-P5/32
|
25
|
+
|
26
|
+
# YOLOv8.0n head
|
27
|
+
head:
|
28
|
+
- [-1, 1, Classify, [nc]] # Classify
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8-cls image classification model with YOLO backbone
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/classify
|
6
|
+
|
7
|
+
# Parameters
|
8
|
+
nc: 1000 # 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
|
+
n: [0.33, 0.25, 1024]
|
12
|
+
s: [0.33, 0.50, 1024]
|
13
|
+
m: [0.67, 0.75, 1024]
|
14
|
+
l: [1.00, 1.00, 1024]
|
15
|
+
x: [1.00, 1.25, 1024]
|
16
|
+
|
17
|
+
# YOLOv8.0n 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, 3, C2f, [128, True]]
|
23
|
+
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
24
|
+
- [-1, 6, C2f, [256, True]]
|
25
|
+
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
26
|
+
- [-1, 6, C2f, [512, True]]
|
27
|
+
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
28
|
+
- [-1, 3, C2f, [1024, True]]
|
29
|
+
|
30
|
+
# YOLOv8.0n head
|
31
|
+
head:
|
32
|
+
- [-1, 1, Classify, [nc]] # Classify
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P2/4 - P5/32 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
# Employs Ghost convolutions and modules proposed in Huawei's GhostNet in https://arxiv.org/abs/1911.11907v2
|
7
|
+
|
8
|
+
# Parameters
|
9
|
+
nc: 80 # number of classes
|
10
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n.yaml' will call yolov8.yaml with scale 'n'
|
11
|
+
# [depth, width, max_channels]
|
12
|
+
n: [0.33, 0.25, 1024] # YOLOv8n-ghost-p2 summary: 290 layers, 2033944 parameters, 2033928 gradients, 13.8 GFLOPs
|
13
|
+
s: [0.33, 0.50, 1024] # YOLOv8s-ghost-p2 summary: 290 layers, 5562080 parameters, 5562064 gradients, 25.1 GFLOPs
|
14
|
+
m: [0.67, 0.75, 768] # YOLOv8m-ghost-p2 summary: 434 layers, 9031728 parameters, 9031712 gradients, 42.8 GFLOPs
|
15
|
+
l: [1.00, 1.00, 512] # YOLOv8l-ghost-p2 summary: 578 layers, 12214448 parameters, 12214432 gradients, 69.1 GFLOPs
|
16
|
+
x: [1.00, 1.25, 512] # YOLOv8x-ghost-p2 summary: 578 layers, 18664776 parameters, 18664760 gradients, 103.3 GFLOPs
|
17
|
+
|
18
|
+
# YOLOv8.0-ghost backbone
|
19
|
+
backbone:
|
20
|
+
# [from, repeats, module, args]
|
21
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
22
|
+
- [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
|
23
|
+
- [-1, 3, C3Ghost, [128, True]]
|
24
|
+
- [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
|
25
|
+
- [-1, 6, C3Ghost, [256, True]]
|
26
|
+
- [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
|
27
|
+
- [-1, 6, C3Ghost, [512, True]]
|
28
|
+
- [-1, 1, GhostConv, [1024, 3, 2]] # 7-P5/32
|
29
|
+
- [-1, 3, C3Ghost, [1024, True]]
|
30
|
+
- [-1, 1, SPPF, [1024, 5]] # 9
|
31
|
+
|
32
|
+
# YOLOv8.0-ghost-p2 head
|
33
|
+
head:
|
34
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
35
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
36
|
+
- [-1, 3, C3Ghost, [512]] # 12
|
37
|
+
|
38
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
39
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
40
|
+
- [-1, 3, C3Ghost, [256]] # 15 (P3/8-small)
|
41
|
+
|
42
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
43
|
+
- [[-1, 2], 1, Concat, [1]] # cat backbone P2
|
44
|
+
- [-1, 3, C3Ghost, [128]] # 18 (P2/4-xsmall)
|
45
|
+
|
46
|
+
- [-1, 1, GhostConv, [128, 3, 2]]
|
47
|
+
- [[-1, 15], 1, Concat, [1]] # cat head P3
|
48
|
+
- [-1, 3, C3Ghost, [256]] # 21 (P3/8-small)
|
49
|
+
|
50
|
+
- [-1, 1, GhostConv, [256, 3, 2]]
|
51
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
52
|
+
- [-1, 3, C3Ghost, [512]] # 24 (P4/16-medium)
|
53
|
+
|
54
|
+
- [-1, 1, GhostConv, [512, 3, 2]]
|
55
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
56
|
+
- [-1, 3, C3Ghost, [1024]] # 27 (P5/32-large)
|
57
|
+
|
58
|
+
- [[18, 21, 24, 27], 1, Detect, [nc]] # Detect(P2, P3, P4, P5)
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# Ultralytics YOLOv8 object detection model with P3/8 - P6/64 outputs
|
4
|
+
# Model docs: https://docs.ultralytics.com/models/yolov8
|
5
|
+
# Task docs: https://docs.ultralytics.com/tasks/detect
|
6
|
+
# Employs Ghost convolutions and modules proposed in Huawei's GhostNet in https://arxiv.org/abs/1911.11907v2
|
7
|
+
|
8
|
+
# Parameters
|
9
|
+
nc: 80 # number of classes
|
10
|
+
scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will call yolov8-p6.yaml with scale 'n'
|
11
|
+
# [depth, width, max_channels]
|
12
|
+
n: [0.33, 0.25, 1024] # YOLOv8n-ghost-p6 summary: 312 layers, 2901100 parameters, 2901084 gradients, 5.8 GFLOPs
|
13
|
+
s: [0.33, 0.50, 1024] # YOLOv8s-ghost-p6 summary: 312 layers, 9520008 parameters, 9519992 gradients, 16.4 GFLOPs
|
14
|
+
m: [0.67, 0.75, 768] # YOLOv8m-ghost-p6 summary: 468 layers, 18002904 parameters, 18002888 gradients, 34.4 GFLOPs
|
15
|
+
l: [1.00, 1.00, 512] # YOLOv8l-ghost-p6 summary: 624 layers, 21227584 parameters, 21227568 gradients, 55.3 GFLOPs
|
16
|
+
x: [1.00, 1.25, 512] # YOLOv8x-ghost-p6 summary: 624 layers, 33057852 parameters, 33057836 gradients, 85.7 GFLOPs
|
17
|
+
|
18
|
+
# YOLOv8.0-ghost backbone
|
19
|
+
backbone:
|
20
|
+
# [from, repeats, module, args]
|
21
|
+
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
22
|
+
- [-1, 1, GhostConv, [128, 3, 2]] # 1-P2/4
|
23
|
+
- [-1, 3, C3Ghost, [128, True]]
|
24
|
+
- [-1, 1, GhostConv, [256, 3, 2]] # 3-P3/8
|
25
|
+
- [-1, 6, C3Ghost, [256, True]]
|
26
|
+
- [-1, 1, GhostConv, [512, 3, 2]] # 5-P4/16
|
27
|
+
- [-1, 6, C3Ghost, [512, True]]
|
28
|
+
- [-1, 1, GhostConv, [768, 3, 2]] # 7-P5/32
|
29
|
+
- [-1, 3, C3Ghost, [768, True]]
|
30
|
+
- [-1, 1, GhostConv, [1024, 3, 2]] # 9-P6/64
|
31
|
+
- [-1, 3, C3Ghost, [1024, True]]
|
32
|
+
- [-1, 1, SPPF, [1024, 5]] # 11
|
33
|
+
|
34
|
+
# YOLOv8.0-ghost-p6 head
|
35
|
+
head:
|
36
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
37
|
+
- [[-1, 8], 1, Concat, [1]] # cat backbone P5
|
38
|
+
- [-1, 3, C3Ghost, [768]] # 14
|
39
|
+
|
40
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
41
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
42
|
+
- [-1, 3, C3Ghost, [512]] # 17
|
43
|
+
|
44
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
45
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
46
|
+
- [-1, 3, C3Ghost, [256]] # 20 (P3/8-small)
|
47
|
+
|
48
|
+
- [-1, 1, GhostConv, [256, 3, 2]]
|
49
|
+
- [[-1, 17], 1, Concat, [1]] # cat head P4
|
50
|
+
- [-1, 3, C3Ghost, [512]] # 23 (P4/16-medium)
|
51
|
+
|
52
|
+
- [-1, 1, GhostConv, [512, 3, 2]]
|
53
|
+
- [[-1, 14], 1, Concat, [1]] # cat head P5
|
54
|
+
- [-1, 3, C3Ghost, [768]] # 26 (P5/32-large)
|
55
|
+
|
56
|
+
- [-1, 1, GhostConv, [768, 3, 2]]
|
57
|
+
- [[-1, 11], 1, Concat, [1]] # cat head P6
|
58
|
+
- [-1, 3, C3Ghost, [1024]] # 29 (P6/64-xlarge)
|
59
|
+
|
60
|
+
- [[20, 23, 26, 29], 1, Detect, [nc]] # Detect(P3, P4, P5, P6)
|