ultralytics 8.3.151__tar.gz → 8.3.152__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 (278) hide show
  1. {ultralytics-8.3.151/ultralytics.egg-info → ultralytics-8.3.152}/PKG-INFO +1 -1
  2. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/model.py +1 -1
  4. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/trainer.py +7 -3
  5. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/tasks.py +2 -2
  6. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/metrics.py +7 -6
  7. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/ops.py +11 -4
  8. {ultralytics-8.3.151 → ultralytics-8.3.152/ultralytics.egg-info}/PKG-INFO +1 -1
  9. {ultralytics-8.3.151 → ultralytics-8.3.152}/LICENSE +0 -0
  10. {ultralytics-8.3.151 → ultralytics-8.3.152}/README.md +0 -0
  11. {ultralytics-8.3.151 → ultralytics-8.3.152}/pyproject.toml +0 -0
  12. {ultralytics-8.3.151 → ultralytics-8.3.152}/setup.cfg +0 -0
  13. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/__init__.py +0 -0
  14. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/conftest.py +0 -0
  15. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/test_cli.py +0 -0
  16. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/test_cuda.py +0 -0
  17. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/test_engine.py +0 -0
  18. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/test_exports.py +0 -0
  19. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/test_integrations.py +0 -0
  20. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/test_python.py +0 -0
  21. {ultralytics-8.3.151 → ultralytics-8.3.152}/tests/test_solutions.py +0 -0
  22. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/assets/bus.jpg +0 -0
  23. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/assets/zidane.jpg +0 -0
  24. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/__init__.py +0 -0
  25. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  26. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  27. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  28. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  29. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
  30. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  31. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  32. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  33. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  34. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  35. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  36. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  37. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  38. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  39. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco.yaml +0 -0
  40. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  41. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  42. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
  43. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  44. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  45. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  46. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  47. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  48. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  49. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  50. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  51. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  52. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  53. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  54. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  55. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  56. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/signature.yaml +0 -0
  57. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  58. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/datasets/xView.yaml +0 -0
  59. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/default.yaml +0 -0
  60. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  61. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  62. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  63. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  64. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  65. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  66. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  67. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  68. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  69. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  70. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  71. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  72. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  73. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  74. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  75. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  76. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  77. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  78. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  79. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  80. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  81. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  82. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  83. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  84. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  85. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  86. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  87. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  88. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  89. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  90. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  91. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  92. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  93. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  94. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  95. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  96. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  97. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  98. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  99. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  100. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  101. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  102. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  103. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  104. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  105. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  106. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  107. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  108. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  109. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  110. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  111. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  112. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  113. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  114. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  115. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  116. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  117. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/__init__.py +0 -0
  118. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/annotator.py +0 -0
  119. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/augment.py +0 -0
  120. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/base.py +0 -0
  121. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/build.py +0 -0
  122. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/converter.py +0 -0
  123. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/dataset.py +0 -0
  124. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/loaders.py +0 -0
  125. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/scripts/download_weights.sh +0 -0
  126. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/scripts/get_coco.sh +0 -0
  127. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/scripts/get_coco128.sh +0 -0
  128. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  129. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/split.py +0 -0
  130. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/split_dota.py +0 -0
  131. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/data/utils.py +0 -0
  132. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/__init__.py +0 -0
  133. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/exporter.py +0 -0
  134. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/predictor.py +0 -0
  135. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/results.py +0 -0
  136. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/tuner.py +0 -0
  137. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/engine/validator.py +0 -0
  138. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/hub/__init__.py +0 -0
  139. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/hub/auth.py +0 -0
  140. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/hub/google/__init__.py +0 -0
  141. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/hub/session.py +0 -0
  142. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/hub/utils.py +0 -0
  143. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/__init__.py +0 -0
  144. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/fastsam/__init__.py +0 -0
  145. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/fastsam/model.py +0 -0
  146. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/fastsam/predict.py +0 -0
  147. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/fastsam/utils.py +0 -0
  148. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/fastsam/val.py +0 -0
  149. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/nas/__init__.py +0 -0
  150. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/nas/model.py +0 -0
  151. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/nas/predict.py +0 -0
  152. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/nas/val.py +0 -0
  153. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/rtdetr/__init__.py +0 -0
  154. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/rtdetr/model.py +0 -0
  155. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/rtdetr/predict.py +0 -0
  156. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/rtdetr/train.py +0 -0
  157. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/rtdetr/val.py +0 -0
  158. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/__init__.py +0 -0
  159. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/amg.py +0 -0
  160. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/build.py +0 -0
  161. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/model.py +0 -0
  162. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/__init__.py +0 -0
  163. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/blocks.py +0 -0
  164. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/decoders.py +0 -0
  165. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/encoders.py +0 -0
  166. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  167. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/sam.py +0 -0
  168. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  169. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/transformer.py +0 -0
  170. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/modules/utils.py +0 -0
  171. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/sam/predict.py +0 -0
  172. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/utils/__init__.py +0 -0
  173. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/utils/loss.py +0 -0
  174. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/utils/ops.py +0 -0
  175. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/__init__.py +0 -0
  176. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/classify/__init__.py +0 -0
  177. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/classify/predict.py +0 -0
  178. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/classify/train.py +0 -0
  179. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/classify/val.py +0 -0
  180. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/detect/__init__.py +0 -0
  181. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/detect/predict.py +0 -0
  182. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/detect/train.py +0 -0
  183. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/detect/val.py +0 -0
  184. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/model.py +0 -0
  185. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/obb/__init__.py +0 -0
  186. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/obb/predict.py +0 -0
  187. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/obb/train.py +0 -0
  188. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/obb/val.py +0 -0
  189. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/pose/__init__.py +0 -0
  190. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/pose/predict.py +0 -0
  191. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/pose/train.py +0 -0
  192. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/pose/val.py +0 -0
  193. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/segment/__init__.py +0 -0
  194. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/segment/predict.py +0 -0
  195. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/segment/train.py +0 -0
  196. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/segment/val.py +0 -0
  197. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/world/__init__.py +0 -0
  198. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/world/train.py +0 -0
  199. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/world/train_world.py +0 -0
  200. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  201. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  202. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/yoloe/train.py +0 -0
  203. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  204. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/models/yolo/yoloe/val.py +0 -0
  205. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/__init__.py +0 -0
  206. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/autobackend.py +0 -0
  207. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/modules/__init__.py +0 -0
  208. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/modules/activation.py +0 -0
  209. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/modules/block.py +0 -0
  210. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/modules/conv.py +0 -0
  211. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/modules/head.py +0 -0
  212. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/modules/transformer.py +0 -0
  213. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/modules/utils.py +0 -0
  214. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/nn/text_model.py +0 -0
  215. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/__init__.py +0 -0
  216. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/ai_gym.py +0 -0
  217. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/analytics.py +0 -0
  218. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/config.py +0 -0
  219. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/distance_calculation.py +0 -0
  220. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/heatmap.py +0 -0
  221. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/instance_segmentation.py +0 -0
  222. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/object_blurrer.py +0 -0
  223. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/object_counter.py +0 -0
  224. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/object_cropper.py +0 -0
  225. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/parking_management.py +0 -0
  226. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/queue_management.py +0 -0
  227. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/region_counter.py +0 -0
  228. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/security_alarm.py +0 -0
  229. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/similarity_search.py +0 -0
  230. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/solutions.py +0 -0
  231. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/speed_estimation.py +0 -0
  232. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/streamlit_inference.py +0 -0
  233. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/templates/similarity-search.html +0 -0
  234. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/trackzone.py +0 -0
  235. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/solutions/vision_eye.py +0 -0
  236. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/__init__.py +0 -0
  237. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/basetrack.py +0 -0
  238. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/bot_sort.py +0 -0
  239. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/byte_tracker.py +0 -0
  240. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/track.py +0 -0
  241. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/utils/__init__.py +0 -0
  242. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/utils/gmc.py +0 -0
  243. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  244. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/trackers/utils/matching.py +0 -0
  245. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/__init__.py +0 -0
  246. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/autobatch.py +0 -0
  247. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/autodevice.py +0 -0
  248. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/benchmarks.py +0 -0
  249. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/__init__.py +0 -0
  250. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/base.py +0 -0
  251. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/clearml.py +0 -0
  252. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/comet.py +0 -0
  253. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/dvc.py +0 -0
  254. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/hub.py +0 -0
  255. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/mlflow.py +0 -0
  256. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/neptune.py +0 -0
  257. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/raytune.py +0 -0
  258. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  259. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/callbacks/wb.py +0 -0
  260. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/checks.py +0 -0
  261. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/dist.py +0 -0
  262. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/downloads.py +0 -0
  263. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/errors.py +0 -0
  264. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/export.py +0 -0
  265. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/files.py +0 -0
  266. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/instance.py +0 -0
  267. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/loss.py +0 -0
  268. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/patches.py +0 -0
  269. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/plotting.py +0 -0
  270. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/tal.py +0 -0
  271. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/torch_utils.py +0 -0
  272. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/triton.py +0 -0
  273. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics/utils/tuner.py +0 -0
  274. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics.egg-info/SOURCES.txt +0 -0
  275. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics.egg-info/dependency_links.txt +0 -0
  276. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics.egg-info/entry_points.txt +0 -0
  277. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics.egg-info/requires.txt +0 -0
  278. {ultralytics-8.3.151 → ultralytics-8.3.152}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.151
3
+ Version: 8.3.152
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>
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.151"
3
+ __version__ = "8.3.152"
4
4
 
5
5
  import os
6
6
 
@@ -293,7 +293,7 @@ class Model(torch.nn.Module):
293
293
 
294
294
  if str(weights).rpartition(".")[-1] == "pt":
295
295
  self.model, self.ckpt = attempt_load_one_weight(weights)
296
- self.task = self.model.args["task"]
296
+ self.task = self.model.task
297
297
  self.overrides = self.model.args = self._reset_ckpt_args(self.model.args)
298
298
  self.ckpt_path = self.model.pt_path
299
299
  else:
@@ -456,6 +456,7 @@ class BaseTrainer:
456
456
 
457
457
  # Validation
458
458
  if self.args.val or final_epoch or self.stopper.possible_stop or self.stop:
459
+ self._clear_memory(threshold=0.5) # prevent VRAM spike
459
460
  self.metrics, self.fitness = self.validate()
460
461
  self.save_metrics(metrics={**self.label_loss_items(self.tloss), **self.metrics, **self.lr})
461
462
  self.stop |= self.stopper(epoch + 1, self.fitness) or final_epoch
@@ -478,8 +479,7 @@ class BaseTrainer:
478
479
  self.scheduler.last_epoch = self.epoch # do not move
479
480
  self.stop |= epoch >= self.epochs # stop if exceeded epochs
480
481
  self.run_callbacks("on_fit_epoch_end")
481
- if self._get_memory(fraction=True) > 0.5:
482
- self._clear_memory() # clear if memory utilization > 50%
482
+ self._clear_memory(0.5) # clear if memory utilization > 50%
483
483
 
484
484
  # Early Stopping
485
485
  if RANK != -1: # if DDP training
@@ -525,8 +525,12 @@ class BaseTrainer:
525
525
  total = torch.cuda.get_device_properties(self.device).total_memory
526
526
  return ((memory / total) if total > 0 else 0) if fraction else (memory / 2**30)
527
527
 
528
- def _clear_memory(self):
528
+ def _clear_memory(self, threshold: float = None):
529
529
  """Clear accelerator memory by calling garbage collector and emptying cache."""
530
+ if threshold:
531
+ assert 0 <= threshold <= 1, "Threshold must be between 0 and 1."
532
+ if self._get_memory(fraction=True) <= threshold:
533
+ return
530
534
  gc.collect()
531
535
  if self.device.type == "mps":
532
536
  torch.mps.empty_cache()
@@ -1505,7 +1505,7 @@ def attempt_load_weights(weights, device=None, inplace=True, fuse=False):
1505
1505
  # Model compatibility updates
1506
1506
  model.args = args # attach args to model
1507
1507
  model.pt_path = w # attach *.pt file path to model
1508
- model.task = guess_model_task(model)
1508
+ model.task = getattr(model, "task", guess_model_task(model))
1509
1509
  if not hasattr(model, "stride"):
1510
1510
  model.stride = torch.tensor([32.0])
1511
1511
 
@@ -1553,7 +1553,7 @@ def attempt_load_one_weight(weight, device=None, inplace=True, fuse=False):
1553
1553
  # Model compatibility updates
1554
1554
  model.args = {k: v for k, v in args.items() if k in DEFAULT_CFG_KEYS} # attach args to model
1555
1555
  model.pt_path = weight # attach *.pt file path to model
1556
- model.task = guess_model_task(model)
1556
+ model.task = getattr(model, "task", guess_model_task(model))
1557
1557
  if not hasattr(model, "stride"):
1558
1558
  model.stride = torch.tensor([32.0])
1559
1559
 
@@ -365,19 +365,19 @@ class ConfusionMatrix(DataExportMixin):
365
365
  if gt_cls.shape[0] == 0: # Check if labels is empty
366
366
  if detections is not None:
367
367
  detections = detections[detections[:, 4] > self.conf]
368
- detection_classes = detections[:, 5].int()
368
+ detection_classes = detections[:, 5].int().tolist()
369
369
  for dc in detection_classes:
370
370
  self.matrix[dc, self.nc] += 1 # false positives
371
371
  return
372
372
  if detections is None:
373
- gt_classes = gt_cls.int()
373
+ gt_classes = gt_cls.int().tolist()
374
374
  for gc in gt_classes:
375
375
  self.matrix[self.nc, gc] += 1 # background FN
376
376
  return
377
377
 
378
378
  detections = detections[detections[:, 4] > self.conf]
379
- gt_classes = gt_cls.int()
380
- detection_classes = detections[:, 5].int()
379
+ gt_classes = gt_cls.int().tolist()
380
+ detection_classes = detections[:, 5].int().tolist()
381
381
  is_obb = detections.shape[1] == 7 and gt_bboxes.shape[1] == 5 # with additional `angle` dimension
382
382
  iou = (
383
383
  batch_probiou(gt_bboxes, torch.cat([detections[:, :4], detections[:, -1:]], dim=-1))
@@ -401,7 +401,7 @@ class ConfusionMatrix(DataExportMixin):
401
401
  for i, gc in enumerate(gt_classes):
402
402
  j = m0 == i
403
403
  if n and sum(j) == 1:
404
- self.matrix[detection_classes[m1[j]], gc] += 1 # correct
404
+ self.matrix[detection_classes[m1[j].item()], gc] += 1 # correct
405
405
  else:
406
406
  self.matrix[self.nc, gc] += 1 # true background
407
407
 
@@ -463,6 +463,7 @@ class ConfusionMatrix(DataExportMixin):
463
463
  im = ax.imshow(array, cmap="Blues", vmin=0.0, interpolation="none")
464
464
  ax.xaxis.set_label_position("bottom")
465
465
  if nc < 30: # Add score for each cell of confusion matrix
466
+ color_threshold = 0.45 * (1 if normalize else np.nanmax(array)) # text color threshold
466
467
  for i, row in enumerate(array[:nc]):
467
468
  for j, val in enumerate(row[:nc]):
468
469
  val = array[i, j]
@@ -475,7 +476,7 @@ class ConfusionMatrix(DataExportMixin):
475
476
  ha="center",
476
477
  va="center",
477
478
  fontsize=10,
478
- color="white" if val > (0.7 if normalize else 2) else "black",
479
+ color="white" if val > color_threshold else "black",
479
480
  )
480
481
  cbar = fig.colorbar(im, ax=ax, fraction=0.046, pad=0.05)
481
482
  title = "Confusion Matrix" + " Normalized" * normalize
@@ -404,8 +404,12 @@ def scale_image(masks, im0_shape, ratio_pad=None):
404
404
  pad = (im1_shape[1] - im0_shape[1] * gain) / 2, (im1_shape[0] - im0_shape[0] * gain) / 2 # wh padding
405
405
  else:
406
406
  pad = ratio_pad[1]
407
- top, left = int(pad[1]), int(pad[0]) # y, x
408
- bottom, right = int(im1_shape[0] - pad[1]), int(im1_shape[1] - pad[0])
407
+
408
+ top, left = (int(round(pad[1] - 0.1)), int(round(pad[0] - 0.1)))
409
+ bottom, right = (
410
+ im1_shape[0] - int(round(pad[1] + 0.1)),
411
+ im1_shape[1] - int(round(pad[0] + 0.1)),
412
+ )
409
413
 
410
414
  if len(masks.shape) < 2:
411
415
  raise ValueError(f'"len of masks shape" should be 2 or 3, but got {len(masks.shape)}')
@@ -756,8 +760,11 @@ def scale_masks(masks, shape, padding: bool = True):
756
760
  if padding:
757
761
  pad[0] /= 2
758
762
  pad[1] /= 2
759
- top, left = (int(pad[1]), int(pad[0])) if padding else (0, 0) # y, x
760
- bottom, right = (int(mh - pad[1]), int(mw - pad[0]))
763
+ top, left = (int(round(pad[1] - 0.1)), int(round(pad[0] - 0.1))) if padding else (0, 0) # y, x
764
+ bottom, right = (
765
+ mh - int(round(pad[1] + 0.1)),
766
+ mw - int(round(pad[0] + 0.1)),
767
+ )
761
768
  masks = masks[..., top:bottom, left:right]
762
769
 
763
770
  masks = F.interpolate(masks, shape, mode="bilinear", align_corners=False) # NCHW
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.151
3
+ Version: 8.3.152
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>
File without changes
File without changes
File without changes