ultralytics 8.2.40__tar.gz → 8.2.42__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 (232) hide show
  1. {ultralytics-8.2.40 → ultralytics-8.2.42}/PKG-INFO +3 -5
  2. {ultralytics-8.2.40 → ultralytics-8.2.42}/pyproject.toml +2 -4
  3. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/exporter.py +5 -5
  5. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/model.py +1 -1
  6. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/trainer.py +6 -1
  7. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/hub/__init__.py +1 -1
  8. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/hub/session.py +6 -2
  9. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/autobackend.py +1 -1
  10. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/hub.py +1 -1
  11. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/dist.py +1 -0
  12. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/downloads.py +7 -5
  13. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/loss.py +4 -4
  14. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/torch_utils.py +2 -2
  15. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics.egg-info/PKG-INFO +3 -5
  16. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics.egg-info/requires.txt +2 -4
  17. {ultralytics-8.2.40 → ultralytics-8.2.42}/LICENSE +0 -0
  18. {ultralytics-8.2.40 → ultralytics-8.2.42}/README.md +0 -0
  19. {ultralytics-8.2.40 → ultralytics-8.2.42}/setup.cfg +0 -0
  20. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/__init__.py +0 -0
  21. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/conftest.py +0 -0
  22. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/test_cli.py +0 -0
  23. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/test_cuda.py +0 -0
  24. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/test_engine.py +0 -0
  25. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/test_explorer.py +0 -0
  26. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/test_exports.py +0 -0
  27. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/test_integrations.py +0 -0
  28. {ultralytics-8.2.40 → ultralytics-8.2.42}/tests/test_python.py +0 -0
  29. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/assets/bus.jpg +0 -0
  30. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/assets/zidane.jpg +0 -0
  31. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/__init__.py +0 -0
  32. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  33. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  34. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  35. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  36. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  37. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  38. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  39. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  40. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  41. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  42. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  43. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  44. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  45. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/coco.yaml +0 -0
  46. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  47. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  48. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  49. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  50. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  51. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  52. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  53. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  54. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  55. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  56. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/signature.yaml +0 -0
  57. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  58. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/datasets/xView.yaml +0 -0
  59. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/default.yaml +0 -0
  60. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  61. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  62. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  63. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  64. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  65. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  66. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  67. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  68. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  69. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  70. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  71. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  72. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  73. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  74. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  75. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  76. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  77. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  78. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  79. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  80. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  81. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  82. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  83. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  84. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  85. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  86. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  87. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  88. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  89. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  90. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  91. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  92. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  93. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  94. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  95. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  96. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  97. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  98. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  99. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  100. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  101. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  102. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/__init__.py +0 -0
  103. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/annotator.py +0 -0
  104. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/augment.py +0 -0
  105. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/base.py +0 -0
  106. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/build.py +0 -0
  107. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/converter.py +0 -0
  108. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/dataset.py +0 -0
  109. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/explorer/__init__.py +0 -0
  110. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/explorer/explorer.py +0 -0
  111. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/explorer/gui/__init__.py +0 -0
  112. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/explorer/gui/dash.py +0 -0
  113. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/explorer/utils.py +0 -0
  114. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/loaders.py +0 -0
  115. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/split_dota.py +0 -0
  116. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/data/utils.py +0 -0
  117. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/__init__.py +0 -0
  118. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/predictor.py +0 -0
  119. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/results.py +0 -0
  120. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/tuner.py +0 -0
  121. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/engine/validator.py +0 -0
  122. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/hub/auth.py +0 -0
  123. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/hub/utils.py +0 -0
  124. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/__init__.py +0 -0
  125. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/fastsam/__init__.py +0 -0
  126. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/fastsam/model.py +0 -0
  127. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/fastsam/predict.py +0 -0
  128. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/fastsam/prompt.py +0 -0
  129. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/fastsam/utils.py +0 -0
  130. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/fastsam/val.py +0 -0
  131. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/nas/__init__.py +0 -0
  132. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/nas/model.py +0 -0
  133. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/nas/predict.py +0 -0
  134. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/nas/val.py +0 -0
  135. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/rtdetr/__init__.py +0 -0
  136. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/rtdetr/model.py +0 -0
  137. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/rtdetr/predict.py +0 -0
  138. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/rtdetr/train.py +0 -0
  139. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/rtdetr/val.py +0 -0
  140. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/__init__.py +0 -0
  141. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/amg.py +0 -0
  142. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/build.py +0 -0
  143. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/model.py +0 -0
  144. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/modules/__init__.py +0 -0
  145. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/modules/decoders.py +0 -0
  146. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/modules/encoders.py +0 -0
  147. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/modules/sam.py +0 -0
  148. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  149. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/modules/transformer.py +0 -0
  150. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/sam/predict.py +0 -0
  151. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/utils/__init__.py +0 -0
  152. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/utils/loss.py +0 -0
  153. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/utils/ops.py +0 -0
  154. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/__init__.py +0 -0
  155. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/classify/__init__.py +0 -0
  156. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/classify/predict.py +0 -0
  157. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/classify/train.py +0 -0
  158. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/classify/val.py +0 -0
  159. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/detect/__init__.py +0 -0
  160. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/detect/predict.py +0 -0
  161. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/detect/train.py +0 -0
  162. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/detect/val.py +0 -0
  163. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/model.py +0 -0
  164. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/obb/__init__.py +0 -0
  165. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/obb/predict.py +0 -0
  166. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/obb/train.py +0 -0
  167. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/obb/val.py +0 -0
  168. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/pose/__init__.py +0 -0
  169. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/pose/predict.py +0 -0
  170. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/pose/train.py +0 -0
  171. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/pose/val.py +0 -0
  172. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/segment/__init__.py +0 -0
  173. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/segment/predict.py +0 -0
  174. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/segment/train.py +0 -0
  175. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/segment/val.py +0 -0
  176. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/world/__init__.py +0 -0
  177. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/world/train.py +0 -0
  178. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/models/yolo/world/train_world.py +0 -0
  179. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/__init__.py +0 -0
  180. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/modules/__init__.py +0 -0
  181. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/modules/block.py +0 -0
  182. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/modules/conv.py +0 -0
  183. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/modules/head.py +0 -0
  184. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/modules/transformer.py +0 -0
  185. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/modules/utils.py +0 -0
  186. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/nn/tasks.py +0 -0
  187. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/__init__.py +0 -0
  188. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/ai_gym.py +0 -0
  189. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/analytics.py +0 -0
  190. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/distance_calculation.py +0 -0
  191. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/heatmap.py +0 -0
  192. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/object_counter.py +0 -0
  193. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/parking_management.py +0 -0
  194. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/queue_management.py +0 -0
  195. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/solutions/speed_estimation.py +0 -0
  196. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/__init__.py +0 -0
  197. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/basetrack.py +0 -0
  198. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/bot_sort.py +0 -0
  199. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/byte_tracker.py +0 -0
  200. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/track.py +0 -0
  201. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/utils/__init__.py +0 -0
  202. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/utils/gmc.py +0 -0
  203. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  204. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/trackers/utils/matching.py +0 -0
  205. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/__init__.py +0 -0
  206. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/autobatch.py +0 -0
  207. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/benchmarks.py +0 -0
  208. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/__init__.py +0 -0
  209. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/base.py +0 -0
  210. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/clearml.py +0 -0
  211. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/comet.py +0 -0
  212. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/dvc.py +0 -0
  213. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/mlflow.py +0 -0
  214. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/neptune.py +0 -0
  215. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/raytune.py +0 -0
  216. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  217. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/callbacks/wb.py +0 -0
  218. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/checks.py +0 -0
  219. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/errors.py +0 -0
  220. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/files.py +0 -0
  221. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/instance.py +0 -0
  222. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/metrics.py +0 -0
  223. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/ops.py +0 -0
  224. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/patches.py +0 -0
  225. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/plotting.py +0 -0
  226. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/tal.py +0 -0
  227. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/triton.py +0 -0
  228. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics/utils/tuner.py +0 -0
  229. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics.egg-info/SOURCES.txt +0 -0
  230. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics.egg-info/dependency_links.txt +0 -0
  231. {ultralytics-8.2.40 → ultralytics-8.2.42}/ultralytics.egg-info/entry_points.txt +0 -0
  232. {ultralytics-8.2.40 → ultralytics-8.2.42}/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.40
3
+ Version: 8.2.42
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
@@ -30,7 +30,7 @@ Classifier: Operating System :: Microsoft :: Windows
30
30
  Requires-Python: >=3.8
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
- Requires-Dist: numpy<2.0.0
33
+ Requires-Dist: numpy<2.0.0,>=1.23.5
34
34
  Requires-Dist: matplotlib>=3.3.0
35
35
  Requires-Dist: opencv-python>=4.6.0
36
36
  Requires-Dist: pillow>=7.1.2
@@ -47,8 +47,6 @@ Requires-Dist: seaborn>=0.11.0
47
47
  Requires-Dist: ultralytics-thop>=2.0.0
48
48
  Provides-Extra: dev
49
49
  Requires-Dist: ipython; extra == "dev"
50
- Requires-Dist: check-manifest; extra == "dev"
51
- Requires-Dist: pre-commit; extra == "dev"
52
50
  Requires-Dist: pytest; extra == "dev"
53
51
  Requires-Dist: pytest-cov; extra == "dev"
54
52
  Requires-Dist: coverage[toml]; extra == "dev"
@@ -77,7 +75,7 @@ Requires-Dist: comet; extra == "logging"
77
75
  Requires-Dist: tensorboard>=2.13.0; extra == "logging"
78
76
  Requires-Dist: dvclive>=2.12.0; extra == "logging"
79
77
  Provides-Extra: extra
80
- Requires-Dist: hub-sdk>=0.0.5; extra == "extra"
78
+ Requires-Dist: hub-sdk>=0.0.8; extra == "extra"
81
79
  Requires-Dist: ipython; extra == "extra"
82
80
  Requires-Dist: albumentations>=1.4.6; extra == "extra"
83
81
  Requires-Dist: pycocotools>=2.0.7; extra == "extra"
@@ -64,7 +64,7 @@ classifiers = [
64
64
 
65
65
  # Required dependencies ------------------------------------------------------------------------------------------------
66
66
  dependencies = [
67
- "numpy<2.0.0", # temporary patch for compat errors https://github.com/ultralytics/yolov5/actions/runs/9538130424/job/26286956354
67
+ "numpy>=1.23.5,<2.0.0", # temporary patch for compat errors https://github.com/ultralytics/yolov5/actions/runs/9538130424/job/26286956354
68
68
  "matplotlib>=3.3.0",
69
69
  "opencv-python>=4.6.0",
70
70
  "pillow>=7.1.2",
@@ -85,8 +85,6 @@ dependencies = [
85
85
  [project.optional-dependencies]
86
86
  dev = [
87
87
  "ipython",
88
- "check-manifest",
89
- "pre-commit",
90
88
  "pytest",
91
89
  "pytest-cov",
92
90
  "coverage[toml]",
@@ -119,7 +117,7 @@ logging = [
119
117
  "dvclive>=2.12.0",
120
118
  ]
121
119
  extra = [
122
- "hub-sdk>=0.0.5", # Ultralytics HUB
120
+ "hub-sdk>=0.0.8", # Ultralytics HUB
123
121
  "ipython", # interactive notebook
124
122
  "albumentations>=1.4.6", # training augmentations
125
123
  "pycocotools>=2.0.7", # COCO mAP
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.40"
3
+ __version__ = "8.2.42"
4
4
 
5
5
  import os
6
6
 
@@ -686,7 +686,7 @@ class Exporter:
686
686
  import tensorrt as trt # noqa
687
687
  except ImportError:
688
688
  if LINUX:
689
- check_requirements("nvidia-tensorrt", cmds="-U --index-url https://pypi.ngc.nvidia.com")
689
+ check_requirements("tensorrt", cmds="-U")
690
690
  import tensorrt as trt # noqa
691
691
  check_version(trt.__version__, "7.0.0", hard=True) # require tensorrt>=7.0.0
692
692
 
@@ -822,13 +822,13 @@ class Exporter:
822
822
  import tensorflow as tf # noqa
823
823
  check_requirements(
824
824
  (
825
- "keras", # required by onnx2tf package
826
- "tf_keras", # required by onnx2tf package
825
+ "keras", # required by 'onnx2tf' package
826
+ "tf_keras", # required by 'onnx2tf' package
827
+ "sng4onnx>=1.0.1", # required by 'onnx2tf' package
828
+ "onnx_graphsurgeon>=0.3.26", # required by 'onnx2tf' package
827
829
  "onnx>=1.12.0",
828
830
  "onnx2tf>1.17.5,<=1.22.3",
829
- "sng4onnx>=1.0.1",
830
831
  "onnxslim>=0.1.31",
831
- "onnx_graphsurgeon>=0.3.26",
832
832
  "tflite_support<=0.4.3" if IS_JETSON else "tflite_support", # fix ImportError 'GLIBCXX_3.4.29'
833
833
  "flatbuffers>=23.5.26,<100", # update old 'flatbuffers' included inside tensorflow package
834
834
  "onnxruntime-gpu" if cuda else "onnxruntime",
@@ -133,7 +133,7 @@ class Model(nn.Module):
133
133
  # Check if Ultralytics HUB model from https://hub.ultralytics.com
134
134
  if self.is_hub_model(model):
135
135
  # Fetch model from HUB
136
- checks.check_requirements("hub-sdk>=0.0.6")
136
+ checks.check_requirements("hub-sdk>=0.0.8")
137
137
  self.session = HUBTrainingSession.create_session(model)
138
138
  model = self.session.model_file
139
139
 
@@ -48,6 +48,7 @@ from ultralytics.utils.torch_utils import (
48
48
  one_cycle,
49
49
  select_device,
50
50
  strip_optimizer,
51
+ torch_distributed_zero_first,
51
52
  )
52
53
 
53
54
 
@@ -127,7 +128,8 @@ class BaseTrainer:
127
128
 
128
129
  # Model and Dataset
129
130
  self.model = check_model_file_from_stem(self.args.model) # add suffix, i.e. yolov8n -> yolov8n.pt
130
- self.trainset, self.testset = self.get_dataset()
131
+ with torch_distributed_zero_first(RANK): # avoid auto-downloading dataset multiple times
132
+ self.trainset, self.testset = self.get_dataset()
131
133
  self.ema = None
132
134
 
133
135
  # Optimization utils init
@@ -143,6 +145,9 @@ class BaseTrainer:
143
145
  self.csv = self.save_dir / "results.csv"
144
146
  self.plot_idx = [0, 1, 2]
145
147
 
148
+ # HUB
149
+ self.hub_session = None
150
+
146
151
  # Callbacks
147
152
  self.callbacks = _callbacks or callbacks.get_default_callbacks()
148
153
  if RANK in {-1, 0}:
@@ -38,7 +38,7 @@ def login(api_key: str = None, save=True) -> bool:
38
38
  Returns:
39
39
  (bool): True if authentication is successful, False otherwise.
40
40
  """
41
- checks.check_requirements("hub-sdk>=0.0.6")
41
+ checks.check_requirements("hub-sdk>=0.0.8")
42
42
  from hub_sdk import HUBClient
43
43
 
44
44
  api_key_url = f"{HUB_WEB_ROOT}/settings?tab=api+keys" # set the redirect URL
@@ -71,8 +71,12 @@ class HUBTrainingSession:
71
71
  """Class method to create an authenticated HUBTrainingSession or return None."""
72
72
  try:
73
73
  session = cls(identifier)
74
- assert session.client.authenticated, "HUB not authenticated"
75
- if args:
74
+ if not session.client.authenticated:
75
+ if identifier.startswith(f"{HUB_WEB_ROOT}/models/"):
76
+ LOGGER.warning(f"{PREFIX}WARNING ⚠️ Login to Ultralytics HUB with 'yolo hub login API_KEY'.")
77
+ exit()
78
+ return None
79
+ if args and not identifier.startswith(f"{HUB_WEB_ROOT}/models/"): # not a HUB model URL
76
80
  session.create_model(args)
77
81
  assert session.model.id, "HUB model not loaded correctly"
78
82
  return session
@@ -225,7 +225,7 @@ class AutoBackend(nn.Module):
225
225
  import tensorrt as trt # noqa https://developer.nvidia.com/nvidia-tensorrt-download
226
226
  except ImportError:
227
227
  if LINUX:
228
- check_requirements("nvidia-tensorrt", cmds="-U --index-url https://pypi.ngc.nvidia.com")
228
+ check_requirements("tensorrt", cmds="-U")
229
229
  import tensorrt as trt # noqa
230
230
  check_version(trt.__version__, "7.0.0", hard=True) # require tensorrt>=7.0.0
231
231
  if device.type == "cpu":
@@ -9,7 +9,7 @@ from ultralytics.utils import LOGGER, RANK, SETTINGS
9
9
 
10
10
  def on_pretrain_routine_start(trainer):
11
11
  """Create a remote Ultralytics HUB session to log local model training."""
12
- if RANK in {-1, 0} and SETTINGS["hub"] is True and not getattr(trainer, "hub_session", None):
12
+ if RANK in {-1, 0} and SETTINGS["hub"] is True and SETTINGS["api_key"] and trainer.hub_session is None:
13
13
  trainer.hub_session = HUBTrainingSession.create_session(trainer.args.model, trainer.args)
14
14
 
15
15
 
@@ -37,6 +37,7 @@ if __name__ == "__main__":
37
37
  cfg = DEFAULT_CFG_DICT.copy()
38
38
  cfg.update(save_dir='') # handle the extra key 'save_dir'
39
39
  trainer = {name}(cfg=cfg, overrides=overrides)
40
+ trainer.args.model = "{getattr(trainer.hub_session, 'model_url', trainer.args.model)}"
40
41
  results = trainer.train()
41
42
  """
42
43
  (USER_CONFIG_DIR / "DDP").mkdir(exist_ok=True)
@@ -168,13 +168,15 @@ def unzip_file(file, path=None, exclude=(".DS_Store", "__MACOSX"), exist_ok=Fals
168
168
  files = [f for f in zipObj.namelist() if all(x not in f for x in exclude)]
169
169
  top_level_dirs = {Path(f).parts[0] for f in files}
170
170
 
171
- if len(top_level_dirs) > 1 or (len(files) > 1 and not files[0].endswith("/")):
172
- # Zip has multiple files at top level
173
- path = extract_path = Path(path) / Path(file).stem # i.e. ../datasets/coco8
174
- else:
171
+ # Decide to unzip directly or unzip into a directory
172
+ unzip_as_dir = len(top_level_dirs) == 1 # (len(files) > 1 and not files[0].endswith("/"))
173
+ if unzip_as_dir:
175
174
  # Zip has 1 top-level directory
176
175
  extract_path = path # i.e. ../datasets
177
- path = Path(path) / list(top_level_dirs)[0] # i.e. ../datasets/coco8
176
+ path = Path(path) / list(top_level_dirs)[0] # i.e. extract coco8/ dir to ../datasets/
177
+ else:
178
+ # Zip has multiple files at top level
179
+ path = extract_path = Path(path) / Path(file).stem # i.e. extract multiple files to ../datasets/coco8/
178
180
 
179
181
  # Check if destination directory already exists and contains files
180
182
  if path.exists() and any(path.iterdir()) and not exist_ok:
@@ -214,7 +214,7 @@ class v8DetectionLoss:
214
214
  targets = torch.cat((batch["batch_idx"].view(-1, 1), batch["cls"].view(-1, 1), batch["bboxes"]), 1)
215
215
  targets = self.preprocess(targets.to(self.device), batch_size, scale_tensor=imgsz[[1, 0, 1, 0]])
216
216
  gt_labels, gt_bboxes = targets.split((1, 4), 2) # cls, xyxy
217
- mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0)
217
+ mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0.0)
218
218
 
219
219
  # Pboxes
220
220
  pred_bboxes = self.bbox_decode(anchor_points, pred_distri) # xyxy, (b, h*w, 4)
@@ -280,7 +280,7 @@ class v8SegmentationLoss(v8DetectionLoss):
280
280
  targets = torch.cat((batch_idx, batch["cls"].view(-1, 1), batch["bboxes"]), 1)
281
281
  targets = self.preprocess(targets.to(self.device), batch_size, scale_tensor=imgsz[[1, 0, 1, 0]])
282
282
  gt_labels, gt_bboxes = targets.split((1, 4), 2) # cls, xyxy
283
- mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0)
283
+ mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0.0)
284
284
  except RuntimeError as e:
285
285
  raise TypeError(
286
286
  "ERROR ❌ segment dataset incorrectly formatted or not a segment dataset.\n"
@@ -467,7 +467,7 @@ class v8PoseLoss(v8DetectionLoss):
467
467
  targets = torch.cat((batch_idx, batch["cls"].view(-1, 1), batch["bboxes"]), 1)
468
468
  targets = self.preprocess(targets.to(self.device), batch_size, scale_tensor=imgsz[[1, 0, 1, 0]])
469
469
  gt_labels, gt_bboxes = targets.split((1, 4), 2) # cls, xyxy
470
- mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0)
470
+ mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0.0)
471
471
 
472
472
  # Pboxes
473
473
  pred_bboxes = self.bbox_decode(anchor_points, pred_distri) # xyxy, (b, h*w, 4)
@@ -652,7 +652,7 @@ class v8OBBLoss(v8DetectionLoss):
652
652
  targets = targets[(rw >= 2) & (rh >= 2)] # filter rboxes of tiny size to stabilize training
653
653
  targets = self.preprocess(targets.to(self.device), batch_size, scale_tensor=imgsz[[1, 0, 1, 0]])
654
654
  gt_labels, gt_bboxes = targets.split((1, 5), 2) # cls, xywhr
655
- mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0)
655
+ mask_gt = gt_bboxes.sum(2, keepdim=True).gt_(0.0)
656
656
  except RuntimeError as e:
657
657
  raise TypeError(
658
658
  "ERROR ❌ OBB dataset incorrectly formatted or not a OBB dataset.\n"
@@ -43,8 +43,8 @@ TORCHVISION_0_13 = check_version(TORCHVISION_VERSION, "0.13.0")
43
43
 
44
44
  @contextmanager
45
45
  def torch_distributed_zero_first(local_rank: int):
46
- """Decorator to make all processes in distributed training wait for each local_master to do something."""
47
- initialized = torch.distributed.is_available() and torch.distributed.is_initialized()
46
+ """Ensures all processes in distributed training wait for the local master (rank 0) to complete a task first."""
47
+ initialized = dist.is_available() and dist.is_initialized()
48
48
  if initialized and local_rank not in {-1, 0}:
49
49
  dist.barrier(device_ids=[local_rank])
50
50
  yield
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.40
3
+ Version: 8.2.42
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
@@ -30,7 +30,7 @@ Classifier: Operating System :: Microsoft :: Windows
30
30
  Requires-Python: >=3.8
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
- Requires-Dist: numpy<2.0.0
33
+ Requires-Dist: numpy<2.0.0,>=1.23.5
34
34
  Requires-Dist: matplotlib>=3.3.0
35
35
  Requires-Dist: opencv-python>=4.6.0
36
36
  Requires-Dist: pillow>=7.1.2
@@ -47,8 +47,6 @@ Requires-Dist: seaborn>=0.11.0
47
47
  Requires-Dist: ultralytics-thop>=2.0.0
48
48
  Provides-Extra: dev
49
49
  Requires-Dist: ipython; extra == "dev"
50
- Requires-Dist: check-manifest; extra == "dev"
51
- Requires-Dist: pre-commit; extra == "dev"
52
50
  Requires-Dist: pytest; extra == "dev"
53
51
  Requires-Dist: pytest-cov; extra == "dev"
54
52
  Requires-Dist: coverage[toml]; extra == "dev"
@@ -77,7 +75,7 @@ Requires-Dist: comet; extra == "logging"
77
75
  Requires-Dist: tensorboard>=2.13.0; extra == "logging"
78
76
  Requires-Dist: dvclive>=2.12.0; extra == "logging"
79
77
  Provides-Extra: extra
80
- Requires-Dist: hub-sdk>=0.0.5; extra == "extra"
78
+ Requires-Dist: hub-sdk>=0.0.8; extra == "extra"
81
79
  Requires-Dist: ipython; extra == "extra"
82
80
  Requires-Dist: albumentations>=1.4.6; extra == "extra"
83
81
  Requires-Dist: pycocotools>=2.0.7; extra == "extra"
@@ -1,4 +1,4 @@
1
- numpy<2.0.0
1
+ numpy<2.0.0,>=1.23.5
2
2
  matplotlib>=3.3.0
3
3
  opencv-python>=4.6.0
4
4
  pillow>=7.1.2
@@ -16,8 +16,6 @@ ultralytics-thop>=2.0.0
16
16
 
17
17
  [dev]
18
18
  ipython
19
- check-manifest
20
- pre-commit
21
19
  pytest
22
20
  pytest-cov
23
21
  coverage[toml]
@@ -49,7 +47,7 @@ h5py!=3.11.0
49
47
  coremltools>=7.0
50
48
 
51
49
  [extra]
52
- hub-sdk>=0.0.5
50
+ hub-sdk>=0.0.8
53
51
  ipython
54
52
  albumentations>=1.4.6
55
53
  pycocotools>=2.0.7
File without changes
File without changes
File without changes