ultralytics 8.3.35__tar.gz → 8.3.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.
Files changed (242) hide show
  1. {ultralytics-8.3.35/ultralytics.egg-info → ultralytics-8.3.36}/PKG-INFO +2 -2
  2. {ultralytics-8.3.35 → ultralytics-8.3.36}/README.md +1 -1
  3. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_solutions.py +1 -1
  4. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/__init__.py +1 -1
  5. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/solutions/default.yaml +1 -1
  6. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/exporter.py +2 -3
  7. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/tasks.py +4 -14
  8. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/object_counter.py +21 -25
  9. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/solutions.py +1 -1
  10. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/torch_utils.py +1 -1
  11. {ultralytics-8.3.35 → ultralytics-8.3.36/ultralytics.egg-info}/PKG-INFO +2 -2
  12. {ultralytics-8.3.35 → ultralytics-8.3.36}/LICENSE +0 -0
  13. {ultralytics-8.3.35 → ultralytics-8.3.36}/pyproject.toml +0 -0
  14. {ultralytics-8.3.35 → ultralytics-8.3.36}/setup.cfg +0 -0
  15. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/__init__.py +0 -0
  16. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/conftest.py +0 -0
  17. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_cli.py +0 -0
  18. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_cuda.py +0 -0
  19. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_engine.py +0 -0
  20. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_exports.py +0 -0
  21. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_integrations.py +0 -0
  22. {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_python.py +0 -0
  23. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/assets/bus.jpg +0 -0
  24. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/assets/zidane.jpg +0 -0
  25. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/__init__.py +0 -0
  26. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  27. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  28. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  29. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  30. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  31. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  32. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  33. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  34. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  35. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  36. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  37. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  38. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  39. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco.yaml +0 -0
  40. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  41. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  42. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  43. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  44. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  45. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  46. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  47. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  48. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  49. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  50. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  51. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  52. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/signature.yaml +0 -0
  53. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  54. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/xView.yaml +0 -0
  55. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/default.yaml +0 -0
  56. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  57. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  58. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  59. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  60. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  61. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  62. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  63. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  64. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  65. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  66. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  67. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  68. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  69. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  70. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  71. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  72. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  73. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  74. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  75. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  76. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  77. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  78. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  79. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  80. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  81. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  82. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  83. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  84. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  85. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  86. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  87. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  88. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  89. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  90. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  91. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  92. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  93. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  94. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  95. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  96. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  97. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  98. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  99. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  100. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  101. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  102. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  103. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/__init__.py +0 -0
  104. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/annotator.py +0 -0
  105. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/augment.py +0 -0
  106. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/base.py +0 -0
  107. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/build.py +0 -0
  108. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/converter.py +0 -0
  109. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/dataset.py +0 -0
  110. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/loaders.py +0 -0
  111. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/split_dota.py +0 -0
  112. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/utils.py +0 -0
  113. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/__init__.py +0 -0
  114. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/model.py +0 -0
  115. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/predictor.py +0 -0
  116. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/results.py +0 -0
  117. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/trainer.py +0 -0
  118. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/tuner.py +0 -0
  119. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/validator.py +0 -0
  120. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/__init__.py +0 -0
  121. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/auth.py +0 -0
  122. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/google/__init__.py +0 -0
  123. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/session.py +0 -0
  124. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/utils.py +0 -0
  125. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/__init__.py +0 -0
  126. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/__init__.py +0 -0
  127. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/model.py +0 -0
  128. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/predict.py +0 -0
  129. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/utils.py +0 -0
  130. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/val.py +0 -0
  131. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/__init__.py +0 -0
  132. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/model.py +0 -0
  133. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/predict.py +0 -0
  134. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/val.py +0 -0
  135. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/__init__.py +0 -0
  136. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/model.py +0 -0
  137. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/predict.py +0 -0
  138. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/train.py +0 -0
  139. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/val.py +0 -0
  140. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/__init__.py +0 -0
  141. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/amg.py +0 -0
  142. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/build.py +0 -0
  143. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/model.py +0 -0
  144. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/__init__.py +0 -0
  145. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/blocks.py +0 -0
  146. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/decoders.py +0 -0
  147. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/encoders.py +0 -0
  148. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  149. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/sam.py +0 -0
  150. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  151. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/transformer.py +0 -0
  152. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/utils.py +0 -0
  153. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/predict.py +0 -0
  154. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/utils/__init__.py +0 -0
  155. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/utils/loss.py +0 -0
  156. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/utils/ops.py +0 -0
  157. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/__init__.py +0 -0
  158. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/__init__.py +0 -0
  159. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/predict.py +0 -0
  160. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/train.py +0 -0
  161. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/val.py +0 -0
  162. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/__init__.py +0 -0
  163. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/predict.py +0 -0
  164. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/train.py +0 -0
  165. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/val.py +0 -0
  166. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/model.py +0 -0
  167. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/__init__.py +0 -0
  168. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/predict.py +0 -0
  169. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/train.py +0 -0
  170. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/val.py +0 -0
  171. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/__init__.py +0 -0
  172. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/predict.py +0 -0
  173. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/train.py +0 -0
  174. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/val.py +0 -0
  175. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/__init__.py +0 -0
  176. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/predict.py +0 -0
  177. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/train.py +0 -0
  178. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/val.py +0 -0
  179. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/world/__init__.py +0 -0
  180. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/world/train.py +0 -0
  181. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/world/train_world.py +0 -0
  182. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/__init__.py +0 -0
  183. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/autobackend.py +0 -0
  184. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/__init__.py +0 -0
  185. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/activation.py +0 -0
  186. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/block.py +0 -0
  187. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/conv.py +0 -0
  188. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/head.py +0 -0
  189. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/transformer.py +0 -0
  190. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/utils.py +0 -0
  191. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/__init__.py +0 -0
  192. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/ai_gym.py +0 -0
  193. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/analytics.py +0 -0
  194. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/distance_calculation.py +0 -0
  195. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/heatmap.py +0 -0
  196. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/parking_management.py +0 -0
  197. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/queue_management.py +0 -0
  198. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/region_counter.py +0 -0
  199. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/speed_estimation.py +0 -0
  200. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/streamlit_inference.py +0 -0
  201. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/__init__.py +0 -0
  202. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/basetrack.py +0 -0
  203. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/bot_sort.py +0 -0
  204. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/byte_tracker.py +0 -0
  205. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/track.py +0 -0
  206. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/__init__.py +0 -0
  207. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/gmc.py +0 -0
  208. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  209. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/matching.py +0 -0
  210. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/__init__.py +0 -0
  211. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/autobatch.py +0 -0
  212. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/benchmarks.py +0 -0
  213. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/__init__.py +0 -0
  214. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/base.py +0 -0
  215. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/clearml.py +0 -0
  216. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/comet.py +0 -0
  217. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/dvc.py +0 -0
  218. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/hub.py +0 -0
  219. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/mlflow.py +0 -0
  220. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/neptune.py +0 -0
  221. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/raytune.py +0 -0
  222. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  223. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/wb.py +0 -0
  224. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/checks.py +0 -0
  225. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/dist.py +0 -0
  226. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/downloads.py +0 -0
  227. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/errors.py +0 -0
  228. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/files.py +0 -0
  229. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/instance.py +0 -0
  230. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/loss.py +0 -0
  231. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/metrics.py +0 -0
  232. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/ops.py +0 -0
  233. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/patches.py +0 -0
  234. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/plotting.py +0 -0
  235. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/tal.py +0 -0
  236. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/triton.py +0 -0
  237. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/tuner.py +0 -0
  238. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/SOURCES.txt +0 -0
  239. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/dependency_links.txt +0 -0
  240. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/entry_points.txt +0 -0
  241. {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/requires.txt +0 -0
  242. {ultralytics-8.3.35 → ultralytics-8.3.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.3.35
3
+ Version: 8.3.36
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>
@@ -96,7 +96,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
96
96
 
97
97
  <div>
98
98
  <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>
99
- <a href="https://www.pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
99
+ <a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
100
100
  <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
101
101
  <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
102
102
  <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
@@ -8,7 +8,7 @@
8
8
 
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
- <a href="https://www.pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
11
+ <a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
12
12
  <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
13
13
  <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
14
14
  <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
@@ -16,7 +16,7 @@ def test_major_solutions():
16
16
  safe_download(url=MAJOR_SOLUTIONS_DEMO)
17
17
  cap = cv2.VideoCapture("solutions_ci_demo.mp4")
18
18
  assert cap.isOpened(), "Error reading video file"
19
- region_points = [(20, 400), (1080, 404), (1080, 360), (20, 360)]
19
+ region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
20
20
  counter = solutions.ObjectCounter(region=region_points, model="yolo11n.pt", show=False) # Test object counter
21
21
  heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, model="yolo11n.pt", show=False) # Test heatmaps
22
22
  speed = solutions.SpeedEstimator(region=region_points, model="yolo11n.pt", show=False) # Test queue manager
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.3.35"
3
+ __version__ = "8.3.36"
4
4
 
5
5
  import os
6
6
 
@@ -2,7 +2,7 @@
2
2
  # Configuration for Ultralytics Solutions
3
3
 
4
4
  # Object counting settings
5
- region: # Object counting, queue or speed estimation region points. Default region points are [(20, 400), (1080, 404), (1080, 360), (20, 360)]
5
+ region: # Object counting, queue or speed estimation region points. Default region points are [(20, 400), (1080, 400), (1080, 360), (20, 360)]
6
6
  show_in: True # Flag to display objects moving *into* the defined region
7
7
  show_out: True # Flag to display objects moving *out of* the defined region
8
8
 
@@ -501,8 +501,7 @@ class Exporter:
501
501
  @try_export
502
502
  def export_openvino(self, prefix=colorstr("OpenVINO:")):
503
503
  """YOLO OpenVINO export."""
504
- # WARNING: numpy>=2.0.0 issue with OpenVINO on macOS https://github.com/ultralytics/ultralytics/pull/17221
505
- check_requirements(f'openvino{"<=2024.0.0" if ARM64 else ">=2024.0.0"}') # fix OpenVINO issue on ARM64
504
+ check_requirements("openvino>=2024.5.0")
506
505
  import openvino as ov
507
506
 
508
507
  LOGGER.info(f"\n{prefix} starting export with openvino {ov.__version__}...")
@@ -530,7 +529,7 @@ class Exporter:
530
529
  if self.args.int8:
531
530
  fq = str(self.file).replace(self.file.suffix, f"_int8_openvino_model{os.sep}")
532
531
  fq_ov = str(Path(fq) / self.file.with_suffix(".xml").name)
533
- check_requirements("nncf>=2.8.0")
532
+ check_requirements("nncf>=2.14.0")
534
533
  import nncf
535
534
 
536
535
  def transform_fn(data_item) -> np.ndarray:
@@ -960,10 +960,8 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
960
960
  m = getattr(torch.nn, m[3:]) if "nn." in m else globals()[m] # get module
961
961
  for j, a in enumerate(args):
962
962
  if isinstance(a, str):
963
- try:
963
+ with contextlib.suppress(ValueError):
964
964
  args[j] = locals()[a] if a in locals() else ast.literal_eval(a)
965
- except ValueError:
966
- pass
967
965
  n = n_ = max(round(n * depth), 1) if n > 1 else n # depth gain
968
966
  if m in {
969
967
  Classify,
@@ -1141,24 +1139,16 @@ def guess_model_task(model):
1141
1139
 
1142
1140
  # Guess from model cfg
1143
1141
  if isinstance(model, dict):
1144
- try:
1142
+ with contextlib.suppress(Exception):
1145
1143
  return cfg2task(model)
1146
- except Exception:
1147
- pass
1148
-
1149
1144
  # Guess from PyTorch model
1150
1145
  if isinstance(model, nn.Module): # PyTorch model
1151
1146
  for x in "model.args", "model.model.args", "model.model.model.args":
1152
- try:
1147
+ with contextlib.suppress(Exception):
1153
1148
  return eval(x)["task"]
1154
- except Exception:
1155
- pass
1156
1149
  for x in "model.yaml", "model.model.yaml", "model.model.model.yaml":
1157
- try:
1150
+ with contextlib.suppress(Exception):
1158
1151
  return cfg2task(eval(x))
1159
- except Exception:
1160
- pass
1161
-
1162
1152
  for m in model.modules():
1163
1153
  if isinstance(m, Segment):
1164
1154
  return "segment"
@@ -80,37 +80,33 @@ class ObjectCounter(BaseSolution):
80
80
  else: # Moving left
81
81
  self.out_count += 1
82
82
  self.classwise_counts[self.names[cls]]["OUT"] += 1
83
- else:
84
- # Horizontal region: Compare y-coordinates to determine direction
85
- if current_centroid[1] > prev_position[1]: # Moving downward
86
- self.in_count += 1
87
- self.classwise_counts[self.names[cls]]["IN"] += 1
88
- else: # Moving upward
89
- self.out_count += 1
90
- self.classwise_counts[self.names[cls]]["OUT"] += 1
83
+ # Horizontal region: Compare y-coordinates to determine direction
84
+ elif current_centroid[1] > prev_position[1]: # Moving downward
85
+ self.in_count += 1
86
+ self.classwise_counts[self.names[cls]]["IN"] += 1
87
+ else: # Moving upward
88
+ self.out_count += 1
89
+ self.classwise_counts[self.names[cls]]["OUT"] += 1
91
90
  self.counted_ids.append(track_id)
92
91
 
93
92
  elif len(self.region) > 2: # Polygonal region
94
93
  polygon = self.Polygon(self.region)
95
94
  if polygon.contains(self.Point(current_centroid)):
96
95
  # Determine motion direction for vertical or horizontal polygons
97
- region_width = max([p[0] for p in self.region]) - min([p[0] for p in self.region])
98
- region_height = max([p[1] for p in self.region]) - min([p[1] for p in self.region])
99
-
100
- if region_width < region_height: # Vertical-oriented polygon
101
- if current_centroid[0] > prev_position[0]: # Moving right
102
- self.in_count += 1
103
- self.classwise_counts[self.names[cls]]["IN"] += 1
104
- else: # Moving left
105
- self.out_count += 1
106
- self.classwise_counts[self.names[cls]]["OUT"] += 1
107
- else: # Horizontal-oriented polygon
108
- if current_centroid[1] > prev_position[1]: # Moving downward
109
- self.in_count += 1
110
- self.classwise_counts[self.names[cls]]["IN"] += 1
111
- else: # Moving upward
112
- self.out_count += 1
113
- self.classwise_counts[self.names[cls]]["OUT"] += 1
96
+ region_width = max(p[0] for p in self.region) - min(p[0] for p in self.region)
97
+ region_height = max(p[1] for p in self.region) - min(p[1] for p in self.region)
98
+
99
+ if (
100
+ region_width < region_height
101
+ and current_centroid[0] > prev_position[0]
102
+ or region_width >= region_height
103
+ and current_centroid[1] > prev_position[1]
104
+ ): # Moving right
105
+ self.in_count += 1
106
+ self.classwise_counts[self.names[cls]]["IN"] += 1
107
+ else: # Moving left
108
+ self.out_count += 1
109
+ self.classwise_counts[self.names[cls]]["OUT"] += 1
114
110
  self.counted_ids.append(track_id)
115
111
 
116
112
  def store_classwise_counts(self, cls):
@@ -135,7 +135,7 @@ class BaseSolution:
135
135
  def initialize_region(self):
136
136
  """Initialize the counting region and line segment based on configuration settings."""
137
137
  if self.region is None:
138
- self.region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]
138
+ self.region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
139
139
  self.r_s = (
140
140
  self.Polygon(self.region) if len(self.region) >= 3 else self.LineString(self.region)
141
141
  ) # region or line
@@ -675,7 +675,7 @@ def profile(input, ops, n=10, device=None, max_num_obj=0):
675
675
  torch.randn(
676
676
  x.shape[0],
677
677
  max_num_obj,
678
- int(sum([(x.shape[-1] / s) * (x.shape[-2] / s) for s in m.stride.tolist()])),
678
+ int(sum((x.shape[-1] / s) * (x.shape[-2] / s) for s in m.stride.tolist())),
679
679
  device=device,
680
680
  dtype=torch.float32,
681
681
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.3.35
3
+ Version: 8.3.36
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>
@@ -96,7 +96,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
96
96
 
97
97
  <div>
98
98
  <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>
99
- <a href="https://www.pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
99
+ <a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
100
100
  <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
101
101
  <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
102
102
  <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
File without changes
File without changes