ultralytics 8.1.28__py3-none-any.whl → 8.3.62__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.
Files changed (247) hide show
  1. tests/__init__.py +22 -0
  2. tests/conftest.py +83 -0
  3. tests/test_cli.py +122 -0
  4. tests/test_cuda.py +155 -0
  5. tests/test_engine.py +131 -0
  6. tests/test_exports.py +216 -0
  7. tests/test_integrations.py +150 -0
  8. tests/test_python.py +615 -0
  9. tests/test_solutions.py +94 -0
  10. ultralytics/__init__.py +11 -8
  11. ultralytics/cfg/__init__.py +569 -131
  12. ultralytics/cfg/datasets/Argoverse.yaml +2 -1
  13. ultralytics/cfg/datasets/DOTAv1.5.yaml +3 -2
  14. ultralytics/cfg/datasets/DOTAv1.yaml +3 -2
  15. ultralytics/cfg/datasets/GlobalWheat2020.yaml +3 -2
  16. ultralytics/cfg/datasets/ImageNet.yaml +2 -1
  17. ultralytics/cfg/datasets/Objects365.yaml +5 -4
  18. ultralytics/cfg/datasets/SKU-110K.yaml +2 -1
  19. ultralytics/cfg/datasets/VOC.yaml +3 -2
  20. ultralytics/cfg/datasets/VisDrone.yaml +6 -5
  21. ultralytics/cfg/datasets/african-wildlife.yaml +25 -0
  22. ultralytics/cfg/datasets/brain-tumor.yaml +23 -0
  23. ultralytics/cfg/datasets/carparts-seg.yaml +3 -2
  24. ultralytics/cfg/datasets/coco-pose.yaml +7 -6
  25. ultralytics/cfg/datasets/coco.yaml +3 -2
  26. ultralytics/cfg/datasets/coco128-seg.yaml +4 -3
  27. ultralytics/cfg/datasets/coco128.yaml +4 -3
  28. ultralytics/cfg/datasets/coco8-pose.yaml +3 -2
  29. ultralytics/cfg/datasets/coco8-seg.yaml +3 -2
  30. ultralytics/cfg/datasets/coco8.yaml +3 -2
  31. ultralytics/cfg/datasets/crack-seg.yaml +3 -2
  32. ultralytics/cfg/datasets/dog-pose.yaml +24 -0
  33. ultralytics/cfg/datasets/dota8.yaml +3 -2
  34. ultralytics/cfg/datasets/hand-keypoints.yaml +26 -0
  35. ultralytics/cfg/datasets/lvis.yaml +1236 -0
  36. ultralytics/cfg/datasets/medical-pills.yaml +22 -0
  37. ultralytics/cfg/datasets/open-images-v7.yaml +2 -1
  38. ultralytics/cfg/datasets/package-seg.yaml +5 -4
  39. ultralytics/cfg/datasets/signature.yaml +21 -0
  40. ultralytics/cfg/datasets/tiger-pose.yaml +3 -2
  41. ultralytics/cfg/datasets/xView.yaml +2 -1
  42. ultralytics/cfg/default.yaml +14 -11
  43. ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +24 -0
  44. ultralytics/cfg/models/11/yolo11-cls.yaml +33 -0
  45. ultralytics/cfg/models/11/yolo11-obb.yaml +50 -0
  46. ultralytics/cfg/models/11/yolo11-pose.yaml +51 -0
  47. ultralytics/cfg/models/11/yolo11-seg.yaml +50 -0
  48. ultralytics/cfg/models/11/yolo11.yaml +50 -0
  49. ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +5 -2
  50. ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +5 -2
  51. ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +5 -2
  52. ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +5 -2
  53. ultralytics/cfg/models/v10/yolov10b.yaml +45 -0
  54. ultralytics/cfg/models/v10/yolov10l.yaml +45 -0
  55. ultralytics/cfg/models/v10/yolov10m.yaml +45 -0
  56. ultralytics/cfg/models/v10/yolov10n.yaml +45 -0
  57. ultralytics/cfg/models/v10/yolov10s.yaml +45 -0
  58. ultralytics/cfg/models/v10/yolov10x.yaml +45 -0
  59. ultralytics/cfg/models/v3/yolov3-spp.yaml +5 -2
  60. ultralytics/cfg/models/v3/yolov3-tiny.yaml +5 -2
  61. ultralytics/cfg/models/v3/yolov3.yaml +5 -2
  62. ultralytics/cfg/models/v5/yolov5-p6.yaml +5 -2
  63. ultralytics/cfg/models/v5/yolov5.yaml +5 -2
  64. ultralytics/cfg/models/v6/yolov6.yaml +5 -2
  65. ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +5 -2
  66. ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +5 -2
  67. ultralytics/cfg/models/v8/yolov8-cls.yaml +5 -2
  68. ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +6 -2
  69. ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +6 -2
  70. ultralytics/cfg/models/v8/yolov8-ghost.yaml +5 -2
  71. ultralytics/cfg/models/v8/yolov8-obb.yaml +5 -2
  72. ultralytics/cfg/models/v8/yolov8-p2.yaml +5 -2
  73. ultralytics/cfg/models/v8/yolov8-p6.yaml +10 -7
  74. ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +5 -2
  75. ultralytics/cfg/models/v8/yolov8-pose.yaml +5 -2
  76. ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +5 -2
  77. ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +5 -2
  78. ultralytics/cfg/models/v8/yolov8-seg.yaml +5 -2
  79. ultralytics/cfg/models/v8/yolov8-world.yaml +5 -2
  80. ultralytics/cfg/models/v8/yolov8-worldv2.yaml +5 -2
  81. ultralytics/cfg/models/v8/yolov8.yaml +5 -2
  82. ultralytics/cfg/models/v9/yolov9c-seg.yaml +41 -0
  83. ultralytics/cfg/models/v9/yolov9c.yaml +30 -25
  84. ultralytics/cfg/models/v9/yolov9e-seg.yaml +64 -0
  85. ultralytics/cfg/models/v9/yolov9e.yaml +46 -42
  86. ultralytics/cfg/models/v9/yolov9m.yaml +41 -0
  87. ultralytics/cfg/models/v9/yolov9s.yaml +41 -0
  88. ultralytics/cfg/models/v9/yolov9t.yaml +41 -0
  89. ultralytics/cfg/solutions/default.yaml +24 -0
  90. ultralytics/cfg/trackers/botsort.yaml +8 -5
  91. ultralytics/cfg/trackers/bytetrack.yaml +8 -5
  92. ultralytics/data/__init__.py +14 -3
  93. ultralytics/data/annotator.py +37 -15
  94. ultralytics/data/augment.py +1783 -289
  95. ultralytics/data/base.py +62 -27
  96. ultralytics/data/build.py +36 -8
  97. ultralytics/data/converter.py +196 -36
  98. ultralytics/data/dataset.py +233 -94
  99. ultralytics/data/loaders.py +199 -96
  100. ultralytics/data/split_dota.py +39 -29
  101. ultralytics/data/utils.py +110 -40
  102. ultralytics/engine/__init__.py +1 -1
  103. ultralytics/engine/exporter.py +569 -242
  104. ultralytics/engine/model.py +604 -252
  105. ultralytics/engine/predictor.py +22 -11
  106. ultralytics/engine/results.py +1228 -218
  107. ultralytics/engine/trainer.py +190 -129
  108. ultralytics/engine/tuner.py +18 -18
  109. ultralytics/engine/validator.py +18 -15
  110. ultralytics/hub/__init__.py +31 -13
  111. ultralytics/hub/auth.py +11 -7
  112. ultralytics/hub/google/__init__.py +159 -0
  113. ultralytics/hub/session.py +128 -94
  114. ultralytics/hub/utils.py +20 -21
  115. ultralytics/models/__init__.py +4 -2
  116. ultralytics/models/fastsam/__init__.py +2 -3
  117. ultralytics/models/fastsam/model.py +26 -4
  118. ultralytics/models/fastsam/predict.py +127 -63
  119. ultralytics/models/fastsam/utils.py +1 -44
  120. ultralytics/models/fastsam/val.py +1 -1
  121. ultralytics/models/nas/__init__.py +1 -1
  122. ultralytics/models/nas/model.py +21 -10
  123. ultralytics/models/nas/predict.py +3 -6
  124. ultralytics/models/nas/val.py +4 -4
  125. ultralytics/models/rtdetr/__init__.py +1 -1
  126. ultralytics/models/rtdetr/model.py +1 -1
  127. ultralytics/models/rtdetr/predict.py +6 -8
  128. ultralytics/models/rtdetr/train.py +6 -2
  129. ultralytics/models/rtdetr/val.py +3 -3
  130. ultralytics/models/sam/__init__.py +3 -3
  131. ultralytics/models/sam/amg.py +29 -23
  132. ultralytics/models/sam/build.py +211 -13
  133. ultralytics/models/sam/model.py +91 -30
  134. ultralytics/models/sam/modules/__init__.py +1 -1
  135. ultralytics/models/sam/modules/blocks.py +1129 -0
  136. ultralytics/models/sam/modules/decoders.py +381 -53
  137. ultralytics/models/sam/modules/encoders.py +515 -324
  138. ultralytics/models/sam/modules/memory_attention.py +237 -0
  139. ultralytics/models/sam/modules/sam.py +969 -21
  140. ultralytics/models/sam/modules/tiny_encoder.py +425 -154
  141. ultralytics/models/sam/modules/transformer.py +159 -60
  142. ultralytics/models/sam/modules/utils.py +293 -0
  143. ultralytics/models/sam/predict.py +1263 -132
  144. ultralytics/models/utils/__init__.py +1 -1
  145. ultralytics/models/utils/loss.py +36 -24
  146. ultralytics/models/utils/ops.py +3 -7
  147. ultralytics/models/yolo/__init__.py +3 -3
  148. ultralytics/models/yolo/classify/__init__.py +1 -1
  149. ultralytics/models/yolo/classify/predict.py +7 -8
  150. ultralytics/models/yolo/classify/train.py +17 -22
  151. ultralytics/models/yolo/classify/val.py +8 -4
  152. ultralytics/models/yolo/detect/__init__.py +1 -1
  153. ultralytics/models/yolo/detect/predict.py +3 -5
  154. ultralytics/models/yolo/detect/train.py +11 -4
  155. ultralytics/models/yolo/detect/val.py +90 -52
  156. ultralytics/models/yolo/model.py +14 -9
  157. ultralytics/models/yolo/obb/__init__.py +1 -1
  158. ultralytics/models/yolo/obb/predict.py +2 -2
  159. ultralytics/models/yolo/obb/train.py +5 -3
  160. ultralytics/models/yolo/obb/val.py +41 -23
  161. ultralytics/models/yolo/pose/__init__.py +1 -1
  162. ultralytics/models/yolo/pose/predict.py +3 -5
  163. ultralytics/models/yolo/pose/train.py +2 -2
  164. ultralytics/models/yolo/pose/val.py +51 -17
  165. ultralytics/models/yolo/segment/__init__.py +1 -1
  166. ultralytics/models/yolo/segment/predict.py +3 -5
  167. ultralytics/models/yolo/segment/train.py +2 -2
  168. ultralytics/models/yolo/segment/val.py +60 -19
  169. ultralytics/models/yolo/world/__init__.py +5 -0
  170. ultralytics/models/yolo/world/train.py +92 -0
  171. ultralytics/models/yolo/world/train_world.py +109 -0
  172. ultralytics/nn/__init__.py +1 -1
  173. ultralytics/nn/autobackend.py +228 -93
  174. ultralytics/nn/modules/__init__.py +39 -14
  175. ultralytics/nn/modules/activation.py +21 -0
  176. ultralytics/nn/modules/block.py +527 -67
  177. ultralytics/nn/modules/conv.py +24 -7
  178. ultralytics/nn/modules/head.py +177 -34
  179. ultralytics/nn/modules/transformer.py +6 -5
  180. ultralytics/nn/modules/utils.py +1 -2
  181. ultralytics/nn/tasks.py +225 -77
  182. ultralytics/solutions/__init__.py +30 -1
  183. ultralytics/solutions/ai_gym.py +96 -143
  184. ultralytics/solutions/analytics.py +247 -0
  185. ultralytics/solutions/distance_calculation.py +78 -135
  186. ultralytics/solutions/heatmap.py +93 -247
  187. ultralytics/solutions/object_counter.py +184 -259
  188. ultralytics/solutions/parking_management.py +246 -0
  189. ultralytics/solutions/queue_management.py +112 -0
  190. ultralytics/solutions/region_counter.py +116 -0
  191. ultralytics/solutions/security_alarm.py +144 -0
  192. ultralytics/solutions/solutions.py +178 -0
  193. ultralytics/solutions/speed_estimation.py +86 -174
  194. ultralytics/solutions/streamlit_inference.py +190 -0
  195. ultralytics/solutions/trackzone.py +68 -0
  196. ultralytics/trackers/__init__.py +1 -1
  197. ultralytics/trackers/basetrack.py +32 -13
  198. ultralytics/trackers/bot_sort.py +61 -28
  199. ultralytics/trackers/byte_tracker.py +83 -51
  200. ultralytics/trackers/track.py +21 -6
  201. ultralytics/trackers/utils/__init__.py +1 -1
  202. ultralytics/trackers/utils/gmc.py +62 -48
  203. ultralytics/trackers/utils/kalman_filter.py +166 -35
  204. ultralytics/trackers/utils/matching.py +40 -21
  205. ultralytics/utils/__init__.py +511 -239
  206. ultralytics/utils/autobatch.py +40 -22
  207. ultralytics/utils/benchmarks.py +266 -85
  208. ultralytics/utils/callbacks/__init__.py +1 -1
  209. ultralytics/utils/callbacks/base.py +1 -3
  210. ultralytics/utils/callbacks/clearml.py +7 -6
  211. ultralytics/utils/callbacks/comet.py +39 -17
  212. ultralytics/utils/callbacks/dvc.py +1 -1
  213. ultralytics/utils/callbacks/hub.py +16 -16
  214. ultralytics/utils/callbacks/mlflow.py +28 -24
  215. ultralytics/utils/callbacks/neptune.py +6 -2
  216. ultralytics/utils/callbacks/raytune.py +3 -4
  217. ultralytics/utils/callbacks/tensorboard.py +18 -18
  218. ultralytics/utils/callbacks/wb.py +27 -20
  219. ultralytics/utils/checks.py +160 -100
  220. ultralytics/utils/dist.py +2 -1
  221. ultralytics/utils/downloads.py +44 -37
  222. ultralytics/utils/errors.py +1 -1
  223. ultralytics/utils/files.py +72 -38
  224. ultralytics/utils/instance.py +41 -19
  225. ultralytics/utils/loss.py +84 -56
  226. ultralytics/utils/metrics.py +61 -56
  227. ultralytics/utils/ops.py +94 -89
  228. ultralytics/utils/patches.py +30 -14
  229. ultralytics/utils/plotting.py +600 -269
  230. ultralytics/utils/tal.py +67 -26
  231. ultralytics/utils/torch_utils.py +302 -102
  232. ultralytics/utils/triton.py +2 -1
  233. ultralytics/utils/tuner.py +21 -12
  234. ultralytics-8.3.62.dist-info/METADATA +370 -0
  235. ultralytics-8.3.62.dist-info/RECORD +241 -0
  236. {ultralytics-8.1.28.dist-info → ultralytics-8.3.62.dist-info}/WHEEL +1 -1
  237. ultralytics/data/explorer/__init__.py +0 -5
  238. ultralytics/data/explorer/explorer.py +0 -472
  239. ultralytics/data/explorer/gui/__init__.py +0 -1
  240. ultralytics/data/explorer/gui/dash.py +0 -268
  241. ultralytics/data/explorer/utils.py +0 -166
  242. ultralytics/models/fastsam/prompt.py +0 -357
  243. ultralytics-8.1.28.dist-info/METADATA +0 -373
  244. ultralytics-8.1.28.dist-info/RECORD +0 -197
  245. {ultralytics-8.1.28.dist-info → ultralytics-8.3.62.dist-info}/LICENSE +0 -0
  246. {ultralytics-8.1.28.dist-info → ultralytics-8.3.62.dist-info}/entry_points.txt +0 -0
  247. {ultralytics-8.1.28.dist-info → ultralytics-8.3.62.dist-info}/top_level.txt +0 -0
@@ -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)
@@ -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)
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv3-SPP object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv3-tiny object detection model with P4-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv3 object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov3
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv5 object detection model with P3-P6 outputs. For details see https://docs.ultralytics.com/models/yolov5
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv5 object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/models/yolov5
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv6 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/models/yolov6
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
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
3
6
 
4
7
  # Parameters
5
8
  nc: 1000 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
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
3
6
 
4
7
  # Parameters
5
8
  nc: 1000 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
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
3
6
 
4
7
  # Parameters
5
8
  nc: 1000 # number of classes
@@ -1,5 +1,9 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 object detection model with P2-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
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
3
7
 
4
8
  # Parameters
5
9
  nc: 80 # number of classes
@@ -1,5 +1,9 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 object detection model with P3-P6 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
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
3
7
 
4
8
  # Parameters
5
9
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8 object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov8
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
3
6
  # Employs Ghost convolutions and modules proposed in Huawei's GhostNet in https://arxiv.org/abs/1911.11907v2
4
7
 
5
8
  # Parameters
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 Oriented Bounding Boxes (OBB) model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-obb Oriented Bounding Boxes (OBB) model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov8
5
+ # Task docs: https://docs.ultralytics.com/tasks/obb
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 object detection model with P2-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,15 +1,18 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 object detection model with P3-P6 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
6
9
  scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will call yolov8-p6.yaml with scale 'n'
7
10
  # [depth, width, max_channels]
8
- n: [0.33, 0.25, 1024]
9
- s: [0.33, 0.50, 1024]
10
- m: [0.67, 0.75, 768]
11
- l: [1.00, 1.00, 512]
12
- x: [1.00, 1.25, 512]
11
+ n: [0.33, 0.25, 1024] # YOLOv8n-p6 summary (fused): 220 layers, 4976656 parameters, 42560 gradients, 8.7 GFLOPs
12
+ s: [0.33, 0.50, 1024] # YOLOv8s-p6 summary (fused): 220 layers, 17897168 parameters, 57920 gradients, 28.5 GFLOPs
13
+ m: [0.67, 0.75, 768] # YOLOv8m-p6 summary (fused): 285 layers, 44862352 parameters, 78400 gradients, 83.1 GFLOPs
14
+ l: [1.00, 1.00, 512] # YOLOv8l-p6 summary (fused): 350 layers, 62351440 parameters, 98880 gradients, 167.3 GFLOPs
15
+ x: [1.00, 1.25, 512] # YOLOv8x-p6 summary (fused): 350 layers, 97382352 parameters, 123456 gradients, 261.1 GFLOPs
13
16
 
14
17
  # YOLOv8.0x6 backbone
15
18
  backbone:
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-pose-p6 keypoints/pose estimation model. For Usage examples see https://docs.ultralytics.com/tasks/pose
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-pose keypoints/pose estimation model with P3/8 - P6/64 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov8
5
+ # Task docs: https://docs.ultralytics.com/tasks/pose
3
6
 
4
7
  # Parameters
5
8
  nc: 1 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-pose keypoints/pose estimation model. For Usage examples see https://docs.ultralytics.com/tasks/pose
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-pose keypoints/pose estimation model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov8
5
+ # Task docs: https://docs.ultralytics.com/tasks/pose
3
6
 
4
7
  # Parameters
5
8
  nc: 1 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-RTDETR 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
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-seg-p6 instance segmentation model. For Usage examples see https://docs.ultralytics.com/tasks/segment
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-seg instance segmentation model with P3/8 - P6/64 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov8
5
+ # Task docs: https://docs.ultralytics.com/tasks/segment
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-seg instance segmentation model. For Usage examples see https://docs.ultralytics.com/tasks/segment
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-seg instance segmentation model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov8
5
+ # Task docs: https://docs.ultralytics.com/tasks/segment
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-World object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/tasks/detect
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-World hybrid object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolo-world
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8-World-v2 object detection model with P3-P5 outputs. For details see https://docs.ultralytics.com/tasks/detect
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8-Worldv2 hybrid object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolo-world
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -1,5 +1,8 @@
1
- # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # Ultralytics YOLOv8 object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov8
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
3
6
 
4
7
  # Parameters
5
8
  nc: 80 # number of classes
@@ -0,0 +1,41 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9c-seg instance segmentation model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/segment
6
+ # 654 layers, 27897120 parameters, 159.4 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
14
+ - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
15
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]] # 2
16
+ - [-1, 1, ADown, [256]] # 3-P3/8
17
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]] # 4
18
+ - [-1, 1, ADown, [512]] # 5-P4/16
19
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 6
20
+ - [-1, 1, ADown, [512]] # 7-P5/32
21
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 8
22
+ - [-1, 1, SPPELAN, [512, 256]] # 9
23
+
24
+ head:
25
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
26
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
27
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 12
28
+
29
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
31
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]] # 15 (P3/8-small)
32
+
33
+ - [-1, 1, ADown, [256]]
34
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
35
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 18 (P4/16-medium)
36
+
37
+ - [-1, 1, ADown, [512]]
38
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
39
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 21 (P5/32-large)
40
+
41
+ - [[15, 18, 21], 1, Segment, [nc, 32, 256]] # Segment(P3, P4, P5)
@@ -1,36 +1,41 @@
1
- # YOLOv9
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # parameters
4
- nc: 80 # number of classes
3
+ # YOLOv9c object detection model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/detect
6
+ # 618 layers, 25590912 parameters, 104.0 GFLOPs
5
7
 
6
- # gelan backbone
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
7
12
  backbone:
8
- - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
9
- - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
10
- - [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]] # 2
11
- - [-1, 1, ADown, [256]] # 3-P3/8
12
- - [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]] # 4
13
- - [-1, 1, ADown, [512]] # 5-P4/16
14
- - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 6
15
- - [-1, 1, ADown, [512]] # 7-P5/32
16
- - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 8
17
- - [-1, 1, SPPELAN, [512, 256]] # 9
13
+ - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
14
+ - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
15
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 1]] # 2
16
+ - [-1, 1, ADown, [256]] # 3-P3/8
17
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 1]] # 4
18
+ - [-1, 1, ADown, [512]] # 5-P4/16
19
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 6
20
+ - [-1, 1, ADown, [512]] # 7-P5/32
21
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 8
22
+ - [-1, 1, SPPELAN, [512, 256]] # 9
18
23
 
19
24
  head:
20
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
21
- - [[-1, 6], 1, Concat, [1]] # cat backbone P4
22
- - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 12
25
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
26
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
27
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 12
23
28
 
24
- - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
25
- - [[-1, 4], 1, Concat, [1]] # cat backbone P3
26
- - [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]] # 15 (P3/8-small)
29
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
31
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 1]] # 15 (P3/8-small)
27
32
 
28
33
  - [-1, 1, ADown, [256]]
29
- - [[-1, 12], 1, Concat, [1]] # cat head P4
30
- - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 18 (P4/16-medium)
34
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
35
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 18 (P4/16-medium)
31
36
 
32
37
  - [-1, 1, ADown, [512]]
33
- - [[-1, 9], 1, Concat, [1]] # cat head P5
34
- - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 21 (P5/32-large)
38
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
39
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 1]] # 21 (P5/32-large)
35
40
 
36
- - [[15, 18, 21], 1, Detect, [nc]] # DDetect(P3, P4, P5)
41
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -0,0 +1,64 @@
1
+ # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
+
3
+ # YOLOv9e-seg instance segmentation model with P3/8 - P5/32 outputs
4
+ # Model docs: https://docs.ultralytics.com/models/yolov9
5
+ # Task docs: https://docs.ultralytics.com/tasks/segment
6
+ # 1261 layers, 60512800 parameters, 248.4 GFLOPs
7
+
8
+ # Parameters
9
+ nc: 80 # number of classes
10
+
11
+ # GELAN backbone
12
+ backbone:
13
+ - [-1, 1, nn.Identity, []]
14
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
15
+ - [-1, 1, Conv, [128, 3, 2]] # 2-P2/4
16
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 3
17
+ - [-1, 1, ADown, [256]] # 4-P3/8
18
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 5
19
+ - [-1, 1, ADown, [512]] # 6-P4/16
20
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 7
21
+ - [-1, 1, ADown, [1024]] # 8-P5/32
22
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 9
23
+
24
+ - [1, 1, CBLinear, [[64]]] # 10
25
+ - [3, 1, CBLinear, [[64, 128]]] # 11
26
+ - [5, 1, CBLinear, [[64, 128, 256]]] # 12
27
+ - [7, 1, CBLinear, [[64, 128, 256, 512]]] # 13
28
+ - [9, 1, CBLinear, [[64, 128, 256, 512, 1024]]] # 14
29
+
30
+ - [0, 1, Conv, [64, 3, 2]] # 15-P1/2
31
+ - [[10, 11, 12, 13, 14, -1], 1, CBFuse, [[0, 0, 0, 0, 0]]] # 16
32
+ - [-1, 1, Conv, [128, 3, 2]] # 17-P2/4
33
+ - [[11, 12, 13, 14, -1], 1, CBFuse, [[1, 1, 1, 1]]] # 18
34
+ - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 19
35
+ - [-1, 1, ADown, [256]] # 20-P3/8
36
+ - [[12, 13, 14, -1], 1, CBFuse, [[2, 2, 2]]] # 21
37
+ - [-1, 1, RepNCSPELAN4, [512, 256, 128, 2]] # 22
38
+ - [-1, 1, ADown, [512]] # 23-P4/16
39
+ - [[13, 14, -1], 1, CBFuse, [[3, 3]]] # 24
40
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 25
41
+ - [-1, 1, ADown, [1024]] # 26-P5/32
42
+ - [[14, -1], 1, CBFuse, [[4]]] # 27
43
+ - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 28
44
+ - [-1, 1, SPPELAN, [512, 256]] # 29
45
+
46
+ # GELAN head
47
+ head:
48
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
49
+ - [[-1, 25], 1, Concat, [1]] # cat backbone P4
50
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 32
51
+
52
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
53
+ - [[-1, 22], 1, Concat, [1]] # cat backbone P3
54
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 2]] # 35 (P3/8-small)
55
+
56
+ - [-1, 1, ADown, [256]]
57
+ - [[-1, 32], 1, Concat, [1]] # cat head P4
58
+ - [-1, 1, RepNCSPELAN4, [512, 512, 256, 2]] # 38 (P4/16-medium)
59
+
60
+ - [-1, 1, ADown, [512]]
61
+ - [[-1, 29], 1, Concat, [1]] # cat head P5
62
+ - [-1, 1, RepNCSPELAN4, [512, 1024, 512, 2]] # 41 (P5/32-large)
63
+
64
+ - [[35, 38, 41], 1, Segment, [nc, 32, 256]] # Segment (P3, P4, P5)