ultralytics 8.3.57__tar.gz → 8.3.59__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.
Files changed (246) hide show
  1. {ultralytics-8.3.57/ultralytics.egg-info → ultralytics-8.3.59}/PKG-INFO +2 -2
  2. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/package-seg.yaml +2 -2
  4. ultralytics-8.3.59/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +21 -0
  5. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/converter.py +1 -1
  6. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/exporter.py +5 -1
  7. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/modules/__init__.py +4 -0
  8. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/modules/block.py +49 -0
  9. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/modules/conv.py +18 -0
  10. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/tasks.py +3 -1
  11. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/streamlit_inference.py +1 -5
  12. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/benchmarks.py +1 -1
  13. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/metrics.py +8 -3
  14. {ultralytics-8.3.57 → ultralytics-8.3.59/ultralytics.egg-info}/PKG-INFO +2 -2
  15. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics.egg-info/SOURCES.txt +1 -0
  16. {ultralytics-8.3.57 → ultralytics-8.3.59}/LICENSE +0 -0
  17. {ultralytics-8.3.57 → ultralytics-8.3.59}/README.md +0 -0
  18. {ultralytics-8.3.57 → ultralytics-8.3.59}/pyproject.toml +0 -0
  19. {ultralytics-8.3.57 → ultralytics-8.3.59}/setup.cfg +0 -0
  20. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/__init__.py +0 -0
  21. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/conftest.py +0 -0
  22. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/test_cli.py +0 -0
  23. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/test_cuda.py +0 -0
  24. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/test_engine.py +0 -0
  25. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/test_exports.py +0 -0
  26. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/test_integrations.py +0 -0
  27. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/test_python.py +0 -0
  28. {ultralytics-8.3.57 → ultralytics-8.3.59}/tests/test_solutions.py +0 -0
  29. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/assets/bus.jpg +0 -0
  30. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/assets/zidane.jpg +0 -0
  31. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/__init__.py +0 -0
  32. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  33. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  34. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  35. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  36. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  37. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  38. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  39. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  40. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  41. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  42. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  43. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  44. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  45. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/coco.yaml +0 -0
  46. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  47. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  48. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  49. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  50. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  51. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  52. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  53. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  54. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  55. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  56. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  57. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  58. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/signature.yaml +0 -0
  59. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  60. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/datasets/xView.yaml +0 -0
  61. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/default.yaml +0 -0
  62. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  63. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  64. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  65. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  66. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  67. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  68. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  69. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  70. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  71. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  72. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  73. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  74. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  75. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  76. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  77. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  78. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  79. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  80. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  81. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  82. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  83. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  84. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  85. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  86. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  87. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  88. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  89. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  90. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  91. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  92. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  93. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  94. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  95. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  96. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  97. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  98. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  99. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  100. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  101. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  102. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  103. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  104. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  105. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  106. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  107. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/solutions/default.yaml +0 -0
  108. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  109. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  110. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/__init__.py +0 -0
  111. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/annotator.py +0 -0
  112. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/augment.py +0 -0
  113. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/base.py +0 -0
  114. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/build.py +0 -0
  115. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/dataset.py +0 -0
  116. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/loaders.py +0 -0
  117. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/split_dota.py +0 -0
  118. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/data/utils.py +0 -0
  119. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/__init__.py +0 -0
  120. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/model.py +0 -0
  121. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/predictor.py +0 -0
  122. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/results.py +0 -0
  123. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/trainer.py +0 -0
  124. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/tuner.py +0 -0
  125. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/engine/validator.py +0 -0
  126. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/hub/__init__.py +0 -0
  127. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/hub/auth.py +0 -0
  128. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/hub/google/__init__.py +0 -0
  129. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/hub/session.py +0 -0
  130. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/hub/utils.py +0 -0
  131. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/__init__.py +0 -0
  132. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/fastsam/__init__.py +0 -0
  133. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/fastsam/model.py +0 -0
  134. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/fastsam/predict.py +0 -0
  135. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/fastsam/utils.py +0 -0
  136. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/fastsam/val.py +0 -0
  137. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/nas/__init__.py +0 -0
  138. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/nas/model.py +0 -0
  139. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/nas/predict.py +0 -0
  140. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/nas/val.py +0 -0
  141. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/rtdetr/__init__.py +0 -0
  142. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/rtdetr/model.py +0 -0
  143. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/rtdetr/predict.py +0 -0
  144. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/rtdetr/train.py +0 -0
  145. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/rtdetr/val.py +0 -0
  146. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/__init__.py +0 -0
  147. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/amg.py +0 -0
  148. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/build.py +0 -0
  149. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/model.py +0 -0
  150. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/__init__.py +0 -0
  151. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/blocks.py +0 -0
  152. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/decoders.py +0 -0
  153. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/encoders.py +0 -0
  154. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  155. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/sam.py +0 -0
  156. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  157. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/transformer.py +0 -0
  158. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/modules/utils.py +0 -0
  159. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/sam/predict.py +0 -0
  160. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/utils/__init__.py +0 -0
  161. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/utils/loss.py +0 -0
  162. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/utils/ops.py +0 -0
  163. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/__init__.py +0 -0
  164. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/classify/__init__.py +0 -0
  165. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/classify/predict.py +0 -0
  166. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/classify/train.py +0 -0
  167. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/classify/val.py +0 -0
  168. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/detect/__init__.py +0 -0
  169. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/detect/predict.py +0 -0
  170. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/detect/train.py +0 -0
  171. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/detect/val.py +0 -0
  172. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/model.py +0 -0
  173. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/obb/__init__.py +0 -0
  174. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/obb/predict.py +0 -0
  175. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/obb/train.py +0 -0
  176. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/obb/val.py +0 -0
  177. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/pose/__init__.py +0 -0
  178. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/pose/predict.py +0 -0
  179. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/pose/train.py +0 -0
  180. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/pose/val.py +0 -0
  181. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/segment/__init__.py +0 -0
  182. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/segment/predict.py +0 -0
  183. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/segment/train.py +0 -0
  184. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/segment/val.py +0 -0
  185. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/world/__init__.py +0 -0
  186. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/world/train.py +0 -0
  187. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/models/yolo/world/train_world.py +0 -0
  188. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/__init__.py +0 -0
  189. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/autobackend.py +0 -0
  190. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/modules/activation.py +0 -0
  191. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/modules/head.py +0 -0
  192. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/modules/transformer.py +0 -0
  193. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/nn/modules/utils.py +0 -0
  194. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/__init__.py +0 -0
  195. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/ai_gym.py +0 -0
  196. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/analytics.py +0 -0
  197. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/distance_calculation.py +0 -0
  198. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/heatmap.py +0 -0
  199. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/object_counter.py +0 -0
  200. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/parking_management.py +0 -0
  201. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/queue_management.py +0 -0
  202. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/region_counter.py +0 -0
  203. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/security_alarm.py +0 -0
  204. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/solutions.py +0 -0
  205. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/speed_estimation.py +0 -0
  206. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/solutions/trackzone.py +0 -0
  207. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/__init__.py +0 -0
  208. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/basetrack.py +0 -0
  209. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/bot_sort.py +0 -0
  210. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/byte_tracker.py +0 -0
  211. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/track.py +0 -0
  212. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/utils/__init__.py +0 -0
  213. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/utils/gmc.py +0 -0
  214. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  215. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/trackers/utils/matching.py +0 -0
  216. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/__init__.py +0 -0
  217. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/autobatch.py +0 -0
  218. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/__init__.py +0 -0
  219. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/base.py +0 -0
  220. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/clearml.py +0 -0
  221. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/comet.py +0 -0
  222. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/dvc.py +0 -0
  223. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/hub.py +0 -0
  224. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/mlflow.py +0 -0
  225. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/neptune.py +0 -0
  226. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/raytune.py +0 -0
  227. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  228. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/callbacks/wb.py +0 -0
  229. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/checks.py +0 -0
  230. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/dist.py +0 -0
  231. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/downloads.py +0 -0
  232. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/errors.py +0 -0
  233. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/files.py +0 -0
  234. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/instance.py +0 -0
  235. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/loss.py +0 -0
  236. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/ops.py +0 -0
  237. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/patches.py +0 -0
  238. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/plotting.py +0 -0
  239. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/tal.py +0 -0
  240. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/torch_utils.py +0 -0
  241. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/triton.py +0 -0
  242. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics/utils/tuner.py +0 -0
  243. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics.egg-info/dependency_links.txt +0 -0
  244. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics.egg-info/entry_points.txt +0 -0
  245. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics.egg-info/requires.txt +0 -0
  246. {ultralytics-8.3.57 → ultralytics-8.3.59}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.57
3
+ Version: 8.3.59
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.3.57"
3
+ __version__ = "8.3.59"
4
4
 
5
5
  import os
6
6
 
@@ -9,8 +9,8 @@
9
9
 
10
10
  # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
11
11
  path: ../datasets/package-seg # dataset root dir
12
- train: images/train # train images (relative to 'path') 1920 images
13
- val: images/val # val images (relative to 'path') 89 images
12
+ train: train/images # train images (relative to 'path') 1920 images
13
+ val: valid/images # val images (relative to 'path') 89 images
14
14
  test: test/images # test images (relative to 'path') 188 images
15
15
 
16
16
  # Classes
@@ -0,0 +1,21 @@
1
+ # Ultralytics YOLO 🚀, AGPL-3.0 license
2
+ # YOLO11-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify
3
+
4
+ # Parameters
5
+ nc: 10 # number of classes
6
+ scales: # model compound scaling constants, i.e. 'model=yolo11n-cls.yaml' will call yolo11-cls.yaml with scale 'n'
7
+ # [depth, width, max_channels]
8
+ n: [0.33, 0.25, 1024]
9
+ s: [0.33, 0.50, 1024]
10
+ m: [0.67, 0.75, 1024]
11
+ l: [1.00, 1.00, 1024]
12
+ x: [1.00, 1.25, 1024]
13
+
14
+ # YOLO11n backbone
15
+ backbone:
16
+ # [from, repeats, module, args]
17
+ - [-1, 1, TorchVision, [512, "resnet18", "DEFAULT", True, 2]] # truncate two layers from the end
18
+
19
+ # YOLO11n head
20
+ head:
21
+ - [-1, 1, Classify, [nc]] # Classify
@@ -377,7 +377,7 @@ def convert_segment_masks_to_yolo_seg(masks_dir, output_dir, classes):
377
377
  """
378
378
  pixel_to_class_mapping = {i + 1: i for i in range(classes)}
379
379
  for mask_path in Path(masks_dir).iterdir():
380
- if mask_path.suffix == ".png":
380
+ if mask_path.suffix in {".png", ".jpg"}:
381
381
  mask = cv2.imread(str(mask_path), cv2.IMREAD_GRAYSCALE) # Read the mask image in grayscale
382
382
  img_height, img_width = mask.shape # Get image dimensions
383
383
  LOGGER.info(f"Processing {mask_path} imgsz = {img_height} x {img_width}")
@@ -452,7 +452,11 @@ class Exporter:
452
452
  batch_size=batch,
453
453
  )
454
454
  n = len(dataset)
455
- if n < 300:
455
+ if n < self.args.batch:
456
+ raise ValueError(
457
+ f"The calibration dataset ({n} images) must have at least as many images as the batch size ('batch={self.args.batch}')."
458
+ )
459
+ elif n < 300:
456
460
  LOGGER.warning(f"{prefix} WARNING ⚠️ >300 images recommended for INT8 calibration, found {n} images.")
457
461
  return build_dataloader(dataset, batch=batch, workers=0) # required for batch loading
458
462
 
@@ -56,6 +56,7 @@ from .block import (
56
56
  RepVGGDW,
57
57
  ResNetLayer,
58
58
  SCDown,
59
+ TorchVision,
59
60
  )
60
61
  from .conv import (
61
62
  CBAM,
@@ -68,6 +69,7 @@ from .conv import (
68
69
  DWConvTranspose2d,
69
70
  Focus,
70
71
  GhostConv,
72
+ Index,
71
73
  LightConv,
72
74
  RepConv,
73
75
  SpatialAttention,
@@ -156,4 +158,6 @@ __all__ = (
156
158
  "C2fCIB",
157
159
  "Attention",
158
160
  "PSA",
161
+ "TorchVision",
162
+ "Index",
159
163
  )
@@ -49,6 +49,7 @@ __all__ = (
49
49
  "Attention",
50
50
  "PSA",
51
51
  "SCDown",
52
+ "TorchVision",
52
53
  )
53
54
 
54
55
 
@@ -1107,3 +1108,51 @@ class SCDown(nn.Module):
1107
1108
  def forward(self, x):
1108
1109
  """Applies convolution and downsampling to the input tensor in the SCDown module."""
1109
1110
  return self.cv2(self.cv1(x))
1111
+
1112
+
1113
+ class TorchVision(nn.Module):
1114
+ """
1115
+ TorchVision module to allow loading any torchvision model.
1116
+
1117
+ This class provides a way to load a model from the torchvision library, optionally load pre-trained weights, and customize the model by truncating or unwrapping layers.
1118
+
1119
+ Attributes:
1120
+ m (nn.Module): The loaded torchvision model, possibly truncated and unwrapped.
1121
+
1122
+ Args:
1123
+ c1 (int): Input channels.
1124
+ c2 (): Output channels.
1125
+ model (str): Name of the torchvision model to load.
1126
+ weights (str, optional): Pre-trained weights to load. Default is "DEFAULT".
1127
+ unwrap (bool, optional): If True, unwraps the model to a sequential containing all but the last `truncate` layers. Default is True.
1128
+ truncate (int, optional): Number of layers to truncate from the end if `unwrap` is True. Default is 2.
1129
+ split (bool, optional): Returns output from intermediate child modules as list. Default is False.
1130
+ """
1131
+
1132
+ def __init__(self, c1, c2, model, weights="DEFAULT", unwrap=True, truncate=2, split=False):
1133
+ """Load the model and weights from torchvision."""
1134
+ import torchvision
1135
+
1136
+ super().__init__()
1137
+ if hasattr(torchvision.models, "get_model"):
1138
+ self.m = torchvision.models.get_model(model, weights=weights)
1139
+ else:
1140
+ self.m = torchvision.models.__dict__[model](pretrained=bool(weights))
1141
+ if unwrap:
1142
+ layers = list(self.m.children())[:-truncate]
1143
+ if isinstance(layers[0], nn.Sequential): # Second-level for some models like EfficientNet, Swin
1144
+ layers = [*list(layers[0].children()), *layers[1:]]
1145
+ self.m = nn.Sequential(*layers)
1146
+ self.split = split
1147
+ else:
1148
+ self.split = False
1149
+ self.m.head = self.m.heads = nn.Identity()
1150
+
1151
+ def forward(self, x):
1152
+ """Forward pass through the model."""
1153
+ if self.split:
1154
+ y = [x]
1155
+ y.extend(m(y[-1]) for m in self.m)
1156
+ else:
1157
+ y = self.m(x)
1158
+ return y
@@ -21,6 +21,7 @@ __all__ = (
21
21
  "CBAM",
22
22
  "Concat",
23
23
  "RepConv",
24
+ "Index",
24
25
  )
25
26
 
26
27
 
@@ -330,3 +331,20 @@ class Concat(nn.Module):
330
331
  def forward(self, x):
331
332
  """Forward pass for the YOLOv8 mask Proto module."""
332
333
  return torch.cat(x, self.d)
334
+
335
+
336
+ class Index(nn.Module):
337
+ """Returns a particular index of the input."""
338
+
339
+ def __init__(self, c1, c2, index=0):
340
+ """Returns a particular index of the input."""
341
+ super().__init__()
342
+ self.index = index
343
+
344
+ def forward(self, x):
345
+ """
346
+ Forward pass.
347
+
348
+ Expects a list of tensors as input.
349
+ """
350
+ return x[self.index]
@@ -50,6 +50,7 @@ from ultralytics.nn.modules import (
50
50
  HGBlock,
51
51
  HGStem,
52
52
  ImagePoolingAttn,
53
+ Index,
53
54
  Pose,
54
55
  RepC3,
55
56
  RepConv,
@@ -59,6 +60,7 @@ from ultralytics.nn.modules import (
59
60
  RTDETRDecoder,
60
61
  SCDown,
61
62
  Segment,
63
+ TorchVision,
62
64
  WorldDetect,
63
65
  v10Detect,
64
66
  )
@@ -1052,7 +1054,7 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
1052
1054
  m.legacy = legacy
1053
1055
  elif m is RTDETRDecoder: # special case, channels arg must be passed in index 1
1054
1056
  args.insert(1, [ch[x] for x in f])
1055
- elif m is CBLinear:
1057
+ elif m in {CBLinear, TorchVision, Index}:
1056
1058
  c2 = args[0]
1057
1059
  c1 = ch[f]
1058
1060
  args = [c1, c2, *args[1:]]
@@ -184,12 +184,8 @@ class Inference:
184
184
  if __name__ == "__main__":
185
185
  import sys # Import the sys module for accessing command-line arguments
186
186
 
187
- model = None # Initialize the model variable as None
188
-
189
187
  # Check if a model name is provided as a command-line argument
190
188
  args = len(sys.argv)
191
- if args > 1:
192
- model = sys.argv[1] # Assign the first argument as the model name
193
-
189
+ model = sys.argv[1] if args > 1 else None # assign first argument as the model name
194
190
  # Create an instance of the Inference class and run inference
195
191
  Inference(model=model).inference()
@@ -464,7 +464,7 @@ class ProfileModels:
464
464
 
465
465
  # Model and input
466
466
  model = YOLO(engine_file)
467
- input_data = np.random.rand(self.imgsz, self.imgsz, 3).astype(np.float32) # must be FP32
467
+ input_data = np.zeros((self.imgsz, self.imgsz, 3), dtype=np.uint8) # use uint8 for Classify
468
468
 
469
469
  # Warmup runs
470
470
  elapsed = 0.0
@@ -73,11 +73,16 @@ def box_iou(box1, box2, eps=1e-7):
73
73
 
74
74
  def bbox_iou(box1, box2, xywh=True, GIoU=False, DIoU=False, CIoU=False, eps=1e-7):
75
75
  """
76
- Calculate Intersection over Union (IoU) of box1(1, 4) to box2(n, 4).
76
+ Calculates the Intersection over Union (IoU) between bounding boxes.
77
+
78
+ This function supports various shapes for `box1` and `box2` as long as the last dimension is 4.
79
+ For instance, you may pass tensors shaped like (4,), (N, 4), (B, N, 4), or (B, N, 1, 4).
80
+ Internally, the code will split the last dimension into (x, y, w, h) if `xywh=True`,
81
+ or (x1, y1, x2, y2) if `xywh=False`.
77
82
 
78
83
  Args:
79
- box1 (torch.Tensor): A tensor representing a single bounding box with shape (1, 4).
80
- box2 (torch.Tensor): A tensor representing n bounding boxes with shape (n, 4).
84
+ box1 (torch.Tensor): A tensor representing one or more bounding boxes, with the last dimension being 4.
85
+ box2 (torch.Tensor): A tensor representing one or more bounding boxes, with the last dimension being 4.
81
86
  xywh (bool, optional): If True, input boxes are in (x, y, w, h) format. If False, input boxes are in
82
87
  (x1, y1, x2, y2) format. Defaults to True.
83
88
  GIoU (bool, optional): If True, calculate Generalized IoU. Defaults to False.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.57
3
+ Version: 8.3.59
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -58,6 +58,7 @@ ultralytics/cfg/datasets/package-seg.yaml
58
58
  ultralytics/cfg/datasets/signature.yaml
59
59
  ultralytics/cfg/datasets/tiger-pose.yaml
60
60
  ultralytics/cfg/datasets/xView.yaml
61
+ ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml
61
62
  ultralytics/cfg/models/11/yolo11-cls.yaml
62
63
  ultralytics/cfg/models/11/yolo11-obb.yaml
63
64
  ultralytics/cfg/models/11/yolo11-pose.yaml
File without changes
File without changes
File without changes