ultralytics 8.3.116__tar.gz → 8.3.117__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 (271) hide show
  1. {ultralytics-8.3.116/ultralytics.egg-info → ultralytics-8.3.117}/PKG-INFO +3 -4
  2. {ultralytics-8.3.116 → ultralytics-8.3.117}/pyproject.toml +2 -3
  3. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/__init__.py +1 -1
  5. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/base.py +2 -1
  6. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/dataset.py +2 -3
  7. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/loaders.py +2 -1
  8. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/exporter.py +17 -7
  9. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/trainer.py +2 -2
  10. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/session.py +3 -2
  11. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/utils.py +1 -1
  12. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/predict.py +1 -1
  13. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/val.py +1 -1
  14. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/val.py +1 -1
  15. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/autobackend.py +8 -4
  16. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/text_model.py +2 -4
  17. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/__init__.py +1 -1
  18. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/benchmarks.py +3 -4
  19. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/checks.py +4 -2
  20. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/torch_utils.py +4 -3
  21. {ultralytics-8.3.116 → ultralytics-8.3.117/ultralytics.egg-info}/PKG-INFO +3 -4
  22. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/requires.txt +4 -3
  23. {ultralytics-8.3.116 → ultralytics-8.3.117}/LICENSE +0 -0
  24. {ultralytics-8.3.116 → ultralytics-8.3.117}/README.md +0 -0
  25. {ultralytics-8.3.116 → ultralytics-8.3.117}/setup.cfg +0 -0
  26. {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_cli.py +0 -0
  27. {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_cuda.py +0 -0
  28. {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_engine.py +0 -0
  29. {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_exports.py +0 -0
  30. {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_integrations.py +0 -0
  31. {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_python.py +0 -0
  32. {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_solutions.py +0 -0
  33. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/assets/bus.jpg +0 -0
  34. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/assets/zidane.jpg +0 -0
  35. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  36. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  37. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  38. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  39. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  40. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  41. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  42. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  43. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  44. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  45. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  46. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  47. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  48. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco.yaml +0 -0
  49. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  50. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  51. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  52. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  53. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  54. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  55. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  56. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  57. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  58. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  59. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  60. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  61. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  62. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  63. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  64. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/signature.yaml +0 -0
  65. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  66. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/xView.yaml +0 -0
  67. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/default.yaml +0 -0
  68. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  69. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  70. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  71. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  72. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  73. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  74. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  75. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  76. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  77. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  78. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  79. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  80. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  81. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  82. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  83. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  84. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  85. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  86. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  87. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  88. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  89. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  90. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  91. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  92. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  93. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  94. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  95. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  96. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  97. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  98. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  99. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  100. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  101. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  102. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  103. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  104. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  105. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  106. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  107. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  108. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  109. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  110. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  111. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  112. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  113. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  114. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  115. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  116. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  117. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  118. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  119. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  120. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  121. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  122. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  123. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/solutions/default.yaml +0 -0
  124. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  125. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  126. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/__init__.py +0 -0
  127. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/annotator.py +0 -0
  128. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/augment.py +0 -0
  129. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/build.py +0 -0
  130. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/converter.py +0 -0
  131. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/download_weights.sh +0 -0
  132. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/get_coco.sh +0 -0
  133. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/get_coco128.sh +0 -0
  134. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  135. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/split.py +0 -0
  136. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/split_dota.py +0 -0
  137. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/utils.py +0 -0
  138. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/__init__.py +0 -0
  139. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/model.py +0 -0
  140. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/predictor.py +0 -0
  141. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/results.py +0 -0
  142. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/tuner.py +0 -0
  143. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/validator.py +0 -0
  144. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/__init__.py +0 -0
  145. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/auth.py +0 -0
  146. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/google/__init__.py +0 -0
  147. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/__init__.py +0 -0
  148. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/__init__.py +0 -0
  149. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/model.py +0 -0
  150. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/predict.py +0 -0
  151. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/utils.py +0 -0
  152. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/val.py +0 -0
  153. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/__init__.py +0 -0
  154. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/model.py +0 -0
  155. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/predict.py +0 -0
  156. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/val.py +0 -0
  157. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/__init__.py +0 -0
  158. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/model.py +0 -0
  159. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/predict.py +0 -0
  160. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/train.py +0 -0
  161. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/val.py +0 -0
  162. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/__init__.py +0 -0
  163. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/amg.py +0 -0
  164. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/build.py +0 -0
  165. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/model.py +0 -0
  166. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/__init__.py +0 -0
  167. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/blocks.py +0 -0
  168. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/decoders.py +0 -0
  169. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/encoders.py +0 -0
  170. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  171. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/sam.py +0 -0
  172. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  173. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/transformer.py +0 -0
  174. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/utils.py +0 -0
  175. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/predict.py +0 -0
  176. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/utils/__init__.py +0 -0
  177. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/utils/loss.py +0 -0
  178. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/utils/ops.py +0 -0
  179. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/__init__.py +0 -0
  180. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/__init__.py +0 -0
  181. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/predict.py +0 -0
  182. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/train.py +0 -0
  183. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/val.py +0 -0
  184. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/__init__.py +0 -0
  185. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/train.py +0 -0
  186. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/model.py +0 -0
  187. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/__init__.py +0 -0
  188. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/predict.py +0 -0
  189. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/train.py +0 -0
  190. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/val.py +0 -0
  191. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/__init__.py +0 -0
  192. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/predict.py +0 -0
  193. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/train.py +0 -0
  194. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/val.py +0 -0
  195. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/__init__.py +0 -0
  196. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/predict.py +0 -0
  197. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/train.py +0 -0
  198. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/val.py +0 -0
  199. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/world/__init__.py +0 -0
  200. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/world/train.py +0 -0
  201. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/world/train_world.py +0 -0
  202. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  203. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  204. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/train.py +0 -0
  205. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  206. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/__init__.py +0 -0
  207. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/__init__.py +0 -0
  208. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/activation.py +0 -0
  209. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/block.py +0 -0
  210. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/conv.py +0 -0
  211. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/head.py +0 -0
  212. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/transformer.py +0 -0
  213. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/utils.py +0 -0
  214. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/tasks.py +0 -0
  215. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/__init__.py +0 -0
  216. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/ai_gym.py +0 -0
  217. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/analytics.py +0 -0
  218. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/distance_calculation.py +0 -0
  219. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/heatmap.py +0 -0
  220. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/instance_segmentation.py +0 -0
  221. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/object_blurrer.py +0 -0
  222. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/object_counter.py +0 -0
  223. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/object_cropper.py +0 -0
  224. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/parking_management.py +0 -0
  225. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/queue_management.py +0 -0
  226. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/region_counter.py +0 -0
  227. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/security_alarm.py +0 -0
  228. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/solutions.py +0 -0
  229. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/speed_estimation.py +0 -0
  230. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/streamlit_inference.py +0 -0
  231. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/trackzone.py +0 -0
  232. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/vision_eye.py +0 -0
  233. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/__init__.py +0 -0
  234. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/basetrack.py +0 -0
  235. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/bot_sort.py +0 -0
  236. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/byte_tracker.py +0 -0
  237. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/track.py +0 -0
  238. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/__init__.py +0 -0
  239. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/gmc.py +0 -0
  240. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  241. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/matching.py +0 -0
  242. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/autobatch.py +0 -0
  243. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/__init__.py +0 -0
  244. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/base.py +0 -0
  245. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/clearml.py +0 -0
  246. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/comet.py +0 -0
  247. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/dvc.py +0 -0
  248. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/hub.py +0 -0
  249. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/mlflow.py +0 -0
  250. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/neptune.py +0 -0
  251. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/raytune.py +0 -0
  252. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  253. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/wb.py +0 -0
  254. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/dist.py +0 -0
  255. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/downloads.py +0 -0
  256. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/errors.py +0 -0
  257. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/export.py +0 -0
  258. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/files.py +0 -0
  259. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/instance.py +0 -0
  260. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/loss.py +0 -0
  261. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/metrics.py +0 -0
  262. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/ops.py +0 -0
  263. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/patches.py +0 -0
  264. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/plotting.py +0 -0
  265. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/tal.py +0 -0
  266. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/triton.py +0 -0
  267. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/tuner.py +0 -0
  268. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/SOURCES.txt +0 -0
  269. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/dependency_links.txt +0 -0
  270. {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/entry_points.txt +0 -0
  271. {ultralytics-8.3.116 → ultralytics-8.3.117}/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.116
3
+ Version: 8.3.117
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>
@@ -60,14 +60,13 @@ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.17; extra == "dev"
60
60
  Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
61
61
  Provides-Extra: export
62
62
  Requires-Dist: onnx>=1.12.0; extra == "export"
63
- Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
63
+ Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
64
64
  Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
65
65
  Requires-Dist: openvino>=2024.0.0; extra == "export"
66
66
  Requires-Dist: tensorflow>=2.0.0; extra == "export"
67
- Requires-Dist: tensorflowjs>=4.0.0; extra == "export"
67
+ Requires-Dist: tensorflowjs>=2.0.0; extra == "export"
68
68
  Requires-Dist: tensorstore>=0.1.63; (platform_machine == "aarch64" and python_version >= "3.9") and extra == "export"
69
69
  Requires-Dist: keras; extra == "export"
70
- Requires-Dist: flatbuffers<100,>=23.5.26; platform_machine == "aarch64" and extra == "export"
71
70
  Requires-Dist: h5py!=3.11.0; platform_machine == "aarch64" and extra == "export"
72
71
  Provides-Extra: solutions
73
72
  Requires-Dist: shapely<2.1.0,>=2.0.0; extra == "solutions"
@@ -94,14 +94,13 @@ dev = [
94
94
  ]
95
95
  export = [
96
96
  "onnx>=1.12.0", # ONNX export
97
- "coremltools>=8.0; platform_system != 'Windows' and python_version <= '3.12'", # CoreML supported on macOS and Linux
97
+ "coremltools>=8.0; platform_system != 'Windows' and python_version <= '3.13'", # CoreML supported on macOS and Linux
98
98
  "scikit-learn>=1.3.2; platform_system != 'Windows' and python_version <= '3.12'", # CoreML k-means quantization
99
99
  "openvino>=2024.0.0", # OpenVINO export
100
100
  "tensorflow>=2.0.0", # TF bug https://github.com/ultralytics/ultralytics/issues/5161
101
- "tensorflowjs>=4.0.0", # TF.js export, automatically installs tensorflow
101
+ "tensorflowjs>=2.0.0", # TF.js export, automatically installs tensorflow
102
102
  "tensorstore>=0.1.63; platform_machine == 'aarch64' and python_version >= '3.9'", # for TF Raspberry Pi exports
103
103
  "keras", # not installed automatically by tensorflow>=2.16
104
- "flatbuffers>=23.5.26,<100; platform_machine == 'aarch64'", # update old 'flatbuffers' included inside tensorflow package
105
104
  "h5py!=3.11.0; platform_machine == 'aarch64'", # fix h5py build issues due to missing aarch64 wheels in 3.11 release
106
105
  ]
107
106
  solutions = [
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.116"
3
+ __version__ = "8.3.117"
4
4
 
5
5
  import os
6
6
 
@@ -9,6 +9,7 @@ from typing import Any, Dict, List, Union
9
9
 
10
10
  import cv2
11
11
 
12
+ from ultralytics import __version__
12
13
  from ultralytics.utils import (
13
14
  ASSETS,
14
15
  DEFAULT_CFG,
@@ -24,7 +25,6 @@ from ultralytics.utils import (
24
25
  SETTINGS_FILE,
25
26
  TESTS_RUNNING,
26
27
  IterableSimpleNamespace,
27
- __version__,
28
28
  checks,
29
29
  colorstr,
30
30
  deprecation_warn,
@@ -15,7 +15,8 @@ import psutil
15
15
  from torch.utils.data import Dataset
16
16
 
17
17
  from ultralytics.data.utils import FORMATS_HELP_MSG, HELP_URL, IMG_FORMATS, check_file_speeds
18
- from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM, imread
18
+ from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM
19
+ from ultralytics.utils.patches import imread
19
20
 
20
21
 
21
22
  class BaseDataset(Dataset):
@@ -12,14 +12,14 @@ import torch
12
12
  from PIL import Image
13
13
  from torch.utils.data import ConcatDataset
14
14
 
15
- from ultralytics.utils import LOCAL_RANK, NUM_THREADS, TQDM, colorstr
15
+ from ultralytics.utils import LOCAL_RANK, LOGGER, NUM_THREADS, TQDM, colorstr
16
+ from ultralytics.utils.instance import Instances
16
17
  from ultralytics.utils.ops import resample_segments, segments2boxes
17
18
  from ultralytics.utils.torch_utils import TORCHVISION_0_18
18
19
 
19
20
  from .augment import (
20
21
  Compose,
21
22
  Format,
22
- Instances,
23
23
  LetterBox,
24
24
  RandomLoadText,
25
25
  classify_augmentations,
@@ -30,7 +30,6 @@ from .base import BaseDataset
30
30
  from .converter import merge_multi_segment
31
31
  from .utils import (
32
32
  HELP_URL,
33
- LOGGER,
34
33
  check_file_speeds,
35
34
  get_hash,
36
35
  img2label_paths,
@@ -16,8 +16,9 @@ import torch
16
16
  from PIL import Image
17
17
 
18
18
  from ultralytics.data.utils import FORMATS_HELP_MSG, IMG_FORMATS, VID_FORMATS
19
- from ultralytics.utils import IS_COLAB, IS_KAGGLE, LOGGER, imread, ops
19
+ from ultralytics.utils import IS_COLAB, IS_KAGGLE, LOGGER, ops
20
20
  from ultralytics.utils.checks import check_requirements
21
+ from ultralytics.utils.patches import imread
21
22
 
22
23
 
23
24
  @dataclass
@@ -70,6 +70,7 @@ from pathlib import Path
70
70
  import numpy as np
71
71
  import torch
72
72
 
73
+ from ultralytics import __version__
73
74
  from ultralytics.cfg import TASK2DATA, get_cfg
74
75
  from ultralytics.data import build_dataloader
75
76
  from ultralytics.data.dataset import YOLODataset
@@ -81,7 +82,6 @@ from ultralytics.utils import (
81
82
  ARM64,
82
83
  DEFAULT_CFG,
83
84
  IS_COLAB,
84
- IS_JETSON,
85
85
  LINUX,
86
86
  LOGGER,
87
87
  MACOS,
@@ -89,13 +89,13 @@ from ultralytics.utils import (
89
89
  RKNN_CHIPS,
90
90
  ROOT,
91
91
  WINDOWS,
92
- __version__,
93
92
  callbacks,
94
93
  colorstr,
95
94
  get_default_args,
96
95
  yaml_save,
97
96
  )
98
97
  from ultralytics.utils.checks import (
98
+ IS_PYTHON_MINIMUM_3_12,
99
99
  check_imgsz,
100
100
  check_is_path_safe,
101
101
  check_requirements,
@@ -384,7 +384,7 @@ class Exporter:
384
384
  m.export = True
385
385
  m.format = self.args.format
386
386
  m.max_det = self.args.max_det
387
- m.xyxy = self.args.nms
387
+ m.xyxy = self.args.nms and not coreml
388
388
  elif isinstance(m, C2f) and not is_tf_format:
389
389
  # EdgeTPU does not support FlexSplitV while split provides cleaner ONNX graph
390
390
  m.forward = m.forward_split
@@ -925,10 +925,8 @@ class Exporter:
925
925
  "onnx>=1.12.0",
926
926
  "onnx2tf>=1.26.3",
927
927
  "onnxslim>=0.1.31",
928
- "tflite_support<=0.4.3" if IS_JETSON else "tflite_support", # fix ImportError 'GLIBCXX_3.4.29'
929
- "flatbuffers>=23.5.26,<100", # update old 'flatbuffers' included inside tensorflow package
930
928
  "onnxruntime-gpu" if cuda else "onnxruntime",
931
- "protobuf>=5", # tflite_support pins <=4 but >=5 works
929
+ "protobuf>=5",
932
930
  ),
933
931
  cmds="--extra-index-url https://pypi.ngc.nvidia.com", # onnx_graphsurgeon only on NVIDIA
934
932
  )
@@ -1279,8 +1277,20 @@ class Exporter:
1279
1277
 
1280
1278
  return f, None
1281
1279
 
1282
- def _add_tflite_metadata(self, file):
1280
+ def _add_tflite_metadata(self, file, use_flatbuffers=False):
1283
1281
  """Add metadata to *.tflite models per https://ai.google.dev/edge/litert/models/metadata."""
1282
+ if not use_flatbuffers:
1283
+ import zipfile
1284
+
1285
+ with zipfile.ZipFile(file, "a", zipfile.ZIP_DEFLATED) as zf:
1286
+ zf.writestr("metadata.json", json.dumps(self.metadata, indent=2))
1287
+ return
1288
+
1289
+ if IS_PYTHON_MINIMUM_3_12:
1290
+ LOGGER.warning(f"TFLite Support package may not be compatible with Python>=3.12 environments for {file}")
1291
+
1292
+ # Update old 'flatbuffers' included inside tensorflow package
1293
+ check_requirements(("tflite_support", "flatbuffers>=23.5.26,<100; platform_machine == 'aarch64'"))
1284
1294
  import flatbuffers
1285
1295
 
1286
1296
  try:
@@ -21,6 +21,7 @@ import torch
21
21
  from torch import distributed as dist
22
22
  from torch import nn, optim
23
23
 
24
+ from ultralytics import __version__
24
25
  from ultralytics.cfg import get_cfg, get_save_dir
25
26
  from ultralytics.data.utils import check_cls_dataset, check_det_dataset
26
27
  from ultralytics.nn.tasks import attempt_load_one_weight, attempt_load_weights
@@ -30,7 +31,6 @@ from ultralytics.utils import (
30
31
  LOGGER,
31
32
  RANK,
32
33
  TQDM,
33
- __version__,
34
34
  callbacks,
35
35
  clean_url,
36
36
  colorstr,
@@ -268,7 +268,7 @@ class BaseTrainer:
268
268
  self.amp = torch.tensor(check_amp(self.model), device=self.device)
269
269
  callbacks.default_callbacks = callbacks_backup # restore callbacks
270
270
  if RANK > -1 and world_size > 1: # DDP
271
- dist.broadcast(self.amp, src=0) # broadcast the tensor from rank 0 to all other ranks (returns None)
271
+ dist.broadcast(self.amp.int(), src=0) # broadcast from rank 0 to all other ranks; gloo errors with boolean
272
272
  self.amp = bool(self.amp) # as boolean
273
273
  self.scaler = (
274
274
  torch.amp.GradScaler("cuda", enabled=self.amp) if TORCH_2_4 else torch.cuda.amp.GradScaler(enabled=self.amp)
@@ -9,8 +9,9 @@ from urllib.parse import parse_qs, urlparse
9
9
 
10
10
  import requests
11
11
 
12
- from ultralytics.hub.utils import HELP_MSG, HUB_WEB_ROOT, PREFIX, TQDM
13
- from ultralytics.utils import IS_COLAB, LOGGER, SETTINGS, __version__, checks, emojis
12
+ from ultralytics import __version__
13
+ from ultralytics.hub.utils import HELP_MSG, HUB_WEB_ROOT, PREFIX
14
+ from ultralytics.utils import IS_COLAB, LOGGER, SETTINGS, TQDM, checks, emojis
14
15
  from ultralytics.utils.errors import HUBModelError
15
16
 
16
17
  AGENT_NAME = f"python-{__version__}-colab" if IS_COLAB else f"python-{__version__}-local"
@@ -9,6 +9,7 @@ from pathlib import Path
9
9
 
10
10
  import requests
11
11
 
12
+ from ultralytics import __version__
12
13
  from ultralytics.utils import (
13
14
  ARGV,
14
15
  ENVIRONMENT,
@@ -22,7 +23,6 @@ from ultralytics.utils import (
22
23
  TESTS_RUNNING,
23
24
  TQDM,
24
25
  TryExcept,
25
- __version__,
26
26
  colorstr,
27
27
  get_git_origin_url,
28
28
  )
@@ -59,7 +59,7 @@ class DetectionPredictor(BasePredictor):
59
59
  self.args.classes,
60
60
  self.args.agnostic_nms,
61
61
  max_det=self.args.max_det,
62
- nc=len(self.model.names),
62
+ nc=0 if self.args.task == "detect" else len(self.model.names),
63
63
  end2end=getattr(self.model, "end2end", False),
64
64
  rotated=self.args.task == "obb",
65
65
  return_idxs=save_feats,
@@ -124,7 +124,7 @@ class DetectionValidator(BaseValidator):
124
124
  preds,
125
125
  self.args.conf,
126
126
  self.args.iou,
127
- nc=self.nc,
127
+ nc=0 if self.args.task == "detect" else self.nc,
128
128
  multi_label=True,
129
129
  agnostic=self.args.single_cls or self.args.agnostic_nms,
130
130
  max_det=self.args.max_det,
@@ -9,9 +9,9 @@ from ultralytics.data import YOLOConcatDataset, build_dataloader, build_yolo_dat
9
9
  from ultralytics.data.augment import LoadVisualPrompt
10
10
  from ultralytics.data.utils import check_det_dataset
11
11
  from ultralytics.models.yolo.detect import DetectionValidator
12
- from ultralytics.models.yolo.model import YOLOEModel
13
12
  from ultralytics.models.yolo.segment import SegmentationValidator
14
13
  from ultralytics.nn.modules.head import YOLOEDetect
14
+ from ultralytics.nn.tasks import YOLOEModel
15
15
  from ultralytics.utils import LOGGER, TQDM
16
16
  from ultralytics.utils.torch_utils import select_device, smart_inference_mode
17
17
 
@@ -432,10 +432,14 @@ class AutoBackend(nn.Module):
432
432
  output_details = interpreter.get_output_details() # outputs
433
433
  # Load metadata
434
434
  try:
435
- with zipfile.ZipFile(w, "r") as model:
436
- meta_file = model.namelist()[0]
437
- metadata = ast.literal_eval(model.read(meta_file).decode("utf-8"))
438
- except zipfile.BadZipFile:
435
+ with zipfile.ZipFile(w, "r") as zf:
436
+ name = zf.namelist()[0]
437
+ contents = zf.read(name).decode("utf-8")
438
+ if name == "metadata.json": # Custom Ultralytics metadata dict for Python>=3.12
439
+ metadata = json.loads(contents)
440
+ else:
441
+ metadata = ast.literal_eval(contents) # Default tflite-support metadata for Python<=3.11
442
+ except (zipfile.BadZipFile, SyntaxError, ValueError, json.JSONDecodeError):
439
443
  pass
440
444
 
441
445
  # TF.js
@@ -23,10 +23,8 @@ try:
23
23
  warnings.filterwarnings("ignore", category=FutureWarning)
24
24
  import mobileclip
25
25
  except ImportError:
26
- # MobileCLIP repo has an incorrect version of torchvision as dependency
27
- # Manually install other dependencies first and install mobileclip with "--no-deps" flag
28
- checks.check_requirements(["open-clip-torch>=2.20.0", "timm>=0.9.5"])
29
- checks.check_requirements("git+https://github.com/apple/ml-mobileclip.git", cmds="--no-deps")
26
+ # Ultralytics fork preferred since Apple MobileCLIP repo has incorrect version of torchvision
27
+ checks.check_requirements("git+https://github.com/ultralytics/mobileclip.git")
30
28
  import mobileclip
31
29
 
32
30
 
@@ -4,7 +4,7 @@ import contextlib
4
4
  import importlib.metadata
5
5
  import inspect
6
6
  import json
7
- import logging.config
7
+ import logging
8
8
  import os
9
9
  import platform
10
10
  import re
@@ -120,10 +120,9 @@ def benchmark(
120
120
  )
121
121
  if i in {5}: # CoreML
122
122
  assert not IS_PYTHON_3_13, "CoreML not supported on Python 3.13"
123
- if i in {6, 7, 8}: # TF SavedModel, TF GraphDef, and TFLite
124
- assert not isinstance(model, YOLOWorld), "YOLOWorldv2 TensorFlow exports not supported by onnx2tf yet"
125
- if i in {9, 10}: # TF EdgeTPU and TF.js
123
+ if i in {6, 7, 8, 9, 10}: # TF SavedModel, TF GraphDef, and TFLite, TF EdgeTPU and TF.js
126
124
  assert not isinstance(model, YOLOWorld), "YOLOWorldv2 TensorFlow exports not supported by onnx2tf yet"
125
+ # assert not IS_PYTHON_MINIMUM_3_12, "TFLite exports not supported on Python>=3.12 yet"
127
126
  if i == 11: # Paddle
128
127
  assert not isinstance(model, YOLOWorld), "YOLOWorldv2 Paddle exports not supported yet"
129
128
  assert model.task != "obb", "Paddle OBB bug https://github.com/PaddlePaddle/Paddle/issues/72024"
@@ -178,7 +177,7 @@ def benchmark(
178
177
  except Exception as e:
179
178
  if verbose:
180
179
  assert type(e) is AssertionError, f"Benchmark failure for {name}: {e}"
181
- LOGGER.warning(f"ERROR ❌️ Benchmark failure for {name}: {e}")
180
+ LOGGER.error(f"Benchmark failure for {name}: {e}")
182
181
  y.append([name, emoji, round(file_size(filename), 1), None, None, None]) # mAP, t_inference
183
182
 
184
183
  # Print results
@@ -11,6 +11,7 @@ import subprocess
11
11
  import time
12
12
  from importlib import metadata
13
13
  from pathlib import Path
14
+ from types import SimpleNamespace
14
15
  from typing import Optional
15
16
 
16
17
  import cv2
@@ -37,7 +38,6 @@ from ultralytics.utils import (
37
38
  USER_CONFIG_DIR,
38
39
  WINDOWS,
39
40
  Retry,
40
- SimpleNamespace,
41
41
  ThreadingLocked,
42
42
  TryExcept,
43
43
  clean_url,
@@ -883,7 +883,9 @@ check_torchvision() # check torch-torchvision compatibility
883
883
 
884
884
  # Define constants
885
885
  IS_PYTHON_3_8 = PYTHON_VERSION.startswith("3.8")
886
- IS_PYTHON_MINIMUM_3_10 = check_python("3.10", hard=False)
887
886
  IS_PYTHON_3_11 = PYTHON_VERSION.startswith("3.11")
888
887
  IS_PYTHON_3_12 = PYTHON_VERSION.startswith("3.12")
889
888
  IS_PYTHON_3_13 = PYTHON_VERSION.startswith("3.13")
889
+
890
+ IS_PYTHON_MINIMUM_3_10 = check_python("3.10", hard=False)
891
+ IS_PYTHON_MINIMUM_3_12 = check_python("3.12", hard=False)
@@ -17,6 +17,7 @@ import torch.distributed as dist
17
17
  import torch.nn as nn
18
18
  import torch.nn.functional as F
19
19
 
20
+ from ultralytics import __version__
20
21
  from ultralytics.utils import (
21
22
  DEFAULT_CFG_DICT,
22
23
  DEFAULT_CFG_KEYS,
@@ -25,7 +26,6 @@ from ultralytics.utils import (
25
26
  PYTHON_VERSION,
26
27
  TORCHVISION_VERSION,
27
28
  WINDOWS,
28
- __version__,
29
29
  colorstr,
30
30
  )
31
31
  from ultralytics.utils.checks import check_version
@@ -55,12 +55,13 @@ if WINDOWS and check_version(torch.__version__, "==2.4.0"): # reject version 2.
55
55
  def torch_distributed_zero_first(local_rank: int):
56
56
  """Ensures all processes in distributed training wait for the local master (rank 0) to complete a task first."""
57
57
  initialized = dist.is_available() and dist.is_initialized()
58
+ use_ids = initialized and dist.get_backend() == "nccl"
58
59
 
59
60
  if initialized and local_rank not in {-1, 0}:
60
- dist.barrier(device_ids=[local_rank])
61
+ dist.barrier(device_ids=[local_rank]) if use_ids else dist.barrier()
61
62
  yield
62
63
  if initialized and local_rank == 0:
63
- dist.barrier(device_ids=[local_rank])
64
+ dist.barrier(device_ids=[local_rank]) if use_ids else dist.barrier()
64
65
 
65
66
 
66
67
  def smart_inference_mode():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.116
3
+ Version: 8.3.117
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>
@@ -60,14 +60,13 @@ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.17; extra == "dev"
60
60
  Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
61
61
  Provides-Extra: export
62
62
  Requires-Dist: onnx>=1.12.0; extra == "export"
63
- Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
63
+ Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
64
64
  Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
65
65
  Requires-Dist: openvino>=2024.0.0; extra == "export"
66
66
  Requires-Dist: tensorflow>=2.0.0; extra == "export"
67
- Requires-Dist: tensorflowjs>=4.0.0; extra == "export"
67
+ Requires-Dist: tensorflowjs>=2.0.0; extra == "export"
68
68
  Requires-Dist: tensorstore>=0.1.63; (platform_machine == "aarch64" and python_version >= "3.9") and extra == "export"
69
69
  Requires-Dist: keras; extra == "export"
70
- Requires-Dist: flatbuffers<100,>=23.5.26; platform_machine == "aarch64" and extra == "export"
71
70
  Requires-Dist: h5py!=3.11.0; platform_machine == "aarch64" and extra == "export"
72
71
  Provides-Extra: solutions
73
72
  Requires-Dist: shapely<2.1.0,>=2.0.0; extra == "solutions"
@@ -32,20 +32,21 @@ mkdocs-macros-plugin>=1.0.5
32
32
  onnx>=1.12.0
33
33
  openvino>=2024.0.0
34
34
  tensorflow>=2.0.0
35
- tensorflowjs>=4.0.0
35
+ tensorflowjs>=2.0.0
36
36
  keras
37
37
 
38
38
  [export:platform_machine == "aarch64"]
39
- flatbuffers<100,>=23.5.26
40
39
  h5py!=3.11.0
41
40
 
42
41
  [export:platform_machine == "aarch64" and python_version >= "3.9"]
43
42
  tensorstore>=0.1.63
44
43
 
45
44
  [export:platform_system != "Windows" and python_version <= "3.12"]
46
- coremltools>=8.0
47
45
  scikit-learn>=1.3.2
48
46
 
47
+ [export:platform_system != "Windows" and python_version <= "3.13"]
48
+ coremltools>=8.0
49
+
49
50
  [extra]
50
51
  hub-sdk>=0.0.12
51
52
  ipython
File without changes
File without changes
File without changes