ultralytics 8.2.65__tar.gz → 8.2.66__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.66}/PKG-INFO +2 -1
  2. {ultralytics-8.2.65 → ultralytics-8.2.66}/pyproject.toml +1 -0
  3. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/model.py +2 -1
  5. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/trainer.py +1 -1
  6. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/hub/session.py +6 -4
  7. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/tasks.py +1 -1
  8. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/checks.py +4 -4
  9. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/torch_utils.py +0 -7
  10. {ultralytics-8.2.65 → ultralytics-8.2.66/ultralytics.egg-info}/PKG-INFO +2 -1
  11. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics.egg-info/requires.txt +3 -0
  12. {ultralytics-8.2.65 → ultralytics-8.2.66}/LICENSE +0 -0
  13. {ultralytics-8.2.65 → ultralytics-8.2.66}/README.md +0 -0
  14. {ultralytics-8.2.65 → ultralytics-8.2.66}/setup.cfg +0 -0
  15. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/__init__.py +0 -0
  16. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/conftest.py +0 -0
  17. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_cli.py +0 -0
  18. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_cuda.py +0 -0
  19. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_engine.py +0 -0
  20. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_explorer.py +0 -0
  21. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_exports.py +0 -0
  22. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_integrations.py +0 -0
  23. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_python.py +0 -0
  24. {ultralytics-8.2.65 → ultralytics-8.2.66}/tests/test_solutions.py +0 -0
  25. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/assets/bus.jpg +0 -0
  26. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/assets/zidane.jpg +0 -0
  27. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/__init__.py +0 -0
  28. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  29. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  30. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  31. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  32. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  33. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  34. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  35. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  36. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  37. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  38. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  39. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  40. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  41. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/coco.yaml +0 -0
  42. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  43. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  44. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  45. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  46. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  47. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  48. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  49. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  50. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  51. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  52. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/signature.yaml +0 -0
  53. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  54. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/datasets/xView.yaml +0 -0
  55. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/default.yaml +0 -0
  56. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  57. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  58. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  59. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  60. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  61. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  62. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  63. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  64. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  65. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  66. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  67. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  68. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  69. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  70. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  71. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  72. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  73. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  74. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  75. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  76. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  77. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  78. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  79. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  80. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  81. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  82. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  83. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  84. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  85. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  86. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  87. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  88. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  89. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  90. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  91. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  92. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  93. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  94. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  95. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  96. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  97. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  98. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/__init__.py +0 -0
  99. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/annotator.py +0 -0
  100. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/augment.py +0 -0
  101. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/base.py +0 -0
  102. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/build.py +0 -0
  103. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/converter.py +0 -0
  104. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/dataset.py +0 -0
  105. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/explorer/__init__.py +0 -0
  106. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/explorer/explorer.py +0 -0
  107. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/explorer/gui/__init__.py +0 -0
  108. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/explorer/gui/dash.py +0 -0
  109. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/explorer/utils.py +0 -0
  110. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/loaders.py +0 -0
  111. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/split_dota.py +0 -0
  112. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/data/utils.py +0 -0
  113. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/__init__.py +0 -0
  114. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/exporter.py +0 -0
  115. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/predictor.py +0 -0
  116. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/results.py +0 -0
  117. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/tuner.py +0 -0
  118. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/engine/validator.py +0 -0
  119. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/hub/__init__.py +0 -0
  120. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/hub/auth.py +0 -0
  121. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/hub/utils.py +0 -0
  122. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/__init__.py +0 -0
  123. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/fastsam/__init__.py +0 -0
  124. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/fastsam/model.py +0 -0
  125. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/fastsam/predict.py +0 -0
  126. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/fastsam/prompt.py +0 -0
  127. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/fastsam/utils.py +0 -0
  128. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/fastsam/val.py +0 -0
  129. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/nas/__init__.py +0 -0
  130. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/nas/model.py +0 -0
  131. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/nas/predict.py +0 -0
  132. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/nas/val.py +0 -0
  133. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/rtdetr/__init__.py +0 -0
  134. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/rtdetr/model.py +0 -0
  135. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/rtdetr/predict.py +0 -0
  136. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/rtdetr/train.py +0 -0
  137. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/rtdetr/val.py +0 -0
  138. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/__init__.py +0 -0
  139. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/amg.py +0 -0
  140. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/build.py +0 -0
  141. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/model.py +0 -0
  142. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/modules/__init__.py +0 -0
  143. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/modules/decoders.py +0 -0
  144. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/modules/encoders.py +0 -0
  145. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/modules/sam.py +0 -0
  146. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  147. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/modules/transformer.py +0 -0
  148. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/sam/predict.py +0 -0
  149. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/utils/__init__.py +0 -0
  150. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/utils/loss.py +0 -0
  151. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/utils/ops.py +0 -0
  152. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/__init__.py +0 -0
  153. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/classify/__init__.py +0 -0
  154. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/classify/predict.py +0 -0
  155. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/classify/train.py +0 -0
  156. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/classify/val.py +0 -0
  157. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/detect/__init__.py +0 -0
  158. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/detect/predict.py +0 -0
  159. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/detect/train.py +0 -0
  160. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/detect/val.py +0 -0
  161. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/model.py +0 -0
  162. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/obb/__init__.py +0 -0
  163. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/obb/predict.py +0 -0
  164. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/obb/train.py +0 -0
  165. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/obb/val.py +0 -0
  166. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/pose/__init__.py +0 -0
  167. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/pose/predict.py +0 -0
  168. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/pose/train.py +0 -0
  169. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/pose/val.py +0 -0
  170. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/segment/__init__.py +0 -0
  171. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/segment/predict.py +0 -0
  172. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/segment/train.py +0 -0
  173. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/segment/val.py +0 -0
  174. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/world/__init__.py +0 -0
  175. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/world/train.py +0 -0
  176. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/models/yolo/world/train_world.py +0 -0
  177. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/__init__.py +0 -0
  178. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/autobackend.py +0 -0
  179. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/modules/__init__.py +0 -0
  180. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/modules/activation.py +0 -0
  181. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/modules/block.py +0 -0
  182. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/modules/conv.py +0 -0
  183. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/modules/head.py +0 -0
  184. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/modules/transformer.py +0 -0
  185. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/nn/modules/utils.py +0 -0
  186. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/__init__.py +0 -0
  187. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/ai_gym.py +0 -0
  188. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/analytics.py +0 -0
  189. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/distance_calculation.py +0 -0
  190. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/heatmap.py +0 -0
  191. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/object_counter.py +0 -0
  192. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/parking_management.py +0 -0
  193. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/queue_management.py +0 -0
  194. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/speed_estimation.py +0 -0
  195. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/solutions/streamlit_inference.py +0 -0
  196. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/__init__.py +0 -0
  197. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/basetrack.py +0 -0
  198. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/bot_sort.py +0 -0
  199. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/byte_tracker.py +0 -0
  200. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/track.py +0 -0
  201. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/utils/__init__.py +0 -0
  202. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/utils/gmc.py +0 -0
  203. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  204. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/trackers/utils/matching.py +0 -0
  205. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/__init__.py +0 -0
  206. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/autobatch.py +0 -0
  207. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/benchmarks.py +0 -0
  208. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/__init__.py +0 -0
  209. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/base.py +0 -0
  210. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/clearml.py +0 -0
  211. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/comet.py +0 -0
  212. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/dvc.py +0 -0
  213. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/hub.py +0 -0
  214. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/mlflow.py +0 -0
  215. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/neptune.py +0 -0
  216. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/raytune.py +0 -0
  217. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  218. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/callbacks/wb.py +0 -0
  219. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/dist.py +0 -0
  220. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/downloads.py +0 -0
  221. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/errors.py +0 -0
  222. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/files.py +0 -0
  223. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/instance.py +0 -0
  224. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/loss.py +0 -0
  225. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/metrics.py +0 -0
  226. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/ops.py +0 -0
  227. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/patches.py +0 -0
  228. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/plotting.py +0 -0
  229. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/tal.py +0 -0
  230. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/triton.py +0 -0
  231. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics/utils/tuner.py +0 -0
  232. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics.egg-info/SOURCES.txt +0 -0
  233. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics.egg-info/dependency_links.txt +0 -0
  234. {ultralytics-8.2.65 → ultralytics-8.2.66}/ultralytics.egg-info/entry_points.txt +0 -0
  235. {ultralytics-8.2.65 → ultralytics-8.2.66}/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.66
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.66"
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,
@@ -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.66
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