ultralytics 8.2.65__tar.gz → 8.2.67__tar.gz

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

Potentially problematic release.


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

Files changed (235) hide show
  1. {ultralytics-8.2.65/ultralytics.egg-info → ultralytics-8.2.67}/PKG-INFO +2 -1
  2. {ultralytics-8.2.65 → ultralytics-8.2.67}/pyproject.toml +1 -0
  3. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/model.py +2 -1
  5. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/trainer.py +1 -1
  6. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/hub/session.py +6 -4
  7. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/tasks.py +1 -1
  8. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/__init__.py +14 -7
  9. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/checks.py +4 -4
  10. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/torch_utils.py +0 -7
  11. {ultralytics-8.2.65 → ultralytics-8.2.67/ultralytics.egg-info}/PKG-INFO +2 -1
  12. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics.egg-info/requires.txt +3 -0
  13. {ultralytics-8.2.65 → ultralytics-8.2.67}/LICENSE +0 -0
  14. {ultralytics-8.2.65 → ultralytics-8.2.67}/README.md +0 -0
  15. {ultralytics-8.2.65 → ultralytics-8.2.67}/setup.cfg +0 -0
  16. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/__init__.py +0 -0
  17. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/conftest.py +0 -0
  18. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_cli.py +0 -0
  19. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_cuda.py +0 -0
  20. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_engine.py +0 -0
  21. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_explorer.py +0 -0
  22. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_exports.py +0 -0
  23. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_integrations.py +0 -0
  24. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_python.py +0 -0
  25. {ultralytics-8.2.65 → ultralytics-8.2.67}/tests/test_solutions.py +0 -0
  26. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/assets/bus.jpg +0 -0
  27. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/assets/zidane.jpg +0 -0
  28. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/__init__.py +0 -0
  29. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  30. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  31. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  32. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  33. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  34. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  35. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  36. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  37. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  38. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  39. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  40. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  41. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  42. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/coco.yaml +0 -0
  43. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  44. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  45. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  46. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  47. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  48. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  49. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  50. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  51. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  52. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  53. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/signature.yaml +0 -0
  54. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  55. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/datasets/xView.yaml +0 -0
  56. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/default.yaml +0 -0
  57. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  58. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  59. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  60. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  61. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  62. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  63. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  64. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  65. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  66. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  67. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  68. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  69. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  70. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  71. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  72. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  73. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  74. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  75. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  76. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  77. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  78. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  79. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  80. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  81. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  82. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  83. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  84. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  85. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  86. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  87. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  88. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  89. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  90. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  91. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  92. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  93. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  94. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  95. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  96. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  97. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  98. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  99. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/__init__.py +0 -0
  100. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/annotator.py +0 -0
  101. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/augment.py +0 -0
  102. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/base.py +0 -0
  103. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/build.py +0 -0
  104. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/converter.py +0 -0
  105. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/dataset.py +0 -0
  106. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/explorer/__init__.py +0 -0
  107. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/explorer/explorer.py +0 -0
  108. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/explorer/gui/__init__.py +0 -0
  109. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/explorer/gui/dash.py +0 -0
  110. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/explorer/utils.py +0 -0
  111. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/loaders.py +0 -0
  112. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/split_dota.py +0 -0
  113. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/data/utils.py +0 -0
  114. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/__init__.py +0 -0
  115. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/exporter.py +0 -0
  116. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/predictor.py +0 -0
  117. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/results.py +0 -0
  118. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/tuner.py +0 -0
  119. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/engine/validator.py +0 -0
  120. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/hub/__init__.py +0 -0
  121. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/hub/auth.py +0 -0
  122. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/hub/utils.py +0 -0
  123. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/__init__.py +0 -0
  124. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/fastsam/__init__.py +0 -0
  125. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/fastsam/model.py +0 -0
  126. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/fastsam/predict.py +0 -0
  127. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/fastsam/prompt.py +0 -0
  128. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/fastsam/utils.py +0 -0
  129. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/fastsam/val.py +0 -0
  130. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/nas/__init__.py +0 -0
  131. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/nas/model.py +0 -0
  132. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/nas/predict.py +0 -0
  133. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/nas/val.py +0 -0
  134. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/rtdetr/__init__.py +0 -0
  135. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/rtdetr/model.py +0 -0
  136. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/rtdetr/predict.py +0 -0
  137. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/rtdetr/train.py +0 -0
  138. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/rtdetr/val.py +0 -0
  139. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/__init__.py +0 -0
  140. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/amg.py +0 -0
  141. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/build.py +0 -0
  142. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/model.py +0 -0
  143. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/modules/__init__.py +0 -0
  144. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/modules/decoders.py +0 -0
  145. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/modules/encoders.py +0 -0
  146. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/modules/sam.py +0 -0
  147. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  148. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/modules/transformer.py +0 -0
  149. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/sam/predict.py +0 -0
  150. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/utils/__init__.py +0 -0
  151. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/utils/loss.py +0 -0
  152. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/utils/ops.py +0 -0
  153. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/__init__.py +0 -0
  154. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/classify/__init__.py +0 -0
  155. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/classify/predict.py +0 -0
  156. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/classify/train.py +0 -0
  157. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/classify/val.py +0 -0
  158. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/detect/__init__.py +0 -0
  159. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/detect/predict.py +0 -0
  160. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/detect/train.py +0 -0
  161. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/detect/val.py +0 -0
  162. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/model.py +0 -0
  163. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/obb/__init__.py +0 -0
  164. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/obb/predict.py +0 -0
  165. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/obb/train.py +0 -0
  166. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/obb/val.py +0 -0
  167. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/pose/__init__.py +0 -0
  168. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/pose/predict.py +0 -0
  169. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/pose/train.py +0 -0
  170. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/pose/val.py +0 -0
  171. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/segment/__init__.py +0 -0
  172. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/segment/predict.py +0 -0
  173. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/segment/train.py +0 -0
  174. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/segment/val.py +0 -0
  175. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/world/__init__.py +0 -0
  176. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/world/train.py +0 -0
  177. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/models/yolo/world/train_world.py +0 -0
  178. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/__init__.py +0 -0
  179. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/autobackend.py +0 -0
  180. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/modules/__init__.py +0 -0
  181. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/modules/activation.py +0 -0
  182. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/modules/block.py +0 -0
  183. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/modules/conv.py +0 -0
  184. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/modules/head.py +0 -0
  185. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/modules/transformer.py +0 -0
  186. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/nn/modules/utils.py +0 -0
  187. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/__init__.py +0 -0
  188. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/ai_gym.py +0 -0
  189. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/analytics.py +0 -0
  190. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/distance_calculation.py +0 -0
  191. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/heatmap.py +0 -0
  192. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/object_counter.py +0 -0
  193. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/parking_management.py +0 -0
  194. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/queue_management.py +0 -0
  195. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/speed_estimation.py +0 -0
  196. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/solutions/streamlit_inference.py +0 -0
  197. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/__init__.py +0 -0
  198. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/basetrack.py +0 -0
  199. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/bot_sort.py +0 -0
  200. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/byte_tracker.py +0 -0
  201. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/track.py +0 -0
  202. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/utils/__init__.py +0 -0
  203. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/utils/gmc.py +0 -0
  204. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  205. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/trackers/utils/matching.py +0 -0
  206. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/autobatch.py +0 -0
  207. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/benchmarks.py +0 -0
  208. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/__init__.py +0 -0
  209. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/base.py +0 -0
  210. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/clearml.py +0 -0
  211. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/comet.py +0 -0
  212. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/dvc.py +0 -0
  213. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/hub.py +0 -0
  214. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/mlflow.py +0 -0
  215. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/neptune.py +0 -0
  216. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/raytune.py +0 -0
  217. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  218. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/callbacks/wb.py +0 -0
  219. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/dist.py +0 -0
  220. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/downloads.py +0 -0
  221. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/errors.py +0 -0
  222. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/files.py +0 -0
  223. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/instance.py +0 -0
  224. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/loss.py +0 -0
  225. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/metrics.py +0 -0
  226. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/ops.py +0 -0
  227. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/patches.py +0 -0
  228. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/plotting.py +0 -0
  229. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/tal.py +0 -0
  230. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/triton.py +0 -0
  231. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics/utils/tuner.py +0 -0
  232. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics.egg-info/SOURCES.txt +0 -0
  233. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics.egg-info/dependency_links.txt +0 -0
  234. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics.egg-info/entry_points.txt +0 -0
  235. {ultralytics-8.2.65 → ultralytics-8.2.67}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.65
3
+ Version: 8.2.67
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -62,6 +62,7 @@ Requires-Dist: coremltools>=7.0; (platform_system != "Windows" and python_versio
62
62
  Requires-Dist: openvino>=2024.0.0; extra == "export"
63
63
  Requires-Dist: tensorflow>=2.0.0; extra == "export"
64
64
  Requires-Dist: tensorflowjs>=3.9.0; extra == "export"
65
+ Requires-Dist: tensorstore>=0.1.63; (platform_machine == "aarch64" and python_version >= "3.9") and extra == "export"
65
66
  Requires-Dist: keras; extra == "export"
66
67
  Requires-Dist: flatbuffers<100,>=23.5.26; platform_machine == "aarch64" and extra == "export"
67
68
  Requires-Dist: numpy==1.23.5; platform_machine == "aarch64" and extra == "export"
@@ -101,6 +101,7 @@ export = [
101
101
  "openvino>=2024.0.0", # OpenVINO export
102
102
  "tensorflow>=2.0.0", # TF bug https://github.com/ultralytics/ultralytics/issues/5161
103
103
  "tensorflowjs>=3.9.0", # TF.js export, automatically installs tensorflow
104
+ "tensorstore>=0.1.63; platform_machine == 'aarch64' and python_version >= '3.9'", # for TF Raspberry Pi exports
104
105
  "keras", # not installed automatically by tensorflow>=2.16
105
106
  "flatbuffers>=23.5.26,<100; platform_machine == 'aarch64'", # update old 'flatbuffers' included inside tensorflow package
106
107
  "numpy==1.23.5; platform_machine == 'aarch64'", # fix error: `np.bool` was a deprecated alias for the builtin `bool` when using TensorRT models on NVIDIA Jetson
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.65"
3
+ __version__ = "8.2.67"
4
4
 
5
5
  import os
6
6
 
@@ -17,6 +17,7 @@ from ultralytics.utils import (
17
17
  DEFAULT_CFG_DICT,
18
18
  LOGGER,
19
19
  RANK,
20
+ SETTINGS,
20
21
  callbacks,
21
22
  checks,
22
23
  emojis,
@@ -286,7 +287,7 @@ class Model(nn.Module):
286
287
  >>> model._load('path/to/weights.pth', task='detect')
287
288
  """
288
289
  if weights.lower().startswith(("https://", "http://", "rtsp://", "rtmp://", "tcp://")):
289
- weights = checks.check_file(weights) # automatically download and return local filename
290
+ weights = checks.check_file(weights, download_dir=SETTINGS["weights_dir"]) # download and return local file
290
291
  weights = checks.check_model_file_from_stem(weights) # add suffix, i.e. yolov8n -> yolov8n.pt
291
292
 
292
293
  if Path(weights).suffix == ".pt":
@@ -507,7 +507,7 @@ class BaseTrainer:
507
507
  self.last.write_bytes(serialized_ckpt) # save last.pt
508
508
  if self.best_fitness == self.fitness:
509
509
  self.best.write_bytes(serialized_ckpt) # save best.pt
510
- if (self.save_period > 0) and (self.epoch > 0) and (self.epoch % self.save_period == 0):
510
+ if (self.save_period > 0) and (self.epoch % self.save_period == 0):
511
511
  (self.wdir / f"epoch{self.epoch}.pt").write_bytes(serialized_ckpt) # save epoch, i.e. 'epoch3.pt'
512
512
 
513
513
  def get_dataset(self):
@@ -48,6 +48,7 @@ class HUBTrainingSession:
48
48
  self.timers = {} # holds timers in ultralytics/utils/callbacks/hub.py
49
49
  self.model = None
50
50
  self.model_url = None
51
+ self.model_file = None
51
52
 
52
53
  # Parse input
53
54
  api_key, model_id, self.filename = self._parse_identifier(identifier)
@@ -91,10 +92,13 @@ class HUBTrainingSession:
91
92
  raise ValueError(emojis("❌ The specified HUB model does not exist")) # TODO: improve error handling
92
93
 
93
94
  self.model_url = f"{HUB_WEB_ROOT}/models/{self.model.id}"
95
+ if self.model.is_trained():
96
+ print(emojis(f"Loading trained HUB model {self.model_url} 🚀"))
97
+ self.model_file = self.model.get_weights_url("best")
98
+ return
94
99
 
100
+ # Set training args and start heartbeats for HUB to monitor agent
95
101
  self._set_train_args()
96
-
97
- # Start heartbeats for HUB to monitor agent
98
102
  self.model.start_heartbeat(self.rate_limits["heartbeat"])
99
103
  LOGGER.info(f"{PREFIX}View model at {self.model_url} 🚀")
100
104
 
@@ -195,8 +199,6 @@ class HUBTrainingSession:
195
199
  ValueError: If the model is already trained, if required dataset information is missing, or if there are
196
200
  issues with the provided training arguments.
197
201
  """
198
- if self.model.is_trained():
199
- raise ValueError(emojis(f"Model is already trained and uploaded to {self.model_url} 🚀"))
200
202
 
201
203
  if self.model.is_resumable():
202
204
  # Model has saved weights
@@ -66,13 +66,13 @@ from ultralytics.utils.loss import (
66
66
  v8PoseLoss,
67
67
  v8SegmentationLoss,
68
68
  )
69
+ from ultralytics.utils.ops import make_divisible
69
70
  from ultralytics.utils.plotting import feature_visualization
70
71
  from ultralytics.utils.torch_utils import (
71
72
  fuse_conv_and_bn,
72
73
  fuse_deconv_and_bn,
73
74
  initialize_weights,
74
75
  intersect_dicts,
75
- make_divisible,
76
76
  model_info,
77
77
  scale_img,
78
78
  time_sync,
@@ -44,6 +44,7 @@ LOGGING_NAME = "ultralytics"
44
44
  MACOS, LINUX, WINDOWS = (platform.system() == x for x in ["Darwin", "Linux", "Windows"]) # environment booleans
45
45
  ARM64 = platform.machine() in {"arm64", "aarch64"} # ARM64 booleans
46
46
  PYTHON_VERSION = platform.python_version()
47
+ TORCH_VERSION = torch.__version__
47
48
  TORCHVISION_VERSION = importlib.metadata.version("torchvision") # faster than importing torchvision
48
49
  HELP_MSG = """
49
50
  Usage examples for running YOLOv8:
@@ -975,6 +976,11 @@ class SettingsManager(dict):
975
976
  "tensorboard": True,
976
977
  "wandb": True,
977
978
  }
979
+ self.help_msg = (
980
+ f"\nView settings with 'yolo settings' or at '{self.file}'"
981
+ "\nUpdate settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. "
982
+ "For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings."
983
+ )
978
984
 
979
985
  super().__init__(copy.deepcopy(self.defaults))
980
986
 
@@ -986,15 +992,10 @@ class SettingsManager(dict):
986
992
  correct_keys = self.keys() == self.defaults.keys()
987
993
  correct_types = all(type(a) is type(b) for a, b in zip(self.values(), self.defaults.values()))
988
994
  correct_version = check_version(self["settings_version"], self.version)
989
- help_msg = (
990
- f"\nView settings with 'yolo settings' or at '{self.file}'"
991
- "\nUpdate settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. "
992
- "For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings."
993
- )
994
995
  if not (correct_keys and correct_types and correct_version):
995
996
  LOGGER.warning(
996
997
  "WARNING ⚠️ Ultralytics settings reset to default values. This may be due to a possible problem "
997
- f"with your settings or a recent ultralytics package update. {help_msg}"
998
+ f"with your settings or a recent ultralytics package update. {self.help_msg}"
998
999
  )
999
1000
  self.reset()
1000
1001
 
@@ -1002,7 +1003,7 @@ class SettingsManager(dict):
1002
1003
  LOGGER.warning(
1003
1004
  f"WARNING ⚠️ Ultralytics setting 'datasets_dir: {self.get('datasets_dir')}' "
1004
1005
  f"must be different than 'runs_dir: {self.get('runs_dir')}'. "
1005
- f"Please change one to avoid possible issues during training. {help_msg}"
1006
+ f"Please change one to avoid possible issues during training. {self.help_msg}"
1006
1007
  )
1007
1008
 
1008
1009
  def load(self):
@@ -1015,6 +1016,12 @@ class SettingsManager(dict):
1015
1016
 
1016
1017
  def update(self, *args, **kwargs):
1017
1018
  """Updates a setting value in the current settings."""
1019
+ for k, v in kwargs.items():
1020
+ if k not in self.defaults:
1021
+ raise KeyError(f"No Ultralytics setting '{k}'. {self.help_msg}")
1022
+ t = type(self.defaults[k])
1023
+ if not isinstance(v, t):
1024
+ raise TypeError(f"Ultralytics setting '{k}' must be of type '{t}', not '{type(v)}'. {self.help_msg}")
1018
1025
  super().update(*args, **kwargs)
1019
1026
  self.save()
1020
1027
 
@@ -484,7 +484,7 @@ def check_model_file_from_stem(model="yolov8n"):
484
484
  return model
485
485
 
486
486
 
487
- def check_file(file, suffix="", download=True, hard=True):
487
+ def check_file(file, suffix="", download=True, download_dir=".", hard=True):
488
488
  """Search/download file (if necessary) and return path."""
489
489
  check_suffix(file, suffix) # optional
490
490
  file = str(file).strip() # convert to string and strip spaces
@@ -497,12 +497,12 @@ def check_file(file, suffix="", download=True, hard=True):
497
497
  return file
498
498
  elif download and file.lower().startswith(("https://", "http://", "rtsp://", "rtmp://", "tcp://")): # download
499
499
  url = file # warning: Pathlib turns :// -> :/
500
- file = url2file(file) # '%2F' to '/', split https://url.com/file.txt?auth
501
- if Path(file).exists():
500
+ file = Path(download_dir) / url2file(file) # '%2F' to '/', split https://url.com/file.txt?auth
501
+ if file.exists():
502
502
  LOGGER.info(f"Found {clean_url(url)} locally at {file}") # file already exists
503
503
  else:
504
504
  downloads.safe_download(url=url, file=file, unzip=False)
505
- return file
505
+ return str(file)
506
506
  else: # search
507
507
  files = glob.glob(str(ROOT / "**" / file), recursive=True) or glob.glob(str(ROOT.parent / file)) # find file
508
508
  if not files and hard:
@@ -424,13 +424,6 @@ def scale_img(img, ratio=1.0, same_shape=False, gs=32):
424
424
  return F.pad(img, [0, w - s[1], 0, h - s[0]], value=0.447) # value = imagenet mean
425
425
 
426
426
 
427
- def make_divisible(x, divisor):
428
- """Returns nearest x divisible by divisor."""
429
- if isinstance(divisor, torch.Tensor):
430
- divisor = int(divisor.max()) # to int
431
- return math.ceil(x / divisor) * divisor
432
-
433
-
434
427
  def copy_attr(a, b, include=(), exclude=()):
435
428
  """Copies attributes from object 'b' to object 'a', with options to include/exclude certain attributes."""
436
429
  for k, v in b.__dict__.items():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.65
3
+ Version: 8.2.67
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -62,6 +62,7 @@ Requires-Dist: coremltools>=7.0; (platform_system != "Windows" and python_versio
62
62
  Requires-Dist: openvino>=2024.0.0; extra == "export"
63
63
  Requires-Dist: tensorflow>=2.0.0; extra == "export"
64
64
  Requires-Dist: tensorflowjs>=3.9.0; extra == "export"
65
+ Requires-Dist: tensorstore>=0.1.63; (platform_machine == "aarch64" and python_version >= "3.9") and extra == "export"
65
66
  Requires-Dist: keras; extra == "export"
66
67
  Requires-Dist: flatbuffers<100,>=23.5.26; platform_machine == "aarch64" and extra == "export"
67
68
  Requires-Dist: numpy==1.23.5; platform_machine == "aarch64" and extra == "export"
@@ -43,6 +43,9 @@ flatbuffers<100,>=23.5.26
43
43
  numpy==1.23.5
44
44
  h5py!=3.11.0
45
45
 
46
+ [export:platform_machine == "aarch64" and python_version >= "3.9"]
47
+ tensorstore>=0.1.63
48
+
46
49
  [export:platform_system != "Windows" and python_version <= "3.11"]
47
50
  coremltools>=7.0
48
51
 
File without changes
File without changes
File without changes