ultralytics 8.3.72__tar.gz → 8.3.74__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. {ultralytics-8.3.72/ultralytics.egg-info → ultralytics-8.3.74}/PKG-INFO +1 -2
  2. {ultralytics-8.3.72 → ultralytics-8.3.74}/pyproject.toml +0 -1
  3. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/model.py +1 -0
  5. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/results.py +9 -20
  6. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/trainer.py +2 -0
  7. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/__init__.py +0 -1
  8. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/benchmarks.py +5 -3
  9. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/raytune.py +1 -1
  10. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/checks.py +1 -1
  11. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/torch_utils.py +9 -2
  12. {ultralytics-8.3.72 → ultralytics-8.3.74/ultralytics.egg-info}/PKG-INFO +1 -2
  13. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics.egg-info/requires.txt +0 -1
  14. {ultralytics-8.3.72 → ultralytics-8.3.74}/LICENSE +0 -0
  15. {ultralytics-8.3.72 → ultralytics-8.3.74}/README.md +0 -0
  16. {ultralytics-8.3.72 → ultralytics-8.3.74}/setup.cfg +0 -0
  17. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/__init__.py +0 -0
  18. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/conftest.py +0 -0
  19. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/test_cli.py +0 -0
  20. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/test_cuda.py +0 -0
  21. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/test_engine.py +0 -0
  22. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/test_exports.py +0 -0
  23. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/test_integrations.py +0 -0
  24. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/test_python.py +0 -0
  25. {ultralytics-8.3.72 → ultralytics-8.3.74}/tests/test_solutions.py +0 -0
  26. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/assets/bus.jpg +0 -0
  27. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/assets/zidane.jpg +0 -0
  28. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/__init__.py +0 -0
  29. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  30. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  31. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  32. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  33. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  34. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  35. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  36. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  37. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  38. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  39. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  40. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  41. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  42. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/coco.yaml +0 -0
  43. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  44. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  45. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  46. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  47. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  48. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  49. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  50. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  51. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  52. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  53. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  54. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  55. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  56. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/signature.yaml +0 -0
  57. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  58. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/datasets/xView.yaml +0 -0
  59. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/default.yaml +0 -0
  60. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  61. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  62. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  63. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  64. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  65. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  66. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  67. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  68. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  69. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  70. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  71. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  72. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  73. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  74. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  75. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  76. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  77. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  78. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  79. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  80. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  81. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  82. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  83. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  84. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  85. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  86. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  87. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  88. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  89. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  90. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  91. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  92. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  93. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  94. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  95. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  96. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  97. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  98. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  99. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  100. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  101. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  102. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  103. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  104. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  105. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  106. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/solutions/default.yaml +0 -0
  107. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  108. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  109. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/__init__.py +0 -0
  110. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/annotator.py +0 -0
  111. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/augment.py +0 -0
  112. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/base.py +0 -0
  113. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/build.py +0 -0
  114. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/converter.py +0 -0
  115. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/dataset.py +0 -0
  116. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/loaders.py +0 -0
  117. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/split_dota.py +0 -0
  118. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/data/utils.py +0 -0
  119. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/__init__.py +0 -0
  120. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/exporter.py +0 -0
  121. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/predictor.py +0 -0
  122. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/tuner.py +0 -0
  123. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/engine/validator.py +0 -0
  124. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/hub/__init__.py +0 -0
  125. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/hub/auth.py +0 -0
  126. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/hub/google/__init__.py +0 -0
  127. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/hub/session.py +0 -0
  128. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/hub/utils.py +0 -0
  129. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/__init__.py +0 -0
  130. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/fastsam/__init__.py +0 -0
  131. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/fastsam/model.py +0 -0
  132. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/fastsam/predict.py +0 -0
  133. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/fastsam/utils.py +0 -0
  134. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/fastsam/val.py +0 -0
  135. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/nas/__init__.py +0 -0
  136. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/nas/model.py +0 -0
  137. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/nas/predict.py +0 -0
  138. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/nas/val.py +0 -0
  139. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/rtdetr/__init__.py +0 -0
  140. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/rtdetr/model.py +0 -0
  141. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/rtdetr/predict.py +0 -0
  142. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/rtdetr/train.py +0 -0
  143. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/rtdetr/val.py +0 -0
  144. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/__init__.py +0 -0
  145. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/amg.py +0 -0
  146. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/build.py +0 -0
  147. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/model.py +0 -0
  148. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/__init__.py +0 -0
  149. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/blocks.py +0 -0
  150. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/decoders.py +0 -0
  151. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/encoders.py +0 -0
  152. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  153. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/sam.py +0 -0
  154. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  155. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/transformer.py +0 -0
  156. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/modules/utils.py +0 -0
  157. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/sam/predict.py +0 -0
  158. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/utils/__init__.py +0 -0
  159. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/utils/loss.py +0 -0
  160. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/utils/ops.py +0 -0
  161. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/__init__.py +0 -0
  162. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/classify/__init__.py +0 -0
  163. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/classify/predict.py +0 -0
  164. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/classify/train.py +0 -0
  165. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/classify/val.py +0 -0
  166. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/detect/__init__.py +0 -0
  167. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/detect/predict.py +0 -0
  168. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/detect/train.py +0 -0
  169. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/detect/val.py +0 -0
  170. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/model.py +0 -0
  171. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/obb/__init__.py +0 -0
  172. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/obb/predict.py +0 -0
  173. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/obb/train.py +0 -0
  174. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/obb/val.py +0 -0
  175. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/pose/__init__.py +0 -0
  176. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/pose/predict.py +0 -0
  177. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/pose/train.py +0 -0
  178. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/pose/val.py +0 -0
  179. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/segment/__init__.py +0 -0
  180. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/segment/predict.py +0 -0
  181. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/segment/train.py +0 -0
  182. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/segment/val.py +0 -0
  183. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/world/__init__.py +0 -0
  184. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/world/train.py +0 -0
  185. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/models/yolo/world/train_world.py +0 -0
  186. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/__init__.py +0 -0
  187. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/autobackend.py +0 -0
  188. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/modules/__init__.py +0 -0
  189. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/modules/activation.py +0 -0
  190. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/modules/block.py +0 -0
  191. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/modules/conv.py +0 -0
  192. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/modules/head.py +0 -0
  193. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/modules/transformer.py +0 -0
  194. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/modules/utils.py +0 -0
  195. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/nn/tasks.py +0 -0
  196. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/__init__.py +0 -0
  197. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/ai_gym.py +0 -0
  198. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/analytics.py +0 -0
  199. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/distance_calculation.py +0 -0
  200. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/heatmap.py +0 -0
  201. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/object_counter.py +0 -0
  202. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/parking_management.py +0 -0
  203. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/queue_management.py +0 -0
  204. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/region_counter.py +0 -0
  205. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/security_alarm.py +0 -0
  206. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/solutions.py +0 -0
  207. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/speed_estimation.py +0 -0
  208. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/streamlit_inference.py +0 -0
  209. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/solutions/trackzone.py +0 -0
  210. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/__init__.py +0 -0
  211. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/basetrack.py +0 -0
  212. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/bot_sort.py +0 -0
  213. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/byte_tracker.py +0 -0
  214. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/track.py +0 -0
  215. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/utils/__init__.py +0 -0
  216. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/utils/gmc.py +0 -0
  217. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  218. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/trackers/utils/matching.py +0 -0
  219. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/autobatch.py +0 -0
  220. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/__init__.py +0 -0
  221. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/base.py +0 -0
  222. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/clearml.py +0 -0
  223. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/comet.py +0 -0
  224. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/dvc.py +0 -0
  225. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/hub.py +0 -0
  226. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/mlflow.py +0 -0
  227. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/neptune.py +0 -0
  228. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  229. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/callbacks/wb.py +0 -0
  230. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/dist.py +0 -0
  231. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/downloads.py +0 -0
  232. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/errors.py +0 -0
  233. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/files.py +0 -0
  234. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/instance.py +0 -0
  235. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/loss.py +0 -0
  236. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/metrics.py +0 -0
  237. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/ops.py +0 -0
  238. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/patches.py +0 -0
  239. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/plotting.py +0 -0
  240. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/tal.py +0 -0
  241. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/triton.py +0 -0
  242. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics/utils/tuner.py +0 -0
  243. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics.egg-info/SOURCES.txt +0 -0
  244. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics.egg-info/dependency_links.txt +0 -0
  245. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics.egg-info/entry_points.txt +0 -0
  246. {ultralytics-8.3.72 → ultralytics-8.3.74}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.72
3
+ Version: 8.3.74
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -54,7 +54,6 @@ Requires-Dist: pytest; extra == "dev"
54
54
  Requires-Dist: pytest-cov; extra == "dev"
55
55
  Requires-Dist: coverage[toml]; extra == "dev"
56
56
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
57
- Requires-Dist: beautifulsoup4<=4.12.3; extra == "dev"
58
57
  Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
59
58
  Requires-Dist: mkdocstrings[python]; extra == "dev"
60
59
  Requires-Dist: mkdocs-redirects; extra == "dev"
@@ -87,7 +87,6 @@ dev = [
87
87
  "pytest-cov",
88
88
  "coverage[toml]",
89
89
  "mkdocs>=1.6.0",
90
- "beautifulsoup4<=4.12.3", # For docs https://github.com/ultralytics/ultralytics/pull/19067
91
90
  "mkdocs-material>=9.5.9",
92
91
  "mkdocstrings[python]",
93
92
  "mkdocs-redirects", # 301 redirects
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.72"
3
+ __version__ = "8.3.74"
4
4
 
5
5
  import os
6
6
 
@@ -140,6 +140,7 @@ class Model(torch.nn.Module):
140
140
  return
141
141
 
142
142
  # Load or create new YOLO model
143
+ __import__("os").environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8" # to avoid deterministic warnings
143
144
  if Path(model).suffix in {".yaml", ".yml"}:
144
145
  self._new(model, task=task, verbose=verbose)
145
146
  else:
@@ -583,7 +583,7 @@ class Results(SimpleClass):
583
583
  if save:
584
584
  annotator.save(filename)
585
585
 
586
- return annotator.result()
586
+ return annotator.im if pil else annotator.result()
587
587
 
588
588
  def show(self, *args, **kwargs):
589
589
  """
@@ -967,7 +967,7 @@ class Results(SimpleClass):
967
967
 
968
968
  # Convert results to a list of dictionaries
969
969
  data = self.summary(normalize=normalize, decimals=decimals)
970
- if not data:
970
+ if len(data) == 0:
971
971
  LOGGER.warning("⚠️ No results to save to SQL. Results dict is empty")
972
972
  return
973
973
 
@@ -977,31 +977,20 @@ class Results(SimpleClass):
977
977
 
978
978
  # Create table if it doesn't exist
979
979
  columns = (
980
- "id INTEGER PRIMARY KEY AUTOINCREMENT, class_name TEXT, confidence REAL, "
981
- "box TEXT, masks TEXT, kpts TEXT, obb TEXT"
980
+ "id INTEGER PRIMARY KEY AUTOINCREMENT, class_name TEXT, confidence REAL, box TEXT, masks TEXT, kpts TEXT"
982
981
  )
983
982
  cursor.execute(f"CREATE TABLE IF NOT EXISTS {table_name} ({columns})")
984
983
 
985
984
  # Insert data into the table
986
- for i, item in enumerate(data):
987
- detect, obb = None, None # necessary to reinit these variables inside for loop to avoid duplication
988
- class_name = item.get("name")
989
- box = item.get("box", {})
990
- # Serialize the box as JSON for 'detect' and 'obb' based on key presence
991
- if all(key in box for key in ["x1", "y1", "x2", "y2"]) and not any(key in box for key in ["x3", "x4"]):
992
- detect = json.dumps(box)
993
- if all(key in box for key in ["x1", "y1", "x2", "y2", "x3", "x4"]):
994
- obb = json.dumps(box)
995
-
985
+ for item in data:
996
986
  cursor.execute(
997
- f"INSERT INTO {table_name} (class_name, confidence, box, masks, kpts, obb) VALUES (?, ?, ?, ?, ?, ?)",
987
+ f"INSERT INTO {table_name} (class_name, confidence, box, masks, kpts) VALUES (?, ?, ?, ?, ?)",
998
988
  (
999
- class_name,
989
+ item.get("name"),
1000
990
  item.get("confidence"),
1001
- detect,
1002
- json.dumps(item.get("segments", {}).get("x", [])),
1003
- json.dumps(item.get("keypoints", {}).get("x", [])),
1004
- obb,
991
+ json.dumps(item.get("box", {})),
992
+ json.dumps(item.get("segments", {})),
993
+ json.dumps(item.get("keypoints", {})),
1005
994
  ),
1006
995
  )
1007
996
 
@@ -52,6 +52,7 @@ from ultralytics.utils.torch_utils import (
52
52
  select_device,
53
53
  strip_optimizer,
54
54
  torch_distributed_zero_first,
55
+ unset_deterministic,
55
56
  )
56
57
 
57
58
 
@@ -471,6 +472,7 @@ class BaseTrainer:
471
472
  self.plot_metrics()
472
473
  self.run_callbacks("on_train_end")
473
474
  self._clear_memory()
475
+ unset_deterministic()
474
476
  self.run_callbacks("teardown")
475
477
 
476
478
  def auto_batch(self, max_num_obj=0):
@@ -128,7 +128,6 @@ torch.set_printoptions(linewidth=320, precision=4, profile="default")
128
128
  np.set_printoptions(linewidth=320, formatter={"float_kind": "{:11.5g}".format}) # format short g, %precision=5
129
129
  cv2.setNumThreads(0) # prevent OpenCV from multithreading (incompatible with PyTorch DataLoader)
130
130
  os.environ["NUMEXPR_MAX_THREADS"] = str(NUM_THREADS) # NumExpr max threads
131
- os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8" # for deterministic training to avoid CUDA warning
132
131
  os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" # suppress verbose TF compiler warnings in Colab
133
132
  os.environ["TORCH_CPP_LOG_LEVEL"] = "ERROR" # suppress "NNPACK.cpp could not initialize NNPACK" warnings
134
133
  os.environ["KINETO_LOG_LEVEL"] = "5" # suppress verbose PyTorch profiler output when computing FLOPs
@@ -93,6 +93,8 @@ def benchmark(
93
93
  if isinstance(model, (str, Path)):
94
94
  model = YOLO(model)
95
95
  is_end2end = getattr(model.model.model[-1], "end2end", False)
96
+ data = data or TASK2DATA[model.task] # task to dataset, i.e. coco8.yaml for task=detect
97
+ key = TASK2METRIC[model.task] # task to metric, i.e. metrics/mAP50-95(B) for task=detect
96
98
 
97
99
  y = []
98
100
  t0 = time.time()
@@ -150,7 +152,9 @@ def benchmark(
150
152
  filename = model.pt_path or model.ckpt_path or model.model_name
151
153
  exported_model = model # PyTorch format
152
154
  else:
153
- filename = model.export(imgsz=imgsz, format=format, half=half, int8=int8, device=device, verbose=False)
155
+ filename = model.export(
156
+ imgsz=imgsz, format=format, half=half, int8=int8, data=data, device=device, verbose=False
157
+ )
154
158
  exported_model = YOLO(filename, task=model.task)
155
159
  assert suffix in str(filename), "export failed"
156
160
  emoji = "❎" # indicates export succeeded
@@ -164,11 +168,9 @@ def benchmark(
164
168
  exported_model.predict(ASSETS / "bus.jpg", imgsz=imgsz, device=device, half=half, verbose=False)
165
169
 
166
170
  # Validate
167
- data = data or TASK2DATA[model.task] # task to dataset, i.e. coco8.yaml for task=detect
168
171
  results = exported_model.val(
169
172
  data=data, batch=1, imgsz=imgsz, plots=False, device=device, half=half, int8=int8, verbose=False
170
173
  )
171
- key = TASK2METRIC[model.task] # task to metric, i.e. metrics/mAP50-95(B) for task=detect
172
174
  metric, speed = results.results_dict[key], results.speed["inference"]
173
175
  fps = round(1000 / (speed + eps), 2) # frames per second
174
176
  y.append([name, "✅", round(file_size(filename), 1), round(metric, 4), round(speed, 2), fps])
@@ -14,7 +14,7 @@ except (ImportError, AssertionError):
14
14
 
15
15
  def on_fit_epoch_end(trainer):
16
16
  """Sends training metrics to Ray Tune at end of each epoch."""
17
- if ray.train._internal.session._get_session(): # replacement for deprecated ray.tune.is_session_enabled()
17
+ if ray.train._internal.session.get_session(): # replacement for deprecated ray.tune.is_session_enabled()
18
18
  metrics = trainer.metrics
19
19
  session.report({**metrics, **{"epoch": trainer.epoch + 1}})
20
20
 
@@ -131,7 +131,7 @@ def check_imgsz(imgsz, stride=32, min_dim=1, max_dim=2, floor=0):
131
131
  floor (int): Minimum allowed value for image size.
132
132
 
133
133
  Returns:
134
- (List[int]): Updated image size.
134
+ (List[int] | int): Updated image size.
135
135
  """
136
136
  # Convert stride to integer if it is a tensor
137
137
  stride = int(stride.max() if isinstance(stride, torch.Tensor) else stride)
@@ -488,8 +488,15 @@ def init_seeds(seed=0, deterministic=False):
488
488
  else:
489
489
  LOGGER.warning("WARNING ⚠️ Upgrade to torch>=2.0.0 for deterministic training.")
490
490
  else:
491
- torch.use_deterministic_algorithms(False)
492
- torch.backends.cudnn.deterministic = False
491
+ unset_deterministic()
492
+
493
+
494
+ def unset_deterministic():
495
+ """Unsets all the configurations applied for deterministic training."""
496
+ torch.use_deterministic_algorithms(False)
497
+ torch.backends.cudnn.deterministic = False
498
+ os.environ.pop("CUBLAS_WORKSPACE_CONFIG", None)
499
+ os.environ.pop("PYTHONHASHSEED", None)
493
500
 
494
501
 
495
502
  class ModelEMA:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.72
3
+ Version: 8.3.74
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -54,7 +54,6 @@ Requires-Dist: pytest; extra == "dev"
54
54
  Requires-Dist: pytest-cov; extra == "dev"
55
55
  Requires-Dist: coverage[toml]; extra == "dev"
56
56
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
57
- Requires-Dist: beautifulsoup4<=4.12.3; extra == "dev"
58
57
  Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
59
58
  Requires-Dist: mkdocstrings[python]; extra == "dev"
60
59
  Requires-Dist: mkdocs-redirects; extra == "dev"
@@ -23,7 +23,6 @@ pytest
23
23
  pytest-cov
24
24
  coverage[toml]
25
25
  mkdocs>=1.6.0
26
- beautifulsoup4<=4.12.3
27
26
  mkdocs-material>=9.5.9
28
27
  mkdocstrings[python]
29
28
  mkdocs-redirects
File without changes
File without changes
File without changes