ultralytics 8.3.132__tar.gz → 8.3.133__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 (277) hide show
  1. {ultralytics-8.3.132/ultralytics.egg-info → ultralytics-8.3.133}/PKG-INFO +1 -1
  2. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/test_cuda.py +16 -10
  3. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/dataset.py +4 -2
  5. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/exporter.py +10 -2
  6. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/model.py +1 -1
  7. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/__init__.py +2 -1
  8. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/checks.py +16 -11
  9. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/loss.py +1 -1
  10. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/metrics.py +1 -1
  11. {ultralytics-8.3.132 → ultralytics-8.3.133/ultralytics.egg-info}/PKG-INFO +1 -1
  12. {ultralytics-8.3.132 → ultralytics-8.3.133}/LICENSE +0 -0
  13. {ultralytics-8.3.132 → ultralytics-8.3.133}/README.md +0 -0
  14. {ultralytics-8.3.132 → ultralytics-8.3.133}/pyproject.toml +0 -0
  15. {ultralytics-8.3.132 → ultralytics-8.3.133}/setup.cfg +0 -0
  16. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/__init__.py +0 -0
  17. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/conftest.py +0 -0
  18. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/test_cli.py +0 -0
  19. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/test_engine.py +0 -0
  20. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/test_exports.py +0 -0
  21. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/test_integrations.py +0 -0
  22. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/test_python.py +0 -0
  23. {ultralytics-8.3.132 → ultralytics-8.3.133}/tests/test_solutions.py +0 -0
  24. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/assets/bus.jpg +0 -0
  25. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/assets/zidane.jpg +0 -0
  26. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/__init__.py +0 -0
  27. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  28. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  29. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  30. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  31. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
  32. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  33. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  34. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  35. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  36. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  37. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  38. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  39. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  40. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  41. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco.yaml +0 -0
  42. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  43. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  44. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  45. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  46. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  47. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  48. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  49. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  50. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  51. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  52. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  53. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  54. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  55. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  56. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  57. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/signature.yaml +0 -0
  58. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  59. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/datasets/xView.yaml +0 -0
  60. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/default.yaml +0 -0
  61. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  62. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  63. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  64. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  65. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  66. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  67. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  68. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  69. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  70. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  71. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  72. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  73. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  74. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  75. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  76. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  77. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  78. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  79. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  80. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  81. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  82. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  83. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  84. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  85. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  86. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  87. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  88. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  89. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  90. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  91. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  92. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  93. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  94. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  95. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  96. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  97. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  98. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  99. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  100. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  101. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  102. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  103. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  104. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  105. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  106. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  107. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  108. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  109. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  110. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  111. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  112. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  113. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  114. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  115. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  116. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  117. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  118. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/__init__.py +0 -0
  119. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/annotator.py +0 -0
  120. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/augment.py +0 -0
  121. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/base.py +0 -0
  122. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/build.py +0 -0
  123. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/converter.py +0 -0
  124. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/loaders.py +0 -0
  125. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/scripts/download_weights.sh +0 -0
  126. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/scripts/get_coco.sh +0 -0
  127. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/scripts/get_coco128.sh +0 -0
  128. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  129. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/split.py +0 -0
  130. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/split_dota.py +0 -0
  131. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/data/utils.py +0 -0
  132. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/__init__.py +0 -0
  133. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/predictor.py +0 -0
  134. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/results.py +0 -0
  135. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/trainer.py +0 -0
  136. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/tuner.py +0 -0
  137. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/engine/validator.py +0 -0
  138. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/hub/__init__.py +0 -0
  139. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/hub/auth.py +0 -0
  140. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/hub/google/__init__.py +0 -0
  141. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/hub/session.py +0 -0
  142. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/hub/utils.py +0 -0
  143. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/__init__.py +0 -0
  144. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/fastsam/__init__.py +0 -0
  145. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/fastsam/model.py +0 -0
  146. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/fastsam/predict.py +0 -0
  147. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/fastsam/utils.py +0 -0
  148. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/fastsam/val.py +0 -0
  149. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/nas/__init__.py +0 -0
  150. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/nas/model.py +0 -0
  151. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/nas/predict.py +0 -0
  152. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/nas/val.py +0 -0
  153. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/rtdetr/__init__.py +0 -0
  154. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/rtdetr/model.py +0 -0
  155. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/rtdetr/predict.py +0 -0
  156. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/rtdetr/train.py +0 -0
  157. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/rtdetr/val.py +0 -0
  158. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/__init__.py +0 -0
  159. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/amg.py +0 -0
  160. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/build.py +0 -0
  161. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/model.py +0 -0
  162. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/__init__.py +0 -0
  163. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/blocks.py +0 -0
  164. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/decoders.py +0 -0
  165. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/encoders.py +0 -0
  166. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  167. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/sam.py +0 -0
  168. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  169. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/transformer.py +0 -0
  170. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/modules/utils.py +0 -0
  171. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/sam/predict.py +0 -0
  172. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/utils/__init__.py +0 -0
  173. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/utils/loss.py +0 -0
  174. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/utils/ops.py +0 -0
  175. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/__init__.py +0 -0
  176. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/classify/__init__.py +0 -0
  177. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/classify/predict.py +0 -0
  178. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/classify/train.py +0 -0
  179. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/classify/val.py +0 -0
  180. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/detect/__init__.py +0 -0
  181. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/detect/predict.py +0 -0
  182. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/detect/train.py +0 -0
  183. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/detect/val.py +0 -0
  184. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/model.py +0 -0
  185. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/obb/__init__.py +0 -0
  186. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/obb/predict.py +0 -0
  187. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/obb/train.py +0 -0
  188. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/obb/val.py +0 -0
  189. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/pose/__init__.py +0 -0
  190. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/pose/predict.py +0 -0
  191. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/pose/train.py +0 -0
  192. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/pose/val.py +0 -0
  193. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/segment/__init__.py +0 -0
  194. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/segment/predict.py +0 -0
  195. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/segment/train.py +0 -0
  196. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/segment/val.py +0 -0
  197. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/world/__init__.py +0 -0
  198. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/world/train.py +0 -0
  199. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/world/train_world.py +0 -0
  200. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  201. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  202. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/yoloe/train.py +0 -0
  203. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  204. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/models/yolo/yoloe/val.py +0 -0
  205. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/__init__.py +0 -0
  206. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/autobackend.py +0 -0
  207. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/modules/__init__.py +0 -0
  208. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/modules/activation.py +0 -0
  209. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/modules/block.py +0 -0
  210. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/modules/conv.py +0 -0
  211. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/modules/head.py +0 -0
  212. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/modules/transformer.py +0 -0
  213. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/modules/utils.py +0 -0
  214. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/tasks.py +0 -0
  215. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/nn/text_model.py +0 -0
  216. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/__init__.py +0 -0
  217. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/ai_gym.py +0 -0
  218. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/analytics.py +0 -0
  219. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/config.py +0 -0
  220. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/distance_calculation.py +0 -0
  221. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/heatmap.py +0 -0
  222. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/instance_segmentation.py +0 -0
  223. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/object_blurrer.py +0 -0
  224. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/object_counter.py +0 -0
  225. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/object_cropper.py +0 -0
  226. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/parking_management.py +0 -0
  227. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/queue_management.py +0 -0
  228. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/region_counter.py +0 -0
  229. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/security_alarm.py +0 -0
  230. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/similarity_search.py +0 -0
  231. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/solutions.py +0 -0
  232. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/speed_estimation.py +0 -0
  233. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/streamlit_inference.py +0 -0
  234. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/templates/similarity-search.html +0 -0
  235. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/trackzone.py +0 -0
  236. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/solutions/vision_eye.py +0 -0
  237. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/__init__.py +0 -0
  238. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/basetrack.py +0 -0
  239. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/bot_sort.py +0 -0
  240. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/byte_tracker.py +0 -0
  241. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/track.py +0 -0
  242. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/utils/__init__.py +0 -0
  243. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/utils/gmc.py +0 -0
  244. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  245. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/trackers/utils/matching.py +0 -0
  246. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/autobatch.py +0 -0
  247. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/autodevice.py +0 -0
  248. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/benchmarks.py +0 -0
  249. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/__init__.py +0 -0
  250. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/base.py +0 -0
  251. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/clearml.py +0 -0
  252. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/comet.py +0 -0
  253. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/dvc.py +0 -0
  254. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/hub.py +0 -0
  255. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/mlflow.py +0 -0
  256. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/neptune.py +0 -0
  257. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/raytune.py +0 -0
  258. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  259. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/callbacks/wb.py +0 -0
  260. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/dist.py +0 -0
  261. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/downloads.py +0 -0
  262. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/errors.py +0 -0
  263. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/export.py +0 -0
  264. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/files.py +0 -0
  265. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/instance.py +0 -0
  266. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/ops.py +0 -0
  267. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/patches.py +0 -0
  268. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/plotting.py +0 -0
  269. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/tal.py +0 -0
  270. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/torch_utils.py +0 -0
  271. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/triton.py +0 -0
  272. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics/utils/tuner.py +0 -0
  273. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics.egg-info/SOURCES.txt +0 -0
  274. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics.egg-info/dependency_links.txt +0 -0
  275. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics.egg-info/entry_points.txt +0 -0
  276. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics.egg-info/requires.txt +0 -0
  277. {ultralytics-8.3.132 → ultralytics-8.3.133}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.132
3
+ Version: 8.3.133
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>
@@ -9,7 +9,7 @@ import torch
9
9
  from tests import CUDA_DEVICE_COUNT, CUDA_IS_AVAILABLE, MODEL, SOURCE
10
10
  from ultralytics import YOLO
11
11
  from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
12
- from ultralytics.utils import ASSETS, WEIGHTS_DIR
12
+ from ultralytics.utils import ASSETS, IS_JETSON, WEIGHTS_DIR
13
13
  from ultralytics.utils.autodevice import GPUInfo
14
14
  from ultralytics.utils.checks import check_amp
15
15
  from ultralytics.utils.torch_utils import TORCH_1_13
@@ -17,11 +17,14 @@ from ultralytics.utils.torch_utils import TORCH_1_13
17
17
  # Try to find idle devices if CUDA is available
18
18
  DEVICES = []
19
19
  if CUDA_IS_AVAILABLE:
20
- gpu_info = GPUInfo()
21
- gpu_info.print_status()
22
- idle_gpus = gpu_info.select_idle_gpu(count=2, min_memory_mb=2048)
23
- if idle_gpus:
24
- DEVICES = idle_gpus
20
+ if IS_JETSON:
21
+ DEVICES = [0] # NVIDIA Jetson only has one GPU and does not fully support pynvml library
22
+ else:
23
+ gpu_info = GPUInfo()
24
+ gpu_info.print_status()
25
+ idle_gpus = gpu_info.select_idle_gpu(count=2, min_memory_mb=2048)
26
+ if idle_gpus:
27
+ DEVICES = idle_gpus
25
28
 
26
29
 
27
30
  def test_checks():
@@ -38,6 +41,7 @@ def test_amp():
38
41
 
39
42
 
40
43
  @pytest.mark.slow
44
+ # @pytest.mark.skipif(IS_JETSON, reason="Temporary disable ONNX for Jetson")
41
45
  @pytest.mark.skipif(not DEVICES, reason="No CUDA devices available")
42
46
  @pytest.mark.parametrize(
43
47
  "task, dynamic, int8, half, batch, simplify, nms",
@@ -49,7 +53,7 @@ def test_amp():
49
53
  if not (
50
54
  (int8 and half)
51
55
  or (task == "classify" and nms)
52
- or (task == "obb" and nms and not TORCH_1_13)
56
+ or (task == "obb" and nms and (not TORCH_1_13 or IS_JETSON)) # obb nms fails on NVIDIA Jetson
53
57
  or (simplify and dynamic) # onnxslim is slow when dynamic=True
54
58
  )
55
59
  ],
@@ -110,9 +114,11 @@ def test_train():
110
114
 
111
115
  device = tuple(DEVICES) if len(DEVICES) > 1 else DEVICES[0]
112
116
  results = YOLO(MODEL).train(data="coco8.yaml", imgsz=64, epochs=1, device=device) # requires imgsz>=64
113
- visible = eval(os.environ["CUDA_VISIBLE_DEVICES"])
114
- assert visible == device, f"Passed GPUs '{device}', but used GPUs '{visible}'"
115
- assert results is (None if len(DEVICES) > 1 else not None) # DDP returns None, single-GPU returns metrics
117
+ # NVIDIA Jetson only has one GPU and therefore skipping checks
118
+ if not IS_JETSON:
119
+ visible = eval(os.environ["CUDA_VISIBLE_DEVICES"])
120
+ assert visible == device, f"Passed GPUs '{device}', but used GPUs '{visible}'"
121
+ assert results is (None if len(DEVICES) > 1 else not None) # DDP returns None, single-GPU returns metrics
116
122
 
117
123
 
118
124
  @pytest.mark.slow
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.132"
3
+ __version__ = "8.3.133"
4
4
 
5
5
  import os
6
6
 
@@ -184,7 +184,9 @@ class YOLODataset(BaseDataset):
184
184
  [cache.pop(k) for k in ("hash", "version", "msgs")] # remove items
185
185
  labels = cache["labels"]
186
186
  if not labels:
187
- LOGGER.warning(f"No images found in {cache_path}, training may not work correctly. {HELP_URL}")
187
+ raise RuntimeError(
188
+ f"No valid images found in {cache_path}. Images with incorrectly formatted labels are ignored. {HELP_URL}"
189
+ )
188
190
  self.im_files = [lb["im_file"] for lb in labels] # update im_files
189
191
 
190
192
  # Check if the dataset is all boxes or all segments
@@ -199,7 +201,7 @@ class YOLODataset(BaseDataset):
199
201
  for lb in labels:
200
202
  lb["segments"] = []
201
203
  if len_cls == 0:
202
- LOGGER.warning(f"No labels found in {cache_path}, training may not work correctly. {HELP_URL}")
204
+ LOGGER.warning(f"Labels are missing or empty in {cache_path}, training may not work correctly. {HELP_URL}")
203
205
  return labels
204
206
 
205
207
  def build_transforms(self, hyp=None):
@@ -89,6 +89,7 @@ from ultralytics.utils import (
89
89
  MACOS_VERSION,
90
90
  RKNN_CHIPS,
91
91
  ROOT,
92
+ SETTINGS,
92
93
  WINDOWS,
93
94
  YAML,
94
95
  callbacks,
@@ -106,7 +107,7 @@ from ultralytics.utils.downloads import attempt_download_asset, get_github_asset
106
107
  from ultralytics.utils.export import export_engine, export_onnx
107
108
  from ultralytics.utils.files import file_size, spaces_in_path
108
109
  from ultralytics.utils.ops import Profile, nms_rotated
109
- from ultralytics.utils.torch_utils import TORCH_1_13, get_latest_opset, select_device
110
+ from ultralytics.utils.torch_utils import TORCH_1_13, get_cpu_info, get_latest_opset, select_device
110
111
 
111
112
 
112
113
  def export_formats():
@@ -344,7 +345,6 @@ class Exporter:
344
345
  "See https://docs.ultralytics.com/models/yolo-world for details."
345
346
  )
346
347
  model.clip_model = None # openvino int8 export error: https://github.com/ultralytics/ultralytics/pull/18445
347
-
348
348
  if self.args.int8 and not self.args.data:
349
349
  self.args.data = DEFAULT_CFG.data or TASK2DATA[getattr(model, "task", "detect")] # assign default data
350
350
  LOGGER.warning(
@@ -352,6 +352,14 @@ class Exporter:
352
352
  )
353
353
  if tfjs and (ARM64 and LINUX):
354
354
  raise SystemError("TF.js exports are not currently supported on ARM64 Linux")
355
+ # Recommend OpenVINO if export and Intel CPU
356
+ if SETTINGS.get("openvino_msg"):
357
+ if "intel" in get_cpu_info().lower():
358
+ LOGGER.info(
359
+ "💡 ProTip: Export to OpenVINO format for best performance on Intel CPUs."
360
+ " Learn more at https://docs.ultralytics.com/integrations/openvino/"
361
+ )
362
+ SETTINGS["openvino_msg"] = False
355
363
 
356
364
  # Input
357
365
  im = torch.zeros(self.args.batch, model.yaml.get("channels", 3), *self.imgsz).to(self.device)
@@ -529,7 +529,7 @@ class Model(torch.nn.Module):
529
529
  - For SAM-type models, 'prompts' can be passed as a keyword argument.
530
530
  """
531
531
  if source is None:
532
- source = ASSETS
532
+ source = "https://ultralytics.com/images/boats.jpg" if self.task == "obb" else ASSETS
533
533
  LOGGER.warning(f"'source' is missing. Using 'source={source}'.")
534
534
 
535
535
  is_cli = (ARGV[0].endswith("yolo") or ARGV[0].endswith("ultralytics")) and any(
@@ -1312,7 +1312,8 @@ class SettingsManager(JSONDict):
1312
1312
  "raytune": True, # Ray Tune integration
1313
1313
  "tensorboard": False, # TensorBoard logging
1314
1314
  "wandb": False, # Weights & Biases logging
1315
- "vscode_msg": True, # VSCode messaging
1315
+ "vscode_msg": True, # VSCode message
1316
+ "openvino_msg": True, # OpenVINO export on Intel CPU message
1316
1317
  }
1317
1318
 
1318
1319
  self.help_msg = (
@@ -24,6 +24,7 @@ from ultralytics.utils import (
24
24
  AUTOINSTALL,
25
25
  IS_COLAB,
26
26
  IS_GIT_DIR,
27
+ IS_JETSON,
27
28
  IS_KAGGLE,
28
29
  IS_PIP_PACKAGE,
29
30
  LINUX,
@@ -820,19 +821,23 @@ def cuda_device_count() -> int:
820
821
  Returns:
821
822
  (int): The number of NVIDIA GPUs available.
822
823
  """
823
- try:
824
- # Run the nvidia-smi command and capture its output
825
- output = subprocess.check_output(
826
- ["nvidia-smi", "--query-gpu=count", "--format=csv,noheader,nounits"], encoding="utf-8"
827
- )
824
+ if IS_JETSON:
825
+ # NVIDIA Jetson does not fully support nvidia-smi and therefore use PyTorch instead
826
+ return torch.cuda.device_count()
827
+ else:
828
+ try:
829
+ # Run the nvidia-smi command and capture its output
830
+ output = subprocess.check_output(
831
+ ["nvidia-smi", "--query-gpu=count", "--format=csv,noheader,nounits"], encoding="utf-8"
832
+ )
828
833
 
829
- # Take the first line and strip any leading/trailing white space
830
- first_line = output.strip().split("\n")[0]
834
+ # Take the first line and strip any leading/trailing white space
835
+ first_line = output.strip().split("\n")[0]
831
836
 
832
- return int(first_line)
833
- except (subprocess.CalledProcessError, FileNotFoundError, ValueError):
834
- # If the command fails, nvidia-smi is not found, or output is not an integer, assume no GPUs are available
835
- return 0
837
+ return int(first_line)
838
+ except (subprocess.CalledProcessError, FileNotFoundError, ValueError):
839
+ # If the command fails, nvidia-smi is not found, or output is not an integer, assume no GPUs are available
840
+ return 0
836
841
 
837
842
 
838
843
  def cuda_is_available() -> bool:
@@ -674,7 +674,7 @@ class v8OBBLoss(v8DetectionLoss):
674
674
  raise TypeError(
675
675
  "ERROR ❌ OBB dataset incorrectly formatted or not a OBB dataset.\n"
676
676
  "This error can occur when incorrectly training a 'OBB' model on a 'detect' dataset, "
677
- "i.e. 'yolo train model=yolo11n-obb.pt data=dota8.yaml'.\nVerify your dataset is a "
677
+ "i.e. 'yolo train model=yolo11n-obb.pt data=coco8.yaml'.\nVerify your dataset is a "
678
678
  "correctly formatted 'OBB' dataset using 'data=dota8.yaml' "
679
679
  "as an example.\nSee https://docs.ultralytics.com/datasets/obb/ for help."
680
680
  ) from e
@@ -788,7 +788,7 @@ class Metric(SimpleClass):
788
788
  def fitness(self):
789
789
  """Return model fitness as a weighted combination of metrics."""
790
790
  w = [0.0, 0.0, 0.1, 0.9] # weights for [P, R, mAP@0.5, mAP@0.5:0.95]
791
- return (np.array(self.mean_results()) * w).sum()
791
+ return (np.nan_to_num(np.array(self.mean_results())) * w).sum()
792
792
 
793
793
  def update(self, results):
794
794
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.132
3
+ Version: 8.3.133
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
File without changes
File without changes
File without changes