ultralytics 8.3.104__tar.gz → 8.3.105__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 (265) hide show
  1. {ultralytics-8.3.104/ultralytics.egg-info → ultralytics-8.3.105}/PKG-INFO +1 -1
  2. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_python.py +1 -1
  3. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_solutions.py +1 -1
  4. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/__init__.py +1 -1
  5. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/__init__.py +19 -17
  6. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/default.yaml +0 -1
  7. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/val.py +0 -16
  8. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/head.py +7 -5
  9. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/object_counter.py +2 -1
  10. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/solutions.py +1 -3
  11. {ultralytics-8.3.104 → ultralytics-8.3.105/ultralytics.egg-info}/PKG-INFO +1 -1
  12. {ultralytics-8.3.104 → ultralytics-8.3.105}/LICENSE +0 -0
  13. {ultralytics-8.3.104 → ultralytics-8.3.105}/README.md +0 -0
  14. {ultralytics-8.3.104 → ultralytics-8.3.105}/pyproject.toml +0 -0
  15. {ultralytics-8.3.104 → ultralytics-8.3.105}/setup.cfg +0 -0
  16. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/__init__.py +0 -0
  17. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/conftest.py +0 -0
  18. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_cli.py +0 -0
  19. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_cuda.py +0 -0
  20. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_engine.py +0 -0
  21. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_exports.py +0 -0
  22. {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_integrations.py +0 -0
  23. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/assets/bus.jpg +0 -0
  24. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/assets/zidane.jpg +0 -0
  25. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  26. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  27. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  28. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  29. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  30. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  31. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  32. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  33. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  34. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  35. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  36. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  37. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  38. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco.yaml +0 -0
  39. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  40. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  41. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  42. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  43. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  44. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  45. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  46. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  47. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  48. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  49. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  50. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  51. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  52. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/signature.yaml +0 -0
  53. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  54. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/xView.yaml +0 -0
  55. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  56. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  57. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  58. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  59. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  60. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  61. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  62. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  63. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  64. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  65. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  66. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  67. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  68. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  69. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  70. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  71. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  72. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  73. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  74. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  75. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  76. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  77. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  78. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  79. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  80. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  81. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  82. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  83. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  84. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  85. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  86. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  87. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  88. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  89. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  90. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  91. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  92. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  93. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  94. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  95. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  96. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  97. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  98. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  99. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  100. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  101. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  102. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  103. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  104. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  105. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  106. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  107. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  108. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  109. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  110. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/solutions/default.yaml +0 -0
  111. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  112. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  113. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/__init__.py +0 -0
  114. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/annotator.py +0 -0
  115. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/augment.py +0 -0
  116. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/base.py +0 -0
  117. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/build.py +0 -0
  118. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/converter.py +0 -0
  119. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/dataset.py +0 -0
  120. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/loaders.py +0 -0
  121. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/split_dota.py +0 -0
  122. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/utils.py +0 -0
  123. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/__init__.py +0 -0
  124. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/exporter.py +0 -0
  125. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/model.py +0 -0
  126. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/predictor.py +0 -0
  127. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/results.py +0 -0
  128. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/trainer.py +0 -0
  129. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/tuner.py +0 -0
  130. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/validator.py +0 -0
  131. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/__init__.py +0 -0
  132. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/auth.py +0 -0
  133. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/google/__init__.py +0 -0
  134. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/session.py +0 -0
  135. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/utils.py +0 -0
  136. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/__init__.py +0 -0
  137. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/__init__.py +0 -0
  138. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/model.py +0 -0
  139. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/predict.py +0 -0
  140. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/utils.py +0 -0
  141. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/val.py +0 -0
  142. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/__init__.py +0 -0
  143. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/model.py +0 -0
  144. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/predict.py +0 -0
  145. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/val.py +0 -0
  146. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/__init__.py +0 -0
  147. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/model.py +0 -0
  148. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/predict.py +0 -0
  149. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/train.py +0 -0
  150. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/val.py +0 -0
  151. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/__init__.py +0 -0
  152. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/amg.py +0 -0
  153. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/build.py +0 -0
  154. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/model.py +0 -0
  155. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/__init__.py +0 -0
  156. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/blocks.py +0 -0
  157. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/decoders.py +0 -0
  158. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/encoders.py +0 -0
  159. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  160. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/sam.py +0 -0
  161. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  162. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/transformer.py +0 -0
  163. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/utils.py +0 -0
  164. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/predict.py +0 -0
  165. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/utils/__init__.py +0 -0
  166. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/utils/loss.py +0 -0
  167. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/utils/ops.py +0 -0
  168. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/__init__.py +0 -0
  169. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/__init__.py +0 -0
  170. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/predict.py +0 -0
  171. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/train.py +0 -0
  172. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/val.py +0 -0
  173. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/__init__.py +0 -0
  174. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/predict.py +0 -0
  175. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/train.py +0 -0
  176. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/model.py +0 -0
  177. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/__init__.py +0 -0
  178. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/predict.py +0 -0
  179. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/train.py +0 -0
  180. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/val.py +0 -0
  181. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/__init__.py +0 -0
  182. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/predict.py +0 -0
  183. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/train.py +0 -0
  184. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/val.py +0 -0
  185. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/__init__.py +0 -0
  186. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/predict.py +0 -0
  187. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/train.py +0 -0
  188. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/val.py +0 -0
  189. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/world/__init__.py +0 -0
  190. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/world/train.py +0 -0
  191. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/world/train_world.py +0 -0
  192. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  193. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  194. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/train.py +0 -0
  195. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  196. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/val.py +0 -0
  197. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/__init__.py +0 -0
  198. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/autobackend.py +0 -0
  199. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/__init__.py +0 -0
  200. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/activation.py +0 -0
  201. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/block.py +0 -0
  202. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/conv.py +0 -0
  203. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/transformer.py +0 -0
  204. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/utils.py +0 -0
  205. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/tasks.py +0 -0
  206. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/text_model.py +0 -0
  207. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/__init__.py +0 -0
  208. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/ai_gym.py +0 -0
  209. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/analytics.py +0 -0
  210. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/distance_calculation.py +0 -0
  211. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/heatmap.py +0 -0
  212. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/instance_segmentation.py +0 -0
  213. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/object_blurrer.py +0 -0
  214. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/object_cropper.py +0 -0
  215. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/parking_management.py +0 -0
  216. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/queue_management.py +0 -0
  217. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/region_counter.py +0 -0
  218. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/security_alarm.py +0 -0
  219. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/speed_estimation.py +0 -0
  220. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/streamlit_inference.py +0 -0
  221. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/trackzone.py +0 -0
  222. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/vision_eye.py +0 -0
  223. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/__init__.py +0 -0
  224. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/basetrack.py +0 -0
  225. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/bot_sort.py +0 -0
  226. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/byte_tracker.py +0 -0
  227. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/track.py +0 -0
  228. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/__init__.py +0 -0
  229. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/gmc.py +0 -0
  230. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  231. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/matching.py +0 -0
  232. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/__init__.py +0 -0
  233. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/autobatch.py +0 -0
  234. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/benchmarks.py +0 -0
  235. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/__init__.py +0 -0
  236. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/base.py +0 -0
  237. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/clearml.py +0 -0
  238. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/comet.py +0 -0
  239. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/dvc.py +0 -0
  240. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/hub.py +0 -0
  241. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/mlflow.py +0 -0
  242. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/neptune.py +0 -0
  243. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/raytune.py +0 -0
  244. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  245. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/wb.py +0 -0
  246. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/checks.py +0 -0
  247. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/dist.py +0 -0
  248. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/downloads.py +0 -0
  249. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/errors.py +0 -0
  250. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/files.py +0 -0
  251. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/instance.py +0 -0
  252. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/loss.py +0 -0
  253. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/metrics.py +0 -0
  254. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/ops.py +0 -0
  255. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/patches.py +0 -0
  256. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/plotting.py +0 -0
  257. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/tal.py +0 -0
  258. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/torch_utils.py +0 -0
  259. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/triton.py +0 -0
  260. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/tuner.py +0 -0
  261. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/SOURCES.txt +0 -0
  262. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/dependency_links.txt +0 -0
  263. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/entry_points.txt +0 -0
  264. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/requires.txt +0 -0
  265. {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.104
3
+ Version: 8.3.105
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>
@@ -199,7 +199,7 @@ def test_track_stream():
199
199
 
200
200
  def test_val():
201
201
  """Test the validation mode of the YOLO model."""
202
- YOLO(MODEL).val(data="coco8.yaml", imgsz=32, save_hybrid=True)
202
+ YOLO(MODEL).val(data="coco8.yaml", imgsz=32)
203
203
 
204
204
 
205
205
  def test_train_scratch():
@@ -20,7 +20,7 @@ PARKING_VIDEO = "solution_ci_parking_demo.mp4" # only for parking management so
20
20
  PARKING_AREAS_JSON = "solution_ci_parking_areas.json" # only for parking management solution
21
21
  PARKING_MODEL = "solutions_ci_parking_model.pt" # only for parking management solution
22
22
  MODEL_FILE = "yolo11n.pt" # model file used for solutions, except parking management and instance segmentation
23
- REGION = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # for object counting, speed estimation and queue management
23
+ REGION = [(10, 200), (540, 200), (540, 180), (10, 180)] # for object counting, speed estimation and queue management
24
24
 
25
25
  # Test configs for each solution : (name, class, needs_frame_count, video, kwargs)
26
26
  SOLUTIONS = [
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.104"
3
+ __version__ = "8.3.105"
4
4
 
5
5
  import os
6
6
 
@@ -214,7 +214,6 @@ CFG_BOOL_KEYS = frozenset(
214
214
  "overlap_mask",
215
215
  "val",
216
216
  "save_json",
217
- "save_hybrid",
218
217
  "half",
219
218
  "dnn",
220
219
  "plots",
@@ -437,22 +436,25 @@ def _handle_deprecation(custom: Dict) -> Dict:
437
436
  equivalents. It also handles value conversions where necessary, such as inverting boolean values for
438
437
  'hide_labels' and 'hide_conf'.
439
438
  """
440
- for key in custom.copy().keys():
441
- if key == "boxes":
442
- deprecation_warn(key, "show_boxes")
443
- custom["show_boxes"] = custom.pop("boxes")
444
- if key == "hide_labels":
445
- deprecation_warn(key, "show_labels")
446
- custom["show_labels"] = custom.pop("hide_labels") == "False"
447
- if key == "hide_conf":
448
- deprecation_warn(key, "show_conf")
449
- custom["show_conf"] = custom.pop("hide_conf") == "False"
450
- if key == "line_thickness":
451
- deprecation_warn(key, "line_width")
452
- custom["line_width"] = custom.pop("line_thickness")
453
- if key == "label_smoothing":
454
- deprecation_warn(key)
455
- custom.pop("label_smoothing")
439
+ deprecated_mappings = {
440
+ "boxes": ("show_boxes", lambda v: v),
441
+ "hide_labels": ("show_labels", lambda v: not bool(v)),
442
+ "hide_conf": ("show_conf", lambda v: not bool(v)),
443
+ "line_thickness": ("line_width", lambda v: v),
444
+ }
445
+ removed_keys = {"label_smoothing", "save_hybrid"}
446
+
447
+ for old_key, (new_key, transform) in deprecated_mappings.items():
448
+ if old_key not in custom:
449
+ continue
450
+ deprecation_warn(old_key, new_key)
451
+ custom[new_key] = transform(custom.pop(old_key))
452
+
453
+ for key in removed_keys:
454
+ if key not in custom:
455
+ continue
456
+ deprecation_warn(key)
457
+ custom.pop(key)
456
458
 
457
459
  return custom
458
460
 
@@ -47,7 +47,6 @@ dropout: 0.0 # (float) use dropout regularization (classify train only)
47
47
  val: True # (bool) validate/test during training
48
48
  split: val # (str) dataset split to use for validation, i.e. 'val', 'test' or 'train'
49
49
  save_json: False # (bool) save results to JSON file
50
- save_hybrid: False # (bool) save hybrid version of labels (labels + additional predictions)
51
50
  conf: # (float, optional) object confidence threshold for detection (default 0.25 predict, 0.001 val)
52
51
  iou: 0.7 # (float) intersection over union (IoU) threshold for NMS
53
52
  max_det: 300 # (int) maximum number of detections per image
@@ -62,12 +62,6 @@ class DetectionValidator(BaseValidator):
62
62
  self.metrics = DetMetrics(save_dir=self.save_dir)
63
63
  self.iouv = torch.linspace(0.5, 0.95, 10) # IoU vector for mAP@0.5:0.95
64
64
  self.niou = self.iouv.numel()
65
- self.lb = [] # for autolabelling
66
- if self.args.save_hybrid and self.args.task == "detect":
67
- LOGGER.warning(
68
- "WARNING ⚠️ 'save_hybrid=True' will append ground truth to predictions for autolabelling.\n"
69
- "WARNING ⚠️ 'save_hybrid=True' will cause incorrect mAP.\n"
70
- )
71
65
 
72
66
  def preprocess(self, batch):
73
67
  """
@@ -84,15 +78,6 @@ class DetectionValidator(BaseValidator):
84
78
  for k in ["batch_idx", "cls", "bboxes"]:
85
79
  batch[k] = batch[k].to(self.device)
86
80
 
87
- if self.args.save_hybrid and self.args.task == "detect":
88
- height, width = batch["img"].shape[2:]
89
- nb = len(batch["img"])
90
- bboxes = batch["bboxes"] * torch.tensor((width, height, width, height), device=self.device)
91
- self.lb = [
92
- torch.cat([batch["cls"][batch["batch_idx"] == i], bboxes[batch["batch_idx"] == i]], dim=-1)
93
- for i in range(nb)
94
- ]
95
-
96
81
  return batch
97
82
 
98
83
  def init_metrics(self, model):
@@ -139,7 +124,6 @@ class DetectionValidator(BaseValidator):
139
124
  preds,
140
125
  self.args.conf,
141
126
  self.args.iou,
142
- labels=self.lb,
143
127
  nc=self.nc,
144
128
  multi_label=True,
145
129
  agnostic=self.args.single_cls or self.args.agnostic_nms,
@@ -369,8 +369,8 @@ class LRPCHead(nn.Module):
369
369
  if self.enabled:
370
370
  pf_score = self.pf(cls_feat)[0, 0].flatten(0)
371
371
  mask = pf_score.sigmoid() > conf
372
-
373
- cls_feat = self.vocab(cls_feat.flatten(2).transpose(-1, -2)[:, mask])
372
+ cls_feat = cls_feat.flatten(2).transpose(-1, -2)
373
+ cls_feat = self.vocab(cls_feat * mask.unsqueeze(-1).int() if not conf else cls_feat[:, mask])
374
374
  return (self.loc(loc_feat), cls_feat.transpose(-1, -2)), mask
375
375
  else:
376
376
  cls_feat = self.vocab(cls_feat)
@@ -478,7 +478,9 @@ class YOLOEDetect(Detect):
478
478
  cls_feat = self.cv3[i](x[i])
479
479
  loc_feat = self.cv2[i](x[i])
480
480
  assert isinstance(self.lrpc[i], LRPCHead)
481
- x[i], mask = self.lrpc[i](cls_feat, loc_feat, getattr(self, "conf", 0.001))
481
+ x[i], mask = self.lrpc[i](
482
+ cls_feat, loc_feat, 0 if self.export and not self.dynamic else getattr(self, "conf", 0.001)
483
+ )
482
484
  masks.append(mask)
483
485
  shape = x[0][0].shape
484
486
  if self.dynamic or self.shape != shape:
@@ -499,7 +501,7 @@ class YOLOEDetect(Detect):
499
501
  dbox = self.decode_bboxes(self.dfl(box), self.anchors.unsqueeze(0)) * self.strides
500
502
 
501
503
  mask = torch.cat(masks)
502
- y = torch.cat((dbox[:, :, mask], cls.sigmoid()), 1)
504
+ y = torch.cat((dbox if self.export and not self.dynamic else dbox[..., mask], cls.sigmoid()), 1)
503
505
 
504
506
  if return_mask:
505
507
  return (y, mask) if self.export else ((y, x), mask)
@@ -560,7 +562,7 @@ class YOLOESegment(YOLOEDetect):
560
562
  return x, mc, p
561
563
 
562
564
  if has_lrpc:
563
- mc = mc[:, :, mask]
565
+ mc = (mc * mask.int()) if self.export and not self.dynamic else mc[..., mask]
564
566
 
565
567
  return (torch.cat([x, mc], 1), p) if self.export else (torch.cat([x[0], mc], 1), (x[1], mc, p))
566
568
 
@@ -45,6 +45,7 @@ class ObjectCounter(BaseSolution):
45
45
 
46
46
  self.show_in = self.CFG["show_in"]
47
47
  self.show_out = self.CFG["show_out"]
48
+ self.margin = self.line_width * 2 # Scales the background rectangle size to display counts properly
48
49
 
49
50
  def count_objects(self, current_centroid, track_id, prev_position, cls):
50
51
  """
@@ -144,7 +145,7 @@ class ObjectCounter(BaseSolution):
144
145
  if value["IN"] != 0 or value["OUT"] != 0
145
146
  }
146
147
  if labels_dict:
147
- self.annotator.display_analytics(plot_im, labels_dict, (104, 31, 17), (255, 255, 255), 10)
148
+ self.annotator.display_analytics(plot_im, labels_dict, (104, 31, 17), (255, 255, 255), self.margin)
148
149
 
149
150
  def process(self, im0):
150
151
  """
@@ -79,9 +79,7 @@ class BaseSolution:
79
79
  self.LOGGER.info(f"Ultralytics Solutions: ✅ {DEFAULT_SOL_DICT}")
80
80
 
81
81
  self.region = self.CFG["region"] # Store region data for other classes usage
82
- self.line_width = (
83
- self.CFG["line_width"] if self.CFG["line_width"] is not None else 2
84
- ) # Store line_width for usage
82
+ self.line_width = self.CFG["line_width"] if self.CFG["line_width"] not in (None, 0) else 2 # Store line_width
85
83
 
86
84
  # Load Model and store classes names
87
85
  if self.CFG["model"] is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.104
3
+ Version: 8.3.105
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>
File without changes
File without changes
File without changes