ultralytics 8.3.71__tar.gz → 8.3.73__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. {ultralytics-8.3.71/ultralytics.egg-info → ultralytics-8.3.73}/PKG-INFO +2 -3
  2. {ultralytics-8.3.71 → ultralytics-8.3.73}/pyproject.toml +1 -2
  3. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/exporter.py +6 -4
  5. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/results.py +8 -19
  6. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/autobackend.py +3 -6
  7. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/tasks.py +0 -6
  8. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/checks.py +1 -1
  9. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/plotting.py +1 -2
  10. {ultralytics-8.3.71 → ultralytics-8.3.73/ultralytics.egg-info}/PKG-INFO +2 -3
  11. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics.egg-info/requires.txt +1 -2
  12. {ultralytics-8.3.71 → ultralytics-8.3.73}/LICENSE +0 -0
  13. {ultralytics-8.3.71 → ultralytics-8.3.73}/README.md +0 -0
  14. {ultralytics-8.3.71 → ultralytics-8.3.73}/setup.cfg +0 -0
  15. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/__init__.py +0 -0
  16. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/conftest.py +0 -0
  17. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/test_cli.py +0 -0
  18. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/test_cuda.py +0 -0
  19. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/test_engine.py +0 -0
  20. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/test_exports.py +0 -0
  21. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/test_integrations.py +0 -0
  22. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/test_python.py +0 -0
  23. {ultralytics-8.3.71 → ultralytics-8.3.73}/tests/test_solutions.py +0 -0
  24. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/assets/bus.jpg +0 -0
  25. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/assets/zidane.jpg +0 -0
  26. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/__init__.py +0 -0
  27. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  28. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  29. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  30. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  31. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  32. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  33. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  34. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  35. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  36. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  37. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  38. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  39. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  40. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/coco.yaml +0 -0
  41. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  42. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  43. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  44. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  45. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  46. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  47. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  48. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  49. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  50. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  51. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  52. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  53. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  54. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/signature.yaml +0 -0
  55. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  56. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/datasets/xView.yaml +0 -0
  57. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/default.yaml +0 -0
  58. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  59. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  60. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  61. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  62. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  63. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  64. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  65. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  66. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  67. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  68. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  69. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  70. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  71. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  72. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  73. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  74. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  75. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  76. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  77. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  78. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  79. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  80. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  81. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  82. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  83. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  84. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  85. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  86. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  87. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  88. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  89. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  90. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  91. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  92. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  93. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  94. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  95. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  96. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  97. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  98. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  99. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  100. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  101. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  102. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  103. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  104. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/solutions/default.yaml +0 -0
  105. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  106. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  107. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/__init__.py +0 -0
  108. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/annotator.py +0 -0
  109. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/augment.py +0 -0
  110. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/base.py +0 -0
  111. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/build.py +0 -0
  112. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/converter.py +0 -0
  113. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/dataset.py +0 -0
  114. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/loaders.py +0 -0
  115. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/split_dota.py +0 -0
  116. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/data/utils.py +0 -0
  117. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/__init__.py +0 -0
  118. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/model.py +0 -0
  119. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/predictor.py +0 -0
  120. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/trainer.py +0 -0
  121. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/tuner.py +0 -0
  122. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/engine/validator.py +0 -0
  123. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/hub/__init__.py +0 -0
  124. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/hub/auth.py +0 -0
  125. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/hub/google/__init__.py +0 -0
  126. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/hub/session.py +0 -0
  127. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/hub/utils.py +0 -0
  128. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/__init__.py +0 -0
  129. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/fastsam/__init__.py +0 -0
  130. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/fastsam/model.py +0 -0
  131. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/fastsam/predict.py +0 -0
  132. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/fastsam/utils.py +0 -0
  133. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/fastsam/val.py +0 -0
  134. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/nas/__init__.py +0 -0
  135. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/nas/model.py +0 -0
  136. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/nas/predict.py +0 -0
  137. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/nas/val.py +0 -0
  138. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/rtdetr/__init__.py +0 -0
  139. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/rtdetr/model.py +0 -0
  140. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/rtdetr/predict.py +0 -0
  141. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/rtdetr/train.py +0 -0
  142. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/rtdetr/val.py +0 -0
  143. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/__init__.py +0 -0
  144. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/amg.py +0 -0
  145. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/build.py +0 -0
  146. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/model.py +0 -0
  147. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/__init__.py +0 -0
  148. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/blocks.py +0 -0
  149. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/decoders.py +0 -0
  150. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/encoders.py +0 -0
  151. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  152. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/sam.py +0 -0
  153. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  154. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/transformer.py +0 -0
  155. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/modules/utils.py +0 -0
  156. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/sam/predict.py +0 -0
  157. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/utils/__init__.py +0 -0
  158. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/utils/loss.py +0 -0
  159. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/utils/ops.py +0 -0
  160. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/__init__.py +0 -0
  161. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/classify/__init__.py +0 -0
  162. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/classify/predict.py +0 -0
  163. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/classify/train.py +0 -0
  164. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/classify/val.py +0 -0
  165. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/detect/__init__.py +0 -0
  166. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/detect/predict.py +0 -0
  167. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/detect/train.py +0 -0
  168. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/detect/val.py +0 -0
  169. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/model.py +0 -0
  170. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/obb/__init__.py +0 -0
  171. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/obb/predict.py +0 -0
  172. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/obb/train.py +0 -0
  173. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/obb/val.py +0 -0
  174. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/pose/__init__.py +0 -0
  175. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/pose/predict.py +0 -0
  176. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/pose/train.py +0 -0
  177. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/pose/val.py +0 -0
  178. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/segment/__init__.py +0 -0
  179. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/segment/predict.py +0 -0
  180. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/segment/train.py +0 -0
  181. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/segment/val.py +0 -0
  182. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/world/__init__.py +0 -0
  183. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/world/train.py +0 -0
  184. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/models/yolo/world/train_world.py +0 -0
  185. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/__init__.py +0 -0
  186. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/modules/__init__.py +0 -0
  187. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/modules/activation.py +0 -0
  188. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/modules/block.py +0 -0
  189. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/modules/conv.py +0 -0
  190. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/modules/head.py +0 -0
  191. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/modules/transformer.py +0 -0
  192. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/nn/modules/utils.py +0 -0
  193. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/__init__.py +0 -0
  194. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/ai_gym.py +0 -0
  195. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/analytics.py +0 -0
  196. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/distance_calculation.py +0 -0
  197. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/heatmap.py +0 -0
  198. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/object_counter.py +0 -0
  199. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/parking_management.py +0 -0
  200. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/queue_management.py +0 -0
  201. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/region_counter.py +0 -0
  202. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/security_alarm.py +0 -0
  203. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/solutions.py +0 -0
  204. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/speed_estimation.py +0 -0
  205. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/streamlit_inference.py +0 -0
  206. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/solutions/trackzone.py +0 -0
  207. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/__init__.py +0 -0
  208. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/basetrack.py +0 -0
  209. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/bot_sort.py +0 -0
  210. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/byte_tracker.py +0 -0
  211. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/track.py +0 -0
  212. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/utils/__init__.py +0 -0
  213. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/utils/gmc.py +0 -0
  214. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  215. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/trackers/utils/matching.py +0 -0
  216. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/__init__.py +0 -0
  217. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/autobatch.py +0 -0
  218. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/benchmarks.py +0 -0
  219. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/__init__.py +0 -0
  220. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/base.py +0 -0
  221. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/clearml.py +0 -0
  222. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/comet.py +0 -0
  223. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/dvc.py +0 -0
  224. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/hub.py +0 -0
  225. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/mlflow.py +0 -0
  226. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/neptune.py +0 -0
  227. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/raytune.py +0 -0
  228. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  229. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/callbacks/wb.py +0 -0
  230. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/dist.py +0 -0
  231. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/downloads.py +0 -0
  232. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/errors.py +0 -0
  233. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/files.py +0 -0
  234. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/instance.py +0 -0
  235. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/loss.py +0 -0
  236. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/metrics.py +0 -0
  237. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/ops.py +0 -0
  238. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/patches.py +0 -0
  239. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/tal.py +0 -0
  240. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/torch_utils.py +0 -0
  241. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/triton.py +0 -0
  242. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics/utils/tuner.py +0 -0
  243. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics.egg-info/SOURCES.txt +0 -0
  244. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics.egg-info/dependency_links.txt +0 -0
  245. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics.egg-info/entry_points.txt +0 -0
  246. {ultralytics-8.3.71 → ultralytics-8.3.73}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.71
3
+ Version: 8.3.73
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>
@@ -54,11 +54,10 @@ Requires-Dist: pytest; extra == "dev"
54
54
  Requires-Dist: pytest-cov; extra == "dev"
55
55
  Requires-Dist: coverage[toml]; extra == "dev"
56
56
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
57
- Requires-Dist: beautifulsoup4<=4.12.3; extra == "dev"
58
57
  Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
59
58
  Requires-Dist: mkdocstrings[python]; extra == "dev"
60
59
  Requires-Dist: mkdocs-redirects; extra == "dev"
61
- Requires-Dist: mkdocs-ultralytics-plugin>=0.1.16; extra == "dev"
60
+ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.17; extra == "dev"
62
61
  Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
63
62
  Provides-Extra: export
64
63
  Requires-Dist: onnx>=1.12.0; extra == "export"
@@ -87,11 +87,10 @@ dev = [
87
87
  "pytest-cov",
88
88
  "coverage[toml]",
89
89
  "mkdocs>=1.6.0",
90
- "beautifulsoup4<=4.12.3", # For docs https://github.com/ultralytics/ultralytics/pull/19067
91
90
  "mkdocs-material>=9.5.9",
92
91
  "mkdocstrings[python]",
93
92
  "mkdocs-redirects", # 301 redirects
94
- "mkdocs-ultralytics-plugin>=0.1.16", # for meta descriptions and images, dates and authors
93
+ "mkdocs-ultralytics-plugin>=0.1.17", # for meta descriptions and images, dates and authors
95
94
  "mkdocs-macros-plugin>=1.0.5" # duplicating content (i.e. export tables) in multiple places
96
95
  ]
97
96
  export = [
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.71"
3
+ __version__ = "8.3.73"
4
4
 
5
5
  import os
6
6
 
@@ -386,6 +386,8 @@ class Exporter:
386
386
  "names": model.names,
387
387
  "args": {k: v for k, v in self.args if k in fmt_keys},
388
388
  } # model metadata
389
+ if dla is not None:
390
+ self.metadata["dla"] = dla # make sure `AutoBackend` uses correct dla device if it has one
389
391
  if model.task == "pose":
390
392
  self.metadata["kpt_shape"] = model.model[-1].kpt_shape
391
393
 
@@ -1544,10 +1546,10 @@ class NMSModel(torch.nn.Module):
1544
1546
  Performs inference with NMS post-processing. Supports Detect, Segment, OBB and Pose.
1545
1547
 
1546
1548
  Args:
1547
- x (torch.tensor): The preprocessed tensor with shape (N, 3, H, W).
1549
+ x (torch.Tensor): The preprocessed tensor with shape (N, 3, H, W).
1548
1550
 
1549
1551
  Returns:
1550
- out (torch.tensor): The post-processed results with shape (N, max_det, 4 + 2 + extra_shape).
1552
+ out (torch.Tensor): The post-processed results with shape (N, max_det, 4 + 2 + extra_shape).
1551
1553
  """
1552
1554
  from functools import partial
1553
1555
 
@@ -1556,8 +1558,8 @@ class NMSModel(torch.nn.Module):
1556
1558
  preds = self.model(x)
1557
1559
  pred = preds[0] if isinstance(preds, tuple) else preds
1558
1560
  pred = pred.transpose(-1, -2) # shape(1,84,6300) to shape(1,6300,84)
1559
- extra_shape = pred.shape[-1] - (4 + self.model.nc) # extras from Segment, OBB, Pose
1560
- boxes, scores, extras = pred.split([4, self.model.nc, extra_shape], dim=2)
1561
+ extra_shape = pred.shape[-1] - (4 + len(self.model.names)) # extras from Segment, OBB, Pose
1562
+ boxes, scores, extras = pred.split([4, len(self.model.names), extra_shape], dim=2)
1561
1563
  scores, classes = scores.max(dim=-1)
1562
1564
  self.args.max_det = min(pred.shape[1], self.args.max_det) # in case num_anchors < max_det
1563
1565
  # (N, max_det, 4 coords + 1 class score + 1 class label + extra_shape).
@@ -967,7 +967,7 @@ class Results(SimpleClass):
967
967
 
968
968
  # Convert results to a list of dictionaries
969
969
  data = self.summary(normalize=normalize, decimals=decimals)
970
- if not data:
970
+ if len(data) == 0:
971
971
  LOGGER.warning("⚠️ No results to save to SQL. Results dict is empty")
972
972
  return
973
973
 
@@ -977,31 +977,20 @@ class Results(SimpleClass):
977
977
 
978
978
  # Create table if it doesn't exist
979
979
  columns = (
980
- "id INTEGER PRIMARY KEY AUTOINCREMENT, class_name TEXT, confidence REAL, "
981
- "box TEXT, masks TEXT, kpts TEXT, obb TEXT"
980
+ "id INTEGER PRIMARY KEY AUTOINCREMENT, class_name TEXT, confidence REAL, box TEXT, masks TEXT, kpts TEXT"
982
981
  )
983
982
  cursor.execute(f"CREATE TABLE IF NOT EXISTS {table_name} ({columns})")
984
983
 
985
984
  # Insert data into the table
986
- for i, item in enumerate(data):
987
- detect, obb = None, None # necessary to reinit these variables inside for loop to avoid duplication
988
- class_name = item.get("name")
989
- box = item.get("box", {})
990
- # Serialize the box as JSON for 'detect' and 'obb' based on key presence
991
- if all(key in box for key in ["x1", "y1", "x2", "y2"]) and not any(key in box for key in ["x3", "x4"]):
992
- detect = json.dumps(box)
993
- if all(key in box for key in ["x1", "y1", "x2", "y2", "x3", "x4"]):
994
- obb = json.dumps(box)
995
-
985
+ for item in data:
996
986
  cursor.execute(
997
- f"INSERT INTO {table_name} (class_name, confidence, box, masks, kpts, obb) VALUES (?, ?, ?, ?, ?, ?)",
987
+ f"INSERT INTO {table_name} (class_name, confidence, box, masks, kpts) VALUES (?, ?, ?, ?, ?)",
998
988
  (
999
- class_name,
989
+ item.get("name"),
1000
990
  item.get("confidence"),
1001
- detect,
1002
- json.dumps(item.get("segments", {}).get("x", [])),
1003
- json.dumps(item.get("keypoints", {}).get("x", [])),
1004
- obb,
991
+ json.dumps(item.get("box", {})),
992
+ json.dumps(item.get("segments", {})),
993
+ json.dumps(item.get("keypoints", {})),
1005
994
  ),
1006
995
  )
1007
996
 
@@ -292,13 +292,10 @@ class AutoBackend(nn.Module):
292
292
  metadata = json.loads(f.read(meta_len).decode("utf-8")) # read metadata
293
293
  except UnicodeDecodeError:
294
294
  f.seek(0) # engine file may lack embedded Ultralytics metadata
295
+ dla = metadata.get("dla", None)
296
+ if dla is not None:
297
+ runtime.DLA_core = int(dla)
295
298
  model = runtime.deserialize_cuda_engine(f.read()) # read engine
296
- if "dla" in str(device.type):
297
- dla_core = int(device.type.split(":")[1])
298
- assert dla_core in {0, 1}, (
299
- "Expected device type for inference in DLA is 'dla:0' or 'dla:1', but received '{device.type}'"
300
- )
301
- runtime.DLA_core = dla_core
302
299
 
303
300
  # Model context
304
301
  try:
@@ -484,12 +484,6 @@ class RTDETRDetectionModel(DetectionModel):
484
484
  the training and inference processes. RTDETR is an object detection and tracking model that extends from the
485
485
  DetectionModel base class.
486
486
 
487
- Attributes:
488
- cfg (str): The configuration file path or preset string. Default is 'rtdetr-l.yaml'.
489
- ch (int): Number of input channels. Default is 3 (RGB).
490
- nc (int, optional): Number of classes for object detection. Default is None.
491
- verbose (bool): Specifies if summary statistics are shown during initialization. Default is True.
492
-
493
487
  Methods:
494
488
  init_criterion: Initializes the criterion used for loss calculation.
495
489
  loss: Computes and returns the loss during training.
@@ -131,7 +131,7 @@ def check_imgsz(imgsz, stride=32, min_dim=1, max_dim=2, floor=0):
131
131
  floor (int): Minimum allowed value for image size.
132
132
 
133
133
  Returns:
134
- (List[int]): Updated image size.
134
+ (List[int] | int): Updated image size.
135
135
  """
136
136
  # Convert stride to integer if it is a tensor
137
137
  stride = int(stride.max() if isinstance(stride, torch.Tensor) else stride)
@@ -801,9 +801,8 @@ class Annotator:
801
801
  return
802
802
 
803
803
  cv2.polylines(self.im, [np.int32([mask])], isClosed=True, color=mask_color, thickness=2)
804
- text_size, _ = cv2.getTextSize(label, 0, self.sf, self.tf)
805
-
806
804
  if label:
805
+ text_size, _ = cv2.getTextSize(label, 0, self.sf, self.tf)
807
806
  cv2.rectangle(
808
807
  self.im,
809
808
  (int(mask[0][0]) - text_size[0] // 2 - 10, int(mask[0][1]) - text_size[1] - 10),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.71
3
+ Version: 8.3.73
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>
@@ -54,11 +54,10 @@ Requires-Dist: pytest; extra == "dev"
54
54
  Requires-Dist: pytest-cov; extra == "dev"
55
55
  Requires-Dist: coverage[toml]; extra == "dev"
56
56
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
57
- Requires-Dist: beautifulsoup4<=4.12.3; extra == "dev"
58
57
  Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
59
58
  Requires-Dist: mkdocstrings[python]; extra == "dev"
60
59
  Requires-Dist: mkdocs-redirects; extra == "dev"
61
- Requires-Dist: mkdocs-ultralytics-plugin>=0.1.16; extra == "dev"
60
+ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.17; extra == "dev"
62
61
  Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
63
62
  Provides-Extra: export
64
63
  Requires-Dist: onnx>=1.12.0; extra == "export"
@@ -23,11 +23,10 @@ pytest
23
23
  pytest-cov
24
24
  coverage[toml]
25
25
  mkdocs>=1.6.0
26
- beautifulsoup4<=4.12.3
27
26
  mkdocs-material>=9.5.9
28
27
  mkdocstrings[python]
29
28
  mkdocs-redirects
30
- mkdocs-ultralytics-plugin>=0.1.16
29
+ mkdocs-ultralytics-plugin>=0.1.17
31
30
  mkdocs-macros-plugin>=1.0.5
32
31
 
33
32
  [export]
File without changes
File without changes
File without changes