ultralytics 8.2.34__tar.gz → 8.2.36__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ultralytics might be problematic. Click here for more details.

Files changed (226) hide show
  1. {ultralytics-8.2.34 → ultralytics-8.2.36}/PKG-INFO +7 -7
  2. {ultralytics-8.2.34 → ultralytics-8.2.36}/README.md +6 -6
  3. {ultralytics-8.2.34 → ultralytics-8.2.36}/pyproject.toml +0 -1
  4. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/test_cuda.py +1 -0
  5. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/__init__.py +1 -1
  6. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/lvis.yaml +4 -8
  7. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +3 -3
  8. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v9/yolov9c.yaml +3 -3
  9. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +5 -5
  10. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v9/yolov9e.yaml +5 -5
  11. ultralytics-8.2.36/ultralytics/cfg/models/v9/yolov9m.yaml +38 -0
  12. ultralytics-8.2.36/ultralytics/cfg/models/v9/yolov9s.yaml +38 -0
  13. ultralytics-8.2.36/ultralytics/cfg/models/v9/yolov9t.yaml +38 -0
  14. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/explorer/gui/dash.py +1 -1
  15. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/modules/__init__.py +4 -2
  16. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/modules/block.py +29 -0
  17. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/tasks.py +16 -3
  18. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/mlflow.py +8 -4
  19. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/plotting.py +47 -20
  20. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics.egg-info/PKG-INFO +7 -7
  21. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics.egg-info/SOURCES.txt +3 -0
  22. {ultralytics-8.2.34 → ultralytics-8.2.36}/LICENSE +0 -0
  23. {ultralytics-8.2.34 → ultralytics-8.2.36}/setup.cfg +0 -0
  24. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/__init__.py +0 -0
  25. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/conftest.py +0 -0
  26. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/test_cli.py +0 -0
  27. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/test_engine.py +0 -0
  28. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/test_explorer.py +0 -0
  29. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/test_exports.py +0 -0
  30. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/test_integrations.py +0 -0
  31. {ultralytics-8.2.34 → ultralytics-8.2.36}/tests/test_python.py +0 -0
  32. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/assets/bus.jpg +0 -0
  33. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/assets/zidane.jpg +0 -0
  34. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/__init__.py +0 -0
  35. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  36. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  37. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  38. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  39. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  40. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  41. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  42. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  43. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  44. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  45. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  46. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  47. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  48. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/coco.yaml +0 -0
  49. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  50. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  51. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  52. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  53. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  54. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  55. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  56. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  57. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  58. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/signature.yaml +0 -0
  59. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  60. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/datasets/xView.yaml +0 -0
  61. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/default.yaml +0 -0
  62. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  63. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  64. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  65. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  66. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  67. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  68. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  69. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  70. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  71. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  72. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  73. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  74. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  75. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  76. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  77. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  78. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  79. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  80. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  81. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  82. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  83. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  84. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  85. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  86. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  87. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  88. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  89. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  90. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  91. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/__init__.py +0 -0
  92. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/annotator.py +0 -0
  93. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/augment.py +0 -0
  94. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/base.py +0 -0
  95. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/build.py +0 -0
  96. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/converter.py +0 -0
  97. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/dataset.py +0 -0
  98. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/explorer/__init__.py +0 -0
  99. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/explorer/explorer.py +0 -0
  100. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/explorer/gui/__init__.py +0 -0
  101. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/explorer/utils.py +0 -0
  102. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/loaders.py +0 -0
  103. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/split_dota.py +0 -0
  104. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/data/utils.py +0 -0
  105. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/__init__.py +0 -0
  106. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/exporter.py +0 -0
  107. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/model.py +0 -0
  108. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/predictor.py +0 -0
  109. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/results.py +0 -0
  110. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/trainer.py +0 -0
  111. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/tuner.py +0 -0
  112. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/engine/validator.py +0 -0
  113. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/hub/__init__.py +0 -0
  114. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/hub/auth.py +0 -0
  115. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/hub/session.py +0 -0
  116. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/hub/utils.py +0 -0
  117. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/__init__.py +0 -0
  118. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/fastsam/__init__.py +0 -0
  119. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/fastsam/model.py +0 -0
  120. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/fastsam/predict.py +0 -0
  121. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/fastsam/prompt.py +0 -0
  122. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/fastsam/utils.py +0 -0
  123. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/fastsam/val.py +0 -0
  124. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/nas/__init__.py +0 -0
  125. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/nas/model.py +0 -0
  126. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/nas/predict.py +0 -0
  127. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/nas/val.py +0 -0
  128. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/rtdetr/__init__.py +0 -0
  129. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/rtdetr/model.py +0 -0
  130. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/rtdetr/predict.py +0 -0
  131. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/rtdetr/train.py +0 -0
  132. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/rtdetr/val.py +0 -0
  133. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/__init__.py +0 -0
  134. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/amg.py +0 -0
  135. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/build.py +0 -0
  136. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/model.py +0 -0
  137. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/modules/__init__.py +0 -0
  138. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/modules/decoders.py +0 -0
  139. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/modules/encoders.py +0 -0
  140. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/modules/sam.py +0 -0
  141. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  142. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/modules/transformer.py +0 -0
  143. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/sam/predict.py +0 -0
  144. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/utils/__init__.py +0 -0
  145. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/utils/loss.py +0 -0
  146. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/utils/ops.py +0 -0
  147. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/__init__.py +0 -0
  148. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/classify/__init__.py +0 -0
  149. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/classify/predict.py +0 -0
  150. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/classify/train.py +0 -0
  151. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/classify/val.py +0 -0
  152. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/detect/__init__.py +0 -0
  153. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/detect/predict.py +0 -0
  154. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/detect/train.py +0 -0
  155. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/detect/val.py +0 -0
  156. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/model.py +0 -0
  157. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/obb/__init__.py +0 -0
  158. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/obb/predict.py +0 -0
  159. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/obb/train.py +0 -0
  160. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/obb/val.py +0 -0
  161. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/pose/__init__.py +0 -0
  162. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/pose/predict.py +0 -0
  163. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/pose/train.py +0 -0
  164. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/pose/val.py +0 -0
  165. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/segment/__init__.py +0 -0
  166. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/segment/predict.py +0 -0
  167. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/segment/train.py +0 -0
  168. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/segment/val.py +0 -0
  169. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/world/__init__.py +0 -0
  170. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/world/train.py +0 -0
  171. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/models/yolo/world/train_world.py +0 -0
  172. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/__init__.py +0 -0
  173. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/autobackend.py +0 -0
  174. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/modules/conv.py +0 -0
  175. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/modules/head.py +0 -0
  176. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/modules/transformer.py +0 -0
  177. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/nn/modules/utils.py +0 -0
  178. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/__init__.py +0 -0
  179. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/ai_gym.py +0 -0
  180. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/analytics.py +0 -0
  181. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/distance_calculation.py +0 -0
  182. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/heatmap.py +0 -0
  183. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/object_counter.py +0 -0
  184. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/parking_management.py +0 -0
  185. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/queue_management.py +0 -0
  186. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/solutions/speed_estimation.py +0 -0
  187. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/__init__.py +0 -0
  188. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/basetrack.py +0 -0
  189. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/bot_sort.py +0 -0
  190. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/byte_tracker.py +0 -0
  191. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/track.py +0 -0
  192. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/utils/__init__.py +0 -0
  193. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/utils/gmc.py +0 -0
  194. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  195. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/trackers/utils/matching.py +0 -0
  196. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/__init__.py +0 -0
  197. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/autobatch.py +0 -0
  198. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/benchmarks.py +0 -0
  199. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/__init__.py +0 -0
  200. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/base.py +0 -0
  201. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/clearml.py +0 -0
  202. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/comet.py +0 -0
  203. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/dvc.py +0 -0
  204. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/hub.py +0 -0
  205. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/neptune.py +0 -0
  206. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/raytune.py +0 -0
  207. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  208. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/callbacks/wb.py +0 -0
  209. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/checks.py +0 -0
  210. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/dist.py +0 -0
  211. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/downloads.py +0 -0
  212. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/errors.py +0 -0
  213. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/files.py +0 -0
  214. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/instance.py +0 -0
  215. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/loss.py +0 -0
  216. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/metrics.py +0 -0
  217. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/ops.py +0 -0
  218. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/patches.py +0 -0
  219. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/tal.py +0 -0
  220. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/torch_utils.py +0 -0
  221. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/triton.py +0 -0
  222. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics/utils/tuner.py +0 -0
  223. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics.egg-info/dependency_links.txt +0 -0
  224. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics.egg-info/entry_points.txt +0 -0
  225. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics.egg-info/requires.txt +0 -0
  226. {ultralytics-8.2.34 → ultralytics-8.2.36}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.34
3
+ Version: 8.2.36
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -93,13 +93,13 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
93
93
  <div>
94
94
  <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="Ultralytics CI"></a>
95
95
  <a href="https://codecov.io/github/ultralytics/ultralytics"><img src="https://codecov.io/github/ultralytics/ultralytics/branch/main/graph/badge.svg?token=HHW7IIVFVY" alt="Ultralytics Code Coverage"></a>
96
- <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="YOLOv8 Citation"></a>
97
- <a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Docker Pulls"></a>
98
- <a href="https://ultralytics.com/discord"><img alt="Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
96
+ <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLOv8 Citation"></a>
97
+ <a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Ultralytics Docker Pulls"></a>
98
+ <a href="https://ultralytics.com/discord"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
99
99
  <br>
100
- <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run on Gradient"></a>
101
- <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
102
- <a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open In Kaggle"></a>
100
+ <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
101
+ <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
102
+ <a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a>
103
103
  </div>
104
104
  <br>
105
105
 
@@ -9,13 +9,13 @@
9
9
  <div>
10
10
  <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="Ultralytics CI"></a>
11
11
  <a href="https://codecov.io/github/ultralytics/ultralytics"><img src="https://codecov.io/github/ultralytics/ultralytics/branch/main/graph/badge.svg?token=HHW7IIVFVY" alt="Ultralytics Code Coverage"></a>
12
- <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="YOLOv8 Citation"></a>
13
- <a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Docker Pulls"></a>
14
- <a href="https://ultralytics.com/discord"><img alt="Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
12
+ <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLOv8 Citation"></a>
13
+ <a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Ultralytics Docker Pulls"></a>
14
+ <a href="https://ultralytics.com/discord"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
15
15
  <br>
16
- <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run on Gradient"></a>
17
- <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
18
- <a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open In Kaggle"></a>
16
+ <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
17
+ <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
18
+ <a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a>
19
19
  </div>
20
20
  <br>
21
21
 
@@ -149,7 +149,6 @@ markers = [
149
149
  ]
150
150
  norecursedirs = [".git", "dist", "build"]
151
151
 
152
-
153
152
  [tool.coverage.run]
154
153
  source = ["ultralytics/"]
155
154
  data_file = "tests/.coverage"
@@ -19,6 +19,7 @@ def test_checks():
19
19
 
20
20
 
21
21
  @pytest.mark.slow
22
+ @pytest.mark.skipif(True, reason="CUDA export tests disabled pending additional Ultralytics GPU server availability")
22
23
  @pytest.mark.skipif(not CUDA_IS_AVAILABLE, reason="CUDA is not available")
23
24
  @pytest.mark.parametrize(
24
25
  "task, dynamic, int8, half, batch",
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.34"
3
+ __version__ = "8.2.36"
4
4
 
5
5
  import os
6
6
 
@@ -221,8 +221,7 @@ names:
221
221
  204: cape
222
222
  205: cappuccino/coffee cappuccino
223
223
  206: car/car automobile/auto/auto automobile/automobile
224
- 207: railcar/railcar part of a train/railway car/railway car part of a train/railroad
225
- car/railroad car part of a train
224
+ 207: railcar/railcar part of a train/railway car/railway car part of a train/railroad car/railroad car part of a train
226
225
  208: elevator car
227
226
  209: car battery/automobile battery
228
227
  210: identity card
@@ -241,8 +240,7 @@ names:
241
240
  223: cast/plaster cast/plaster bandage
242
241
  224: cat
243
242
  225: cauliflower
244
- 226: cayenne/cayenne spice/cayenne pepper/cayenne pepper spice/red pepper/red pepper
245
- spice
243
+ 226: cayenne/cayenne spice/cayenne pepper/cayenne pepper spice/red pepper/red pepper spice
246
244
  227: CD player
247
245
  228: celery
248
246
  229: cellular telephone/cellular phone/cellphone/mobile phone/smart phone
@@ -258,8 +256,7 @@ names:
258
256
  239: chessboard
259
257
  240: chicken/chicken animal
260
258
  241: chickpea/garbanzo
261
- 242: chili/chili vegetable/chili pepper/chili pepper vegetable/chilli/chilli vegetable/chilly/chilly
262
- vegetable/chile/chile vegetable
259
+ 242: chili/chili vegetable/chili pepper/chili pepper vegetable/chilli/chilli vegetable/chilly/chilly vegetable/chile/chile vegetable
263
260
  243: chime/gong
264
261
  244: chinaware
265
262
  245: crisp/crisp potato chip/potato chip
@@ -1061,8 +1058,7 @@ names:
1061
1058
  1041: sweater
1062
1059
  1042: sweatshirt
1063
1060
  1043: sweet potato
1064
- 1044: swimsuit/swimwear/bathing suit/swimming costume/bathing costume/swimming trunks/bathing
1065
- trunks
1061
+ 1044: swimsuit/swimwear/bathing suit/swimming costume/bathing costume/swimming trunks/bathing trunks
1066
1062
  1045: sword
1067
1063
  1046: syringe
1068
1064
  1047: Tabasco sauce
@@ -1,11 +1,11 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv9c-seg
2
+ # YOLOv9c-seg instance segmentation model. For Usage examples see https://docs.ultralytics.com/models/yolov9
3
3
  # 654 layers, 27897120 parameters, 159.4 GFLOPs
4
4
 
5
- # parameters
5
+ # Parameters
6
6
  nc: 80 # number of classes
7
7
 
8
- # gelan backbone
8
+ # GELAN backbone
9
9
  backbone:
10
10
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
11
11
  - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
@@ -1,11 +1,11 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv9c
2
+ # YOLOv9c object detection model. For Usage examples see https://docs.ultralytics.com/models/yolov9
3
3
  # 618 layers, 25590912 parameters, 104.0 GFLOPs
4
4
 
5
- # parameters
5
+ # Parameters
6
6
  nc: 80 # number of classes
7
7
 
8
- # gelan backbone
8
+ # GELAN backbone
9
9
  backbone:
10
10
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
11
11
  - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
@@ -1,13 +1,13 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv9c-seg
2
+ # YOLOv9e-seg instance segmentation model. For Usage examples see https://docs.ultralytics.com/models/yolov9
3
3
  # 1261 layers, 60512800 parameters, 248.4 GFLOPs
4
4
 
5
- # parameters
5
+ # Parameters
6
6
  nc: 80 # number of classes
7
7
 
8
- # gelan backbone
8
+ # GELAN backbone
9
9
  backbone:
10
- - [-1, 1, Silence, []]
10
+ - [-1, 1, nn.Identity, []]
11
11
  - [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
12
12
  - [-1, 1, Conv, [128, 3, 2]] # 2-P2/4
13
13
  - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 3
@@ -40,7 +40,7 @@ backbone:
40
40
  - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 28
41
41
  - [-1, 1, SPPELAN, [512, 256]] # 29
42
42
 
43
- # gelan head
43
+ # GELAN head
44
44
  head:
45
45
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
46
46
  - [[-1, 25], 1, Concat, [1]] # cat backbone P4
@@ -1,13 +1,13 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
- # YOLOv9e
2
+ # YOLOv9e object detection model. For Usage examples see https://docs.ultralytics.com/models/yolov9
3
3
  # 1225 layers, 58206592 parameters, 193.0 GFLOPs
4
4
 
5
- # parameters
5
+ # Parameters
6
6
  nc: 80 # number of classes
7
7
 
8
- # gelan backbone
8
+ # GELAN backbone
9
9
  backbone:
10
- - [-1, 1, Silence, []]
10
+ - [-1, 1, nn.Identity, []]
11
11
  - [-1, 1, Conv, [64, 3, 2]] # 1-P1/2
12
12
  - [-1, 1, Conv, [128, 3, 2]] # 2-P2/4
13
13
  - [-1, 1, RepNCSPELAN4, [256, 128, 64, 2]] # 3
@@ -40,7 +40,7 @@ backbone:
40
40
  - [-1, 1, RepNCSPELAN4, [1024, 512, 256, 2]] # 28
41
41
  - [-1, 1, SPPELAN, [512, 256]] # 29
42
42
 
43
- # gelan head
43
+ # GELAN head
44
44
  head:
45
45
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
46
46
  - [[-1, 25], 1, Concat, [1]] # cat backbone P4
@@ -0,0 +1,38 @@
1
+ # Ultralytics YOLO 🚀, AGPL-3.0 license
2
+ # YOLOv9m object detection model. For Usage examples see https://docs.ultralytics.com/models/yolov9
3
+ # 603 layers, 20216160 parameters, 77.9 GFLOPs
4
+
5
+ # Parameters
6
+ nc: 80 # number of classes
7
+
8
+ # GELAN backbone
9
+ backbone:
10
+ - [-1, 1, Conv, [32, 3, 2]] # 0-P1/2
11
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P2/4
12
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 1]] # 2
13
+ - [-1, 1, AConv, [240]] # 3-P3/8
14
+ - [-1, 1, RepNCSPELAN4, [240, 240, 120, 1]] # 4
15
+ - [-1, 1, AConv, [360]] # 5-P4/16
16
+ - [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 6
17
+ - [-1, 1, AConv, [480]] # 7-P5/32
18
+ - [-1, 1, RepNCSPELAN4, [480, 480, 240, 1]] # 8
19
+ - [-1, 1, SPPELAN, [480, 240]] # 9
20
+
21
+ head:
22
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
23
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
24
+ - [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 12
25
+
26
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
27
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
28
+ - [-1, 1, RepNCSPELAN4, [240, 240, 120, 1]] # 15
29
+
30
+ - [-1, 1, AConv, [180]]
31
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
32
+ - [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 18 (P4/16-medium)
33
+
34
+ - [-1, 1, AConv, [240]]
35
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
36
+ - [-1, 1, RepNCSPELAN4, [480, 480, 240, 1]] # 21 (P5/32-large)
37
+
38
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -0,0 +1,38 @@
1
+ # Ultralytics YOLO 🚀, AGPL-3.0 license
2
+ # YOLOv9s object detection model. For Usage examples see https://docs.ultralytics.com/models/yolov9
3
+ # 917 layers, 7318368 parameters, 27.6 GFLOPs
4
+
5
+ # Parameters
6
+ nc: 80 # number of classes
7
+
8
+ # GELAN backbone
9
+ backbone:
10
+ - [-1, 1, Conv, [32, 3, 2]] # 0-P1/2
11
+ - [-1, 1, Conv, [64, 3, 2]] # 1-P2/4
12
+ - [-1, 1, ELAN1, [64, 64, 32]] # 2
13
+ - [-1, 1, AConv, [128]] # 3-P3/8
14
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 4
15
+ - [-1, 1, AConv, [192]] # 5-P4/16
16
+ - [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 6
17
+ - [-1, 1, AConv, [256]] # 7-P5/32
18
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 3]] # 8
19
+ - [-1, 1, SPPELAN, [256, 128]] # 9
20
+
21
+ head:
22
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
23
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
24
+ - [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 12
25
+
26
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
27
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
28
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 15
29
+
30
+ - [-1, 1, AConv, [96]]
31
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
32
+ - [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 18 (P4/16-medium)
33
+
34
+ - [-1, 1, AConv, [128]]
35
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
36
+ - [-1, 1, RepNCSPELAN4, [256, 256, 128, 3]] # 21 (P5/32-large)
37
+
38
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4 P5)
@@ -0,0 +1,38 @@
1
+ # Ultralytics YOLO 🚀, AGPL-3.0 license
2
+ # YOLOv9t object detection model. For Usage examples see https://docs.ultralytics.com/models/yolov9
3
+ # 917 layers, 2128720 parameters, 8.5 GFLOPs
4
+
5
+ # Parameters
6
+ nc: 80 # number of classes
7
+
8
+ # GELAN backbone
9
+ backbone:
10
+ - [-1, 1, Conv, [16, 3, 2]] # 0-P1/2
11
+ - [-1, 1, Conv, [32, 3, 2]] # 1-P2/4
12
+ - [-1, 1, ELAN1, [32, 32, 16]] # 2
13
+ - [-1, 1, AConv, [64]] # 3-P3/8
14
+ - [-1, 1, RepNCSPELAN4, [64, 64, 32, 3]] # 4
15
+ - [-1, 1, AConv, [96]] # 5-P4/16
16
+ - [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 6
17
+ - [-1, 1, AConv, [128]] # 7-P5/32
18
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 8
19
+ - [-1, 1, SPPELAN, [128, 64]] # 9
20
+
21
+ head:
22
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
23
+ - [[-1, 6], 1, Concat, [1]] # cat backbone P4
24
+ - [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 12
25
+
26
+ - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
27
+ - [[-1, 4], 1, Concat, [1]] # cat backbone P3
28
+ - [-1, 1, RepNCSPELAN4, [64, 64, 32, 3]] # 15
29
+
30
+ - [-1, 1, AConv, [48]]
31
+ - [[-1, 12], 1, Concat, [1]] # cat head P4
32
+ - [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 18 (P4/16-medium)
33
+
34
+ - [-1, 1, AConv, [64]]
35
+ - [[-1, 9], 1, Concat, [1]] # cat head P5
36
+ - [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 21 (P5/32-large)
37
+
38
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -259,7 +259,7 @@ def layout():
259
259
 
260
260
  with col2:
261
261
  similarity_form(selected_imgs)
262
- display_labels = st.checkbox("Labels", value=False, key="display_labels")
262
+ st.checkbox("Labels", value=False, key="display_labels")
263
263
  utralytics_explorer_docs_callback()
264
264
 
265
265
 
@@ -23,9 +23,11 @@ from .block import (
23
23
  C3,
24
24
  C3TR,
25
25
  DFL,
26
+ ELAN1,
26
27
  SPP,
27
28
  SPPELAN,
28
29
  SPPF,
30
+ AConv,
29
31
  ADown,
30
32
  BNContrastiveHead,
31
33
  Bottleneck,
@@ -45,7 +47,6 @@ from .block import (
45
47
  RepC3,
46
48
  RepNCSPELAN4,
47
49
  ResNetLayer,
48
- Silence,
49
50
  )
50
51
  from .conv import (
51
52
  CBAM,
@@ -134,5 +135,6 @@ __all__ = (
134
135
  "SPPELAN",
135
136
  "CBFuse",
136
137
  "CBLinear",
137
- "Silence",
138
+ "AConv",
139
+ "ELAN1",
138
140
  )
@@ -32,7 +32,9 @@ __all__ = (
32
32
  "RepC3",
33
33
  "ResNetLayer",
34
34
  "RepNCSPELAN4",
35
+ "ELAN1",
35
36
  "ADown",
37
+ "AConv",
36
38
  "SPPELAN",
37
39
  "CBFuse",
38
40
  "CBLinear",
@@ -603,6 +605,33 @@ class RepNCSPELAN4(nn.Module):
603
605
  return self.cv4(torch.cat(y, 1))
604
606
 
605
607
 
608
+ class ELAN1(RepNCSPELAN4):
609
+ """ELAN1 module with 4 convolutions."""
610
+
611
+ def __init__(self, c1, c2, c3, c4):
612
+ """Initializes ELAN1 layer with specified channel sizes."""
613
+ super().__init__(c1, c2, c3, c4)
614
+ self.c = c3 // 2
615
+ self.cv1 = Conv(c1, c3, 1, 1)
616
+ self.cv2 = Conv(c3 // 2, c4, 3, 1)
617
+ self.cv3 = Conv(c4, c4, 3, 1)
618
+ self.cv4 = Conv(c3 + (2 * c4), c2, 1, 1)
619
+
620
+
621
+ class AConv(nn.Module):
622
+ """AConv."""
623
+
624
+ def __init__(self, c1, c2):
625
+ """Initializes AConv module with convolution layers."""
626
+ super().__init__()
627
+ self.cv1 = Conv(c1, c2, 3, 2, 1)
628
+
629
+ def forward(self, x):
630
+ """Forward pass through AConv layer."""
631
+ x = torch.nn.functional.avg_pool2d(x, 2, 1, 0, False, True)
632
+ return self.cv1(x)
633
+
634
+
606
635
  class ADown(nn.Module):
607
636
  """ADown."""
608
637
 
@@ -13,10 +13,12 @@ from ultralytics.nn.modules import (
13
13
  C2,
14
14
  C3,
15
15
  C3TR,
16
+ ELAN1,
16
17
  OBB,
17
18
  SPP,
18
19
  SPPELAN,
19
20
  SPPF,
21
+ AConv,
20
22
  ADown,
21
23
  Bottleneck,
22
24
  BottleneckCSP,
@@ -47,7 +49,6 @@ from ultralytics.nn.modules import (
47
49
  ResNetLayer,
48
50
  RTDETRDecoder,
49
51
  Segment,
50
- Silence, # noqa (equivalent to nn.Identity, unused in file but required to load YOLOv9 models)
51
52
  WorldDetect,
52
53
  )
53
54
  from ultralytics.utils import DEFAULT_CFG_DICT, DEFAULT_CFG_KEYS, LOGGER, colorstr, emojis, yaml_load
@@ -278,6 +279,12 @@ class DetectionModel(BaseModel):
278
279
  """Initialize the YOLOv8 detection model with the given config and parameters."""
279
280
  super().__init__()
280
281
  self.yaml = cfg if isinstance(cfg, dict) else yaml_model_load(cfg) # cfg dict
282
+ if self.yaml["backbone"][0][2] == "Silence":
283
+ LOGGER.warning(
284
+ "WARNING ⚠️ YOLOv9 `Silence` module is deprecated in favor of nn.Identity. "
285
+ "Please delete local *.pt file and re-download the latest model checkpoint."
286
+ )
287
+ self.yaml["backbone"][0][2] = "nn.Identity"
281
288
 
282
289
  # Define model
283
290
  ch = self.yaml["ch"] = self.yaml.get("ch", ch) # input channels
@@ -293,8 +300,12 @@ class DetectionModel(BaseModel):
293
300
  if isinstance(m, Detect): # includes all Detect subclasses like Segment, Pose, OBB, WorldDetect
294
301
  s = 256 # 2x min stride
295
302
  m.inplace = self.inplace
296
- forward = lambda x: self.forward(x)[0] if isinstance(m, (Segment, Pose, OBB)) else self.forward(x)
297
- m.stride = torch.tensor([s / x.shape[-2] for x in forward(torch.zeros(1, ch, s, s))]) # forward
303
+
304
+ def _forward(x):
305
+ """Performs a forward pass through the model, handling different Detect subclass types accordingly."""
306
+ return self.forward(x)[0] if isinstance(m, (Segment, Pose, OBB)) else self.forward(x)
307
+
308
+ m.stride = torch.tensor([s / x.shape[-2] for x in _forward(torch.zeros(1, ch, s, s))]) # forward
298
309
  self.stride = m.stride
299
310
  m.bias_init() # only run once
300
311
  else:
@@ -875,7 +886,9 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
875
886
  C2,
876
887
  C2f,
877
888
  RepNCSPELAN4,
889
+ ELAN1,
878
890
  ADown,
891
+ AConv,
879
892
  SPPELAN,
880
893
  C2fAttn,
881
894
  C3,
@@ -34,12 +34,16 @@ try:
34
34
  from pathlib import Path
35
35
 
36
36
  PREFIX = colorstr("MLflow: ")
37
- SANITIZE = lambda x: {k.replace("(", "").replace(")", ""): float(v) for k, v in x.items()}
38
37
 
39
38
  except (ImportError, AssertionError):
40
39
  mlflow = None
41
40
 
42
41
 
42
+ def sanitize_dict(x):
43
+ """Sanitize dictionary keys by removing parentheses and converting values to floats."""
44
+ return {k.replace("(", "").replace(")", ""): float(v) for k, v in x.items()}
45
+
46
+
43
47
  def on_pretrain_routine_end(trainer):
44
48
  """
45
49
  Log training parameters to MLflow at the end of the pretraining routine.
@@ -88,8 +92,8 @@ def on_train_epoch_end(trainer):
88
92
  if mlflow:
89
93
  mlflow.log_metrics(
90
94
  metrics={
91
- **SANITIZE(trainer.lr),
92
- **SANITIZE(trainer.label_loss_items(trainer.tloss, prefix="train")),
95
+ **sanitize_dict(trainer.lr),
96
+ **sanitize_dict(trainer.label_loss_items(trainer.tloss, prefix="train")),
93
97
  },
94
98
  step=trainer.epoch,
95
99
  )
@@ -98,7 +102,7 @@ def on_train_epoch_end(trainer):
98
102
  def on_fit_epoch_end(trainer):
99
103
  """Log training metrics at the end of each fit epoch to MLflow."""
100
104
  if mlflow:
101
- mlflow.log_metrics(metrics=SANITIZE(trainer.metrics), step=trainer.epoch)
105
+ mlflow.log_metrics(metrics=sanitize_dict(trainer.metrics), step=trainer.epoch)
102
106
 
103
107
 
104
108
  def on_train_end(trainer):
@@ -33,26 +33,26 @@ class Colors:
33
33
  def __init__(self):
34
34
  """Initialize colors as hex = matplotlib.colors.TABLEAU_COLORS.values()."""
35
35
  hexs = (
36
- "FF3838",
37
- "FF9D97",
38
- "FF701F",
39
- "FFB21D",
40
- "CFD231",
41
- "48F90A",
42
- "92CC17",
43
- "3DDB86",
44
- "1A9334",
45
- "00D4BB",
46
- "2C99A8",
47
- "00C2FF",
48
- "344593",
49
- "6473FF",
50
- "0018EC",
51
- "8438FF",
52
- "520085",
53
- "CB38FF",
54
- "FF95C8",
55
- "FF37C7",
36
+ "042AFF",
37
+ "0BDBEB",
38
+ "F3F3F3",
39
+ "00DFB7",
40
+ "111F68",
41
+ "FF6FDD",
42
+ "FF444F",
43
+ "CCED00",
44
+ "00F344",
45
+ "BD00FF",
46
+ "00B4FF",
47
+ "DD00BA",
48
+ "00FFFF",
49
+ "26C000",
50
+ "01FFB3",
51
+ "7D24FF",
52
+ "7B0068",
53
+ "FF1B6C",
54
+ "FC6D2F",
55
+ "A2FF0B",
56
56
  )
57
57
  self.palette = [self.hex2rgb(f"#{c}") for c in hexs]
58
58
  self.n = len(self.palette)
@@ -158,9 +158,36 @@ class Annotator:
158
158
 
159
159
  self.limb_color = colors.pose_palette[[9, 9, 9, 9, 7, 7, 7, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16]]
160
160
  self.kpt_color = colors.pose_palette[[16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9]]
161
+ self.dark_colors = {
162
+ (235, 219, 11),
163
+ (243, 243, 243),
164
+ (183, 223, 0),
165
+ (221, 111, 255),
166
+ (0, 237, 204),
167
+ (68, 243, 0),
168
+ (255, 255, 0),
169
+ (179, 255, 1),
170
+ (11, 255, 162),
171
+ }
172
+ self.light_colors = {
173
+ (255, 42, 4),
174
+ (79, 68, 255),
175
+ (255, 0, 189),
176
+ (255, 180, 0),
177
+ (186, 0, 221),
178
+ (0, 192, 38),
179
+ (255, 36, 125),
180
+ (104, 0, 123),
181
+ (108, 27, 255),
182
+ (47, 109, 252),
183
+ (104, 31, 17),
184
+ }
161
185
 
162
186
  def box_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), rotated=False):
163
187
  """Add one xyxy box to image with label."""
188
+ txt_color = (
189
+ (104, 31, 17) if color in self.dark_colors else (255, 255, 255) if color in self.light_colors else txt_color
190
+ )
164
191
  if isinstance(box, torch.Tensor):
165
192
  box = box.tolist()
166
193
  if self.pil or not is_ascii(label):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.34
3
+ Version: 8.2.36
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -93,13 +93,13 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
93
93
  <div>
94
94
  <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="Ultralytics CI"></a>
95
95
  <a href="https://codecov.io/github/ultralytics/ultralytics"><img src="https://codecov.io/github/ultralytics/ultralytics/branch/main/graph/badge.svg?token=HHW7IIVFVY" alt="Ultralytics Code Coverage"></a>
96
- <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="YOLOv8 Citation"></a>
97
- <a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Docker Pulls"></a>
98
- <a href="https://ultralytics.com/discord"><img alt="Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
96
+ <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLOv8 Citation"></a>
97
+ <a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Ultralytics Docker Pulls"></a>
98
+ <a href="https://ultralytics.com/discord"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
99
99
  <br>
100
- <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run on Gradient"></a>
101
- <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
102
- <a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open In Kaggle"></a>
100
+ <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
101
+ <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
102
+ <a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a>
103
103
  </div>
104
104
  <br>
105
105
 
@@ -86,6 +86,9 @@ ultralytics/cfg/models/v9/yolov9c-seg.yaml
86
86
  ultralytics/cfg/models/v9/yolov9c.yaml
87
87
  ultralytics/cfg/models/v9/yolov9e-seg.yaml
88
88
  ultralytics/cfg/models/v9/yolov9e.yaml
89
+ ultralytics/cfg/models/v9/yolov9m.yaml
90
+ ultralytics/cfg/models/v9/yolov9s.yaml
91
+ ultralytics/cfg/models/v9/yolov9t.yaml
89
92
  ultralytics/cfg/trackers/botsort.yaml
90
93
  ultralytics/cfg/trackers/bytetrack.yaml
91
94
  ultralytics/data/__init__.py
File without changes
File without changes