ultralytics 8.2.36__tar.gz → 8.2.37__tar.gz

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

Potentially problematic release.


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

Files changed (226) hide show
  1. {ultralytics-8.2.36 → ultralytics-8.2.37}/PKG-INFO +9 -9
  2. {ultralytics-8.2.36 → ultralytics-8.2.37}/README.md +8 -8
  3. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/loaders.py +1 -1
  5. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/modules/block.py +0 -12
  6. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/tasks.py +19 -6
  7. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/plotting.py +110 -4
  8. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics.egg-info/PKG-INFO +9 -9
  9. {ultralytics-8.2.36 → ultralytics-8.2.37}/LICENSE +0 -0
  10. {ultralytics-8.2.36 → ultralytics-8.2.37}/pyproject.toml +0 -0
  11. {ultralytics-8.2.36 → ultralytics-8.2.37}/setup.cfg +0 -0
  12. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/__init__.py +0 -0
  13. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/conftest.py +0 -0
  14. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/test_cli.py +0 -0
  15. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/test_cuda.py +0 -0
  16. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/test_engine.py +0 -0
  17. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/test_explorer.py +0 -0
  18. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/test_exports.py +0 -0
  19. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/test_integrations.py +0 -0
  20. {ultralytics-8.2.36 → ultralytics-8.2.37}/tests/test_python.py +0 -0
  21. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/assets/bus.jpg +0 -0
  22. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/assets/zidane.jpg +0 -0
  23. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/__init__.py +0 -0
  24. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  25. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  26. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  27. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  28. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  29. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  30. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  31. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  32. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  33. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  34. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  35. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  36. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  37. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/coco.yaml +0 -0
  38. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  39. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  40. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  41. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  42. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  43. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  44. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  45. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  46. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  47. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  48. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/signature.yaml +0 -0
  49. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  50. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/datasets/xView.yaml +0 -0
  51. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/default.yaml +0 -0
  52. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  53. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  54. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  55. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  56. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  57. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  58. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  59. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  60. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  61. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  62. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  63. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  64. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  65. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  66. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  67. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  68. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  69. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  70. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  71. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  72. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  73. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  74. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  75. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  76. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  77. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  78. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  79. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  80. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  81. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  82. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  83. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  84. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  85. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  86. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  87. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  88. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/__init__.py +0 -0
  89. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/annotator.py +0 -0
  90. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/augment.py +0 -0
  91. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/base.py +0 -0
  92. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/build.py +0 -0
  93. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/converter.py +0 -0
  94. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/dataset.py +0 -0
  95. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/explorer/__init__.py +0 -0
  96. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/explorer/explorer.py +0 -0
  97. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/explorer/gui/__init__.py +0 -0
  98. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/explorer/gui/dash.py +0 -0
  99. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/explorer/utils.py +0 -0
  100. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/split_dota.py +0 -0
  101. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/data/utils.py +0 -0
  102. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/__init__.py +0 -0
  103. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/exporter.py +0 -0
  104. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/model.py +0 -0
  105. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/predictor.py +0 -0
  106. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/results.py +0 -0
  107. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/trainer.py +0 -0
  108. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/tuner.py +0 -0
  109. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/engine/validator.py +0 -0
  110. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/hub/__init__.py +0 -0
  111. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/hub/auth.py +0 -0
  112. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/hub/session.py +0 -0
  113. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/hub/utils.py +0 -0
  114. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/__init__.py +0 -0
  115. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/fastsam/__init__.py +0 -0
  116. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/fastsam/model.py +0 -0
  117. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/fastsam/predict.py +0 -0
  118. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/fastsam/prompt.py +0 -0
  119. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/fastsam/utils.py +0 -0
  120. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/fastsam/val.py +0 -0
  121. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/nas/__init__.py +0 -0
  122. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/nas/model.py +0 -0
  123. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/nas/predict.py +0 -0
  124. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/nas/val.py +0 -0
  125. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/rtdetr/__init__.py +0 -0
  126. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/rtdetr/model.py +0 -0
  127. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/rtdetr/predict.py +0 -0
  128. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/rtdetr/train.py +0 -0
  129. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/rtdetr/val.py +0 -0
  130. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/__init__.py +0 -0
  131. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/amg.py +0 -0
  132. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/build.py +0 -0
  133. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/model.py +0 -0
  134. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/modules/__init__.py +0 -0
  135. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/modules/decoders.py +0 -0
  136. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/modules/encoders.py +0 -0
  137. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/modules/sam.py +0 -0
  138. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  139. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/modules/transformer.py +0 -0
  140. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/sam/predict.py +0 -0
  141. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/utils/__init__.py +0 -0
  142. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/utils/loss.py +0 -0
  143. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/utils/ops.py +0 -0
  144. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/__init__.py +0 -0
  145. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/classify/__init__.py +0 -0
  146. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/classify/predict.py +0 -0
  147. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/classify/train.py +0 -0
  148. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/classify/val.py +0 -0
  149. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/detect/__init__.py +0 -0
  150. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/detect/predict.py +0 -0
  151. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/detect/train.py +0 -0
  152. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/detect/val.py +0 -0
  153. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/model.py +0 -0
  154. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/obb/__init__.py +0 -0
  155. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/obb/predict.py +0 -0
  156. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/obb/train.py +0 -0
  157. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/obb/val.py +0 -0
  158. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/pose/__init__.py +0 -0
  159. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/pose/predict.py +0 -0
  160. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/pose/train.py +0 -0
  161. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/pose/val.py +0 -0
  162. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/segment/__init__.py +0 -0
  163. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/segment/predict.py +0 -0
  164. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/segment/train.py +0 -0
  165. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/segment/val.py +0 -0
  166. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/world/__init__.py +0 -0
  167. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/world/train.py +0 -0
  168. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/models/yolo/world/train_world.py +0 -0
  169. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/__init__.py +0 -0
  170. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/autobackend.py +0 -0
  171. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/modules/__init__.py +0 -0
  172. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/modules/conv.py +0 -0
  173. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/modules/head.py +0 -0
  174. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/modules/transformer.py +0 -0
  175. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/nn/modules/utils.py +0 -0
  176. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/__init__.py +0 -0
  177. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/ai_gym.py +0 -0
  178. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/analytics.py +0 -0
  179. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/distance_calculation.py +0 -0
  180. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/heatmap.py +0 -0
  181. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/object_counter.py +0 -0
  182. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/parking_management.py +0 -0
  183. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/queue_management.py +0 -0
  184. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/solutions/speed_estimation.py +0 -0
  185. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/__init__.py +0 -0
  186. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/basetrack.py +0 -0
  187. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/bot_sort.py +0 -0
  188. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/byte_tracker.py +0 -0
  189. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/track.py +0 -0
  190. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/utils/__init__.py +0 -0
  191. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/utils/gmc.py +0 -0
  192. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  193. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/trackers/utils/matching.py +0 -0
  194. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/__init__.py +0 -0
  195. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/autobatch.py +0 -0
  196. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/benchmarks.py +0 -0
  197. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/__init__.py +0 -0
  198. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/base.py +0 -0
  199. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/clearml.py +0 -0
  200. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/comet.py +0 -0
  201. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/dvc.py +0 -0
  202. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/hub.py +0 -0
  203. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/mlflow.py +0 -0
  204. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/neptune.py +0 -0
  205. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/raytune.py +0 -0
  206. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  207. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/callbacks/wb.py +0 -0
  208. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/checks.py +0 -0
  209. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/dist.py +0 -0
  210. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/downloads.py +0 -0
  211. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/errors.py +0 -0
  212. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/files.py +0 -0
  213. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/instance.py +0 -0
  214. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/loss.py +0 -0
  215. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/metrics.py +0 -0
  216. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/ops.py +0 -0
  217. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/patches.py +0 -0
  218. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/tal.py +0 -0
  219. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/torch_utils.py +0 -0
  220. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/triton.py +0 -0
  221. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics/utils/tuner.py +0 -0
  222. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics.egg-info/SOURCES.txt +0 -0
  223. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics.egg-info/dependency_links.txt +0 -0
  224. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics.egg-info/entry_points.txt +0 -0
  225. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics.egg-info/requires.txt +0 -0
  226. {ultralytics-8.2.36 → ultralytics-8.2.37}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.36
3
+ Version: 8.2.37
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -188,13 +188,13 @@ See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python) for more exa
188
188
 
189
189
  Ultralytics provides interactive notebooks for YOLOv8, covering training, validation, tracking, and more. Each notebook is paired with a [YouTube](https://youtube.com/ultralytics?sub_confirmation=1) tutorial, making it easy to learn and implement advanced YOLOv8 features.
190
190
 
191
- | Docs | Notebook | YouTube |
192
- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
193
- | <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/j8uQc0qB91s"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
194
- | <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/lveF9iCMIzc"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
195
- | <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_tracking.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/hHyHmOtmEgs"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
196
- | <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_counting.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/Ag2e-5_NpS0"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
197
- | <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/heatmaps.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/4ezde5-nZZw"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
191
+ | Docs | Notebook | YouTube |
192
+ | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
193
+ | <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/j8uQc0qB91s"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
194
+ | <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/lveF9iCMIzc"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
195
+ | <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_tracking.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/hHyHmOtmEgs"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
196
+ | <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_counting.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/Ag2e-5_NpS0"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
197
+ | <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/heatmaps.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/4ezde5-nZZw"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
198
198
  | <a href="https://docs.ultralytics.com/datasets/explorer/">Ultralytics Datasets Explorer with SQL and OpenAI Integration 🚀 New</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/docs/en/datasets/explorer/explorer.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/3VryynorQeo"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
199
199
 
200
200
  ## <div align="center">Models</div>
@@ -332,7 +332,7 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
332
332
  <img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" alt="NeuralMagic logo"></a>
333
333
  </div>
334
334
 
335
- | Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
335
+ | Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
336
336
  | :--------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
337
337
  | Label and export your custom datasets directly to YOLOv8 for training with [Roboflow](https://roboflow.com/?ref=ultralytics) | Automatically track, visualize and even remotely train YOLOv8 using [ClearML](https://clear.ml/) (open-source!) | Free forever, [Comet](https://bit.ly/yolov8-readme-comet) lets you save YOLOv8 models, resume training, and interactively visualize and debug predictions | Run YOLOv8 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) |
338
338
 
@@ -104,13 +104,13 @@ See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python) for more exa
104
104
 
105
105
  Ultralytics provides interactive notebooks for YOLOv8, covering training, validation, tracking, and more. Each notebook is paired with a [YouTube](https://youtube.com/ultralytics?sub_confirmation=1) tutorial, making it easy to learn and implement advanced YOLOv8 features.
106
106
 
107
- | Docs | Notebook | YouTube |
108
- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
109
- | <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/j8uQc0qB91s"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
110
- | <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/lveF9iCMIzc"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
111
- | <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_tracking.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/hHyHmOtmEgs"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
112
- | <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_counting.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/Ag2e-5_NpS0"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
113
- | <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/heatmaps.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/4ezde5-nZZw"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
107
+ | Docs | Notebook | YouTube |
108
+ | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
109
+ | <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/j8uQc0qB91s"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
110
+ | <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/lveF9iCMIzc"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
111
+ | <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_tracking.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/hHyHmOtmEgs"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
112
+ | <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_counting.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/Ag2e-5_NpS0"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
113
+ | <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/heatmaps.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/4ezde5-nZZw"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
114
114
  | <a href="https://docs.ultralytics.com/datasets/explorer/">Ultralytics Datasets Explorer with SQL and OpenAI Integration 🚀 New</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/docs/en/datasets/explorer/explorer.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/3VryynorQeo"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
115
115
 
116
116
  ## <div align="center">Models</div>
@@ -248,7 +248,7 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
248
248
  <img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" alt="NeuralMagic logo"></a>
249
249
  </div>
250
250
 
251
- | Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
251
+ | Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
252
252
  | :--------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
253
253
  | Label and export your custom datasets directly to YOLOv8 for training with [Roboflow](https://roboflow.com/?ref=ultralytics) | Automatically track, visualize and even remotely train YOLOv8 using [ClearML](https://clear.ml/) (open-source!) | Free forever, [Comet](https://bit.ly/yolov8-readme-comet) lets you save YOLOv8 models, resume training, and interactively visualize and debug predictions | Run YOLOv8 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) |
254
254
 
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.36"
3
+ __version__ = "8.2.37"
4
4
 
5
5
  import os
6
6
 
@@ -362,7 +362,7 @@ class LoadImagesAndVideos:
362
362
  self.mode = "image"
363
363
  im0 = cv2.imread(path) # BGR
364
364
  if im0 is None:
365
- raise FileNotFoundError(f"Image Not Found {path}")
365
+ raise FileNotFoundError(f"Image Read Error {path}")
366
366
  paths.append(path)
367
367
  imgs.append(im0)
368
368
  info.append(f"image {self.count + 1}/{self.nf} {path}: ")
@@ -672,18 +672,6 @@ class SPPELAN(nn.Module):
672
672
  return self.cv5(torch.cat(y, 1))
673
673
 
674
674
 
675
- class Silence(nn.Module):
676
- """Silence."""
677
-
678
- def __init__(self):
679
- """Initializes the Silence module."""
680
- super(Silence, self).__init__()
681
-
682
- def forward(self, x):
683
- """Forward pass through Silence layer."""
684
- return x
685
-
686
-
687
675
  class CBLinear(nn.Module):
688
676
  """CBLinear."""
689
677
 
@@ -675,7 +675,7 @@ class Ensemble(nn.ModuleList):
675
675
 
676
676
 
677
677
  @contextlib.contextmanager
678
- def temporary_modules(modules=None):
678
+ def temporary_modules(modules={}, attributes={}):
679
679
  """
680
680
  Context manager for temporarily adding or modifying modules in Python's module cache (`sys.modules`).
681
681
 
@@ -685,11 +685,13 @@ def temporary_modules(modules=None):
685
685
 
686
686
  Args:
687
687
  modules (dict, optional): A dictionary mapping old module paths to new module paths.
688
+ attributes (dict, optional): A dictionary mapping old module attributes to new module attributes.
688
689
 
689
690
  Example:
690
691
  ```python
691
- with temporary_modules({'old.module.path': 'new.module.path'}):
692
+ with temporary_modules({'old.module.path': 'new.module.path'}, {'old.module.attribute': 'new.module.attribute'}):
692
693
  import old.module.path # this will now import new.module.path
694
+ from old.module import attribute # this will now import new.module.attribute
693
695
  ```
694
696
 
695
697
  Note:
@@ -697,13 +699,21 @@ def temporary_modules(modules=None):
697
699
  Be aware that directly manipulating `sys.modules` can lead to unpredictable results, especially in larger
698
700
  applications or libraries. Use this function with caution.
699
701
  """
700
- if not modules:
701
- modules = {}
702
702
 
703
703
  import importlib
704
704
  import sys
705
705
 
706
706
  try:
707
+ # Set attributes in sys.modules under their old name
708
+ for old, new in attributes.items():
709
+ old_module, old_attr = old.rsplit(".", 1)
710
+ new_module, new_attr = new.rsplit(".", 1)
711
+ setattr(
712
+ importlib.import_module(old_module),
713
+ old_attr,
714
+ getattr(importlib.import_module(new_module), new_attr),
715
+ )
716
+
707
717
  # Set modules in sys.modules under their old name
708
718
  for old, new in modules.items():
709
719
  sys.modules[old] = importlib.import_module(new)
@@ -734,11 +744,14 @@ def torch_safe_load(weight):
734
744
  file = attempt_download_asset(weight) # search online if missing locally
735
745
  try:
736
746
  with temporary_modules(
737
- {
747
+ modules={
738
748
  "ultralytics.yolo.utils": "ultralytics.utils",
739
749
  "ultralytics.yolo.v8": "ultralytics.models.yolo",
740
750
  "ultralytics.yolo.data": "ultralytics.data",
741
- }
751
+ },
752
+ attributes={
753
+ "ultralytics.nn.modules.block.Silence": "torch.nn.Identity",
754
+ },
742
755
  ): # for legacy 8.0 Classify and Pose models
743
756
  ckpt = torch.load(file, map_location="cpu")
744
757
 
@@ -183,11 +183,108 @@ class Annotator:
183
183
  (104, 31, 17),
184
184
  }
185
185
 
186
- def box_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), rotated=False):
187
- """Add one xyxy box to image with label."""
188
- txt_color = (
189
- (104, 31, 17) if color in self.dark_colors else (255, 255, 255) if color in self.light_colors else txt_color
186
+ def get_txt_color(self, color=(128, 128, 128), txt_color=(255, 255, 255)):
187
+ """Assign text color based on background color."""
188
+ if color in self.dark_colors:
189
+ return 104, 31, 17
190
+ elif color in self.light_colors:
191
+ return 255, 255, 255
192
+ else:
193
+ return txt_color
194
+
195
+ def circle_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), margin=2):
196
+ """
197
+ Draws a label with a background rectangle centered within a given bounding box.
198
+
199
+ Args:
200
+ box (tuple): The bounding box coordinates (x1, y1, x2, y2).
201
+ label (str): The text label to be displayed.
202
+ color (tuple, optional): The background color of the rectangle (R, G, B).
203
+ txt_color (tuple, optional): The color of the text (R, G, B).
204
+ margin (int, optional): The margin between the text and the rectangle border.
205
+ """
206
+
207
+ # If label have more than 3 characters, skip other characters, due to circle size
208
+ if len(label) > 3:
209
+ print(
210
+ f"Length of label is {len(label)}, initial 3 label characters will be considered for circle annotation!"
211
+ )
212
+ label = label[:3]
213
+
214
+ # Calculate the center of the box
215
+ x_center, y_center = int((box[0] + box[2]) / 2), int((box[1] + box[3]) / 2)
216
+ # Get the text size
217
+ text_size = cv2.getTextSize(str(label), cv2.FONT_HERSHEY_SIMPLEX, self.sf - 0.15, self.tf)[0]
218
+ # Calculate the required radius to fit the text with the margin
219
+ required_radius = int(((text_size[0] ** 2 + text_size[1] ** 2) ** 0.5) / 2) + margin
220
+ # Draw the circle with the required radius
221
+ cv2.circle(self.im, (x_center, y_center), required_radius, color, -1)
222
+ # Calculate the position for the text
223
+ text_x = x_center - text_size[0] // 2
224
+ text_y = y_center + text_size[1] // 2
225
+ # Draw the text
226
+ cv2.putText(
227
+ self.im,
228
+ str(label),
229
+ (text_x, text_y),
230
+ cv2.FONT_HERSHEY_SIMPLEX,
231
+ self.sf - 0.15,
232
+ self.get_txt_color(color, txt_color),
233
+ self.tf,
234
+ lineType=cv2.LINE_AA,
235
+ )
236
+
237
+ def text_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), margin=5):
238
+ """
239
+ Draws a label with a background rectangle centered within a given bounding box.
240
+
241
+ Args:
242
+ box (tuple): The bounding box coordinates (x1, y1, x2, y2).
243
+ label (str): The text label to be displayed.
244
+ color (tuple, optional): The background color of the rectangle (R, G, B).
245
+ txt_color (tuple, optional): The color of the text (R, G, B).
246
+ margin (int, optional): The margin between the text and the rectangle border.
247
+ """
248
+
249
+ # Calculate the center of the bounding box
250
+ x_center, y_center = int((box[0] + box[2]) / 2), int((box[1] + box[3]) / 2)
251
+ # Get the size of the text
252
+ text_size = cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, self.sf - 0.1, self.tf)[0]
253
+ # Calculate the top-left corner of the text (to center it)
254
+ text_x = x_center - text_size[0] // 2
255
+ text_y = y_center + text_size[1] // 2
256
+ # Calculate the coordinates of the background rectangle
257
+ rect_x1 = text_x - margin
258
+ rect_y1 = text_y - text_size[1] - margin
259
+ rect_x2 = text_x + text_size[0] + margin
260
+ rect_y2 = text_y + margin
261
+ # Draw the background rectangle
262
+ cv2.rectangle(self.im, (rect_x1, rect_y1), (rect_x2, rect_y2), color, -1)
263
+ # Draw the text on top of the rectangle
264
+ cv2.putText(
265
+ self.im,
266
+ label,
267
+ (text_x, text_y),
268
+ cv2.FONT_HERSHEY_SIMPLEX,
269
+ self.sf - 0.1,
270
+ self.get_txt_color(color, txt_color),
271
+ self.tf,
272
+ lineType=cv2.LINE_AA,
190
273
  )
274
+
275
+ def box_label(self, box, label="", color=(128, 128, 128), txt_color=(255, 255, 255), rotated=False):
276
+ """
277
+ Draws a bounding box to image with label.
278
+
279
+ Args:
280
+ box (tuple): The bounding box coordinates (x1, y1, x2, y2).
281
+ label (str): The text label to be displayed.
282
+ color (tuple, optional): The background color of the rectangle (R, G, B).
283
+ txt_color (tuple, optional): The color of the text (R, G, B).
284
+ rotated (bool, optional): Variable used to check if task is OBB
285
+ """
286
+
287
+ txt_color = self.get_txt_color(color, txt_color)
191
288
  if isinstance(box, torch.Tensor):
192
289
  box = box.tolist()
193
290
  if self.pil or not is_ascii(label):
@@ -242,6 +339,7 @@ class Annotator:
242
339
  alpha (float): Mask transparency: 0.0 fully transparent, 1.0 opaque
243
340
  retina_masks (bool): Whether to use high resolution masks or not. Defaults to False.
244
341
  """
342
+
245
343
  if self.pil:
246
344
  # Convert to numpy first
247
345
  self.im = np.asarray(self.im).copy()
@@ -281,6 +379,7 @@ class Annotator:
281
379
  Note:
282
380
  `kpt_line=True` currently only supports human pose plotting.
283
381
  """
382
+
284
383
  if self.pil:
285
384
  # Convert to numpy first
286
385
  self.im = np.asarray(self.im).copy()
@@ -376,6 +475,7 @@ class Annotator:
376
475
  Returns:
377
476
  angle (degree): Degree value of angle between three points
378
477
  """
478
+
379
479
  x_min, y_min, x_max, y_max = bbox
380
480
  width = x_max - x_min
381
481
  height = y_max - y_min
@@ -390,6 +490,7 @@ class Annotator:
390
490
  color (tuple): Region Color value
391
491
  thickness (int): Region area thickness value
392
492
  """
493
+
393
494
  cv2.polylines(self.im, [np.array(reg_pts, dtype=np.int32)], isClosed=True, color=color, thickness=thickness)
394
495
 
395
496
  def draw_centroid_and_tracks(self, track, color=(255, 0, 255), track_thickness=2):
@@ -401,6 +502,7 @@ class Annotator:
401
502
  color (tuple): tracks line color
402
503
  track_thickness (int): track line thickness value
403
504
  """
505
+
404
506
  points = np.hstack(track).astype(np.int32).reshape((-1, 1, 2))
405
507
  cv2.polylines(self.im, [points], isClosed=False, color=color, thickness=track_thickness)
406
508
  cv2.circle(self.im, (int(track[-1][0]), int(track[-1][1])), track_thickness * 2, color, -1)
@@ -513,6 +615,7 @@ class Annotator:
513
615
  Returns:
514
616
  angle (degree): Degree value of angle between three points
515
617
  """
618
+
516
619
  a, b, c = np.array(a), np.array(b), np.array(c)
517
620
  radians = np.arctan2(c[1] - b[1], c[0] - b[0]) - np.arctan2(a[1] - b[1], a[0] - b[0])
518
621
  angle = np.abs(radians * 180.0 / np.pi)
@@ -530,6 +633,7 @@ class Annotator:
530
633
  shape (tuple): imgsz for model inference
531
634
  radius (int): Keypoint radius value
532
635
  """
636
+
533
637
  if indices is None:
534
638
  indices = [2, 5, 7]
535
639
  for i, k in enumerate(keypoints):
@@ -626,6 +730,7 @@ class Annotator:
626
730
  det_label (str): Detection label text
627
731
  track_label (str): Tracking label text
628
732
  """
733
+
629
734
  cv2.polylines(self.im, [np.int32([mask])], isClosed=True, color=mask_color, thickness=2)
630
735
 
631
736
  label = f"Track ID: {track_label}" if track_label else det_label
@@ -695,6 +800,7 @@ class Annotator:
695
800
  color (tuple): object centroid and line color value
696
801
  pin_color (tuple): visioneye point color value
697
802
  """
803
+
698
804
  center_bbox = int((box[0] + box[2]) / 2), int((box[1] + box[3]) / 2)
699
805
  cv2.circle(self.im, center_point, self.tf * 2, pin_color, -1)
700
806
  cv2.circle(self.im, center_bbox, self.tf * 2, color, -1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.36
3
+ Version: 8.2.37
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -188,13 +188,13 @@ See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python) for more exa
188
188
 
189
189
  Ultralytics provides interactive notebooks for YOLOv8, covering training, validation, tracking, and more. Each notebook is paired with a [YouTube](https://youtube.com/ultralytics?sub_confirmation=1) tutorial, making it easy to learn and implement advanced YOLOv8 features.
190
190
 
191
- | Docs | Notebook | YouTube |
192
- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
193
- | <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/j8uQc0qB91s"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
194
- | <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/lveF9iCMIzc"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
195
- | <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_tracking.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/hHyHmOtmEgs"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
196
- | <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_counting.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/Ag2e-5_NpS0"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
197
- | <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/heatmaps.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/4ezde5-nZZw"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
191
+ | Docs | Notebook | YouTube |
192
+ | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
193
+ | <a href="https://docs.ultralytics.com/modes/">YOLOv8 Train, Val, Predict and Export Modes</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/j8uQc0qB91s"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
194
+ | <a href="https://docs.ultralytics.com/hub/quickstart/">Ultralytics HUB QuickStart</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/lveF9iCMIzc"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
195
+ | <a href="https://docs.ultralytics.com/modes/track/">YOLOv8 Multi-Object Tracking in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_tracking.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/hHyHmOtmEgs"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
196
+ | <a href="https://docs.ultralytics.com/guides/object-counting/">YOLOv8 Object Counting in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/object_counting.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/Ag2e-5_NpS0"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
197
+ | <a href="https://docs.ultralytics.com/guides/heatmaps/">YOLOv8 Heatmaps in Videos</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/heatmaps.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/4ezde5-nZZw"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
198
198
  | <a href="https://docs.ultralytics.com/datasets/explorer/">Ultralytics Datasets Explorer with SQL and OpenAI Integration 🚀 New</a> | <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/docs/en/datasets/explorer/explorer.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a> | <a href="https://youtu.be/3VryynorQeo"><center><img width=30% src="https://raw.githubusercontent.com/ultralytics/assets/main/social/logo-social-youtube-rect.png" alt="Ultralytics Youtube Video"></center></a> |
199
199
 
200
200
  ## <div align="center">Models</div>
@@ -332,7 +332,7 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
332
332
  <img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" alt="NeuralMagic logo"></a>
333
333
  </div>
334
334
 
335
- | Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
335
+ | Roboflow | ClearML ⭐ NEW | Comet ⭐ NEW | Neural Magic ⭐ NEW |
336
336
  | :--------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
337
337
  | Label and export your custom datasets directly to YOLOv8 for training with [Roboflow](https://roboflow.com/?ref=ultralytics) | Automatically track, visualize and even remotely train YOLOv8 using [ClearML](https://clear.ml/) (open-source!) | Free forever, [Comet](https://bit.ly/yolov8-readme-comet) lets you save YOLOv8 models, resume training, and interactively visualize and debug predictions | Run YOLOv8 inference up to 6x faster with [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) |
338
338
 
File without changes
File without changes