ultralytics 8.3.73__tar.gz → 8.3.75__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.73/ultralytics.egg-info → ultralytics-8.3.75}/PKG-INFO +1 -1
  2. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/utils.py +2 -2
  4. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/exporter.py +8 -5
  5. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/model.py +1 -0
  6. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/results.py +1 -1
  7. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/trainer.py +2 -0
  8. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/__init__.py +0 -1
  9. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/benchmarks.py +5 -3
  10. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/comet.py +31 -20
  11. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/raytune.py +1 -1
  12. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/metrics.py +1 -1
  13. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/ops.py +1 -1
  14. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/torch_utils.py +10 -3
  15. {ultralytics-8.3.73 → ultralytics-8.3.75/ultralytics.egg-info}/PKG-INFO +1 -1
  16. {ultralytics-8.3.73 → ultralytics-8.3.75}/LICENSE +0 -0
  17. {ultralytics-8.3.73 → ultralytics-8.3.75}/README.md +0 -0
  18. {ultralytics-8.3.73 → ultralytics-8.3.75}/pyproject.toml +0 -0
  19. {ultralytics-8.3.73 → ultralytics-8.3.75}/setup.cfg +0 -0
  20. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/__init__.py +0 -0
  21. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/conftest.py +0 -0
  22. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/test_cli.py +0 -0
  23. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/test_cuda.py +0 -0
  24. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/test_engine.py +0 -0
  25. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/test_exports.py +0 -0
  26. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/test_integrations.py +0 -0
  27. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/test_python.py +0 -0
  28. {ultralytics-8.3.73 → ultralytics-8.3.75}/tests/test_solutions.py +0 -0
  29. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/assets/bus.jpg +0 -0
  30. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/assets/zidane.jpg +0 -0
  31. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/__init__.py +0 -0
  32. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  33. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  34. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  35. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  36. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  37. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  38. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  39. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  40. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  41. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  42. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  43. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  44. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  45. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/coco.yaml +0 -0
  46. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  47. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  48. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  49. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  50. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  51. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  52. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  53. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  54. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  55. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  56. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  57. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  58. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  59. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/signature.yaml +0 -0
  60. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  61. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/datasets/xView.yaml +0 -0
  62. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/default.yaml +0 -0
  63. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  64. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  65. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  66. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  67. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  68. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  69. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  70. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  71. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  72. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  73. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  74. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  75. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  76. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  77. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  78. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  79. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  80. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  81. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  82. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  83. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  84. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  85. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  86. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  87. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  88. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  89. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  90. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  91. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  92. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  93. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  94. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  95. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  96. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  97. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  98. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  99. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  100. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  101. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  102. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  103. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  104. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  105. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  106. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  107. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  108. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  109. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/solutions/default.yaml +0 -0
  110. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  111. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  112. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/__init__.py +0 -0
  113. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/annotator.py +0 -0
  114. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/augment.py +0 -0
  115. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/base.py +0 -0
  116. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/build.py +0 -0
  117. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/converter.py +0 -0
  118. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/dataset.py +0 -0
  119. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/loaders.py +0 -0
  120. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/data/split_dota.py +0 -0
  121. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/__init__.py +0 -0
  122. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/predictor.py +0 -0
  123. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/tuner.py +0 -0
  124. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/engine/validator.py +0 -0
  125. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/hub/__init__.py +0 -0
  126. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/hub/auth.py +0 -0
  127. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/hub/google/__init__.py +0 -0
  128. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/hub/session.py +0 -0
  129. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/hub/utils.py +0 -0
  130. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/__init__.py +0 -0
  131. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/fastsam/__init__.py +0 -0
  132. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/fastsam/model.py +0 -0
  133. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/fastsam/predict.py +0 -0
  134. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/fastsam/utils.py +0 -0
  135. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/fastsam/val.py +0 -0
  136. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/nas/__init__.py +0 -0
  137. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/nas/model.py +0 -0
  138. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/nas/predict.py +0 -0
  139. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/nas/val.py +0 -0
  140. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/rtdetr/__init__.py +0 -0
  141. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/rtdetr/model.py +0 -0
  142. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/rtdetr/predict.py +0 -0
  143. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/rtdetr/train.py +0 -0
  144. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/rtdetr/val.py +0 -0
  145. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/__init__.py +0 -0
  146. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/amg.py +0 -0
  147. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/build.py +0 -0
  148. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/model.py +0 -0
  149. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/__init__.py +0 -0
  150. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/blocks.py +0 -0
  151. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/decoders.py +0 -0
  152. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/encoders.py +0 -0
  153. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  154. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/sam.py +0 -0
  155. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  156. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/transformer.py +0 -0
  157. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/modules/utils.py +0 -0
  158. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/sam/predict.py +0 -0
  159. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/utils/__init__.py +0 -0
  160. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/utils/loss.py +0 -0
  161. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/utils/ops.py +0 -0
  162. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/__init__.py +0 -0
  163. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/classify/__init__.py +0 -0
  164. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/classify/predict.py +0 -0
  165. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/classify/train.py +0 -0
  166. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/classify/val.py +0 -0
  167. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/detect/__init__.py +0 -0
  168. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/detect/predict.py +0 -0
  169. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/detect/train.py +0 -0
  170. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/detect/val.py +0 -0
  171. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/model.py +0 -0
  172. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/obb/__init__.py +0 -0
  173. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/obb/predict.py +0 -0
  174. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/obb/train.py +0 -0
  175. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/obb/val.py +0 -0
  176. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/pose/__init__.py +0 -0
  177. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/pose/predict.py +0 -0
  178. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/pose/train.py +0 -0
  179. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/pose/val.py +0 -0
  180. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/segment/__init__.py +0 -0
  181. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/segment/predict.py +0 -0
  182. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/segment/train.py +0 -0
  183. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/segment/val.py +0 -0
  184. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/world/__init__.py +0 -0
  185. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/world/train.py +0 -0
  186. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/models/yolo/world/train_world.py +0 -0
  187. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/__init__.py +0 -0
  188. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/autobackend.py +0 -0
  189. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/modules/__init__.py +0 -0
  190. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/modules/activation.py +0 -0
  191. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/modules/block.py +0 -0
  192. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/modules/conv.py +0 -0
  193. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/modules/head.py +0 -0
  194. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/modules/transformer.py +0 -0
  195. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/modules/utils.py +0 -0
  196. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/nn/tasks.py +0 -0
  197. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/__init__.py +0 -0
  198. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/ai_gym.py +0 -0
  199. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/analytics.py +0 -0
  200. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/distance_calculation.py +0 -0
  201. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/heatmap.py +0 -0
  202. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/object_counter.py +0 -0
  203. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/parking_management.py +0 -0
  204. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/queue_management.py +0 -0
  205. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/region_counter.py +0 -0
  206. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/security_alarm.py +0 -0
  207. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/solutions.py +0 -0
  208. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/speed_estimation.py +0 -0
  209. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/streamlit_inference.py +0 -0
  210. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/solutions/trackzone.py +0 -0
  211. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/__init__.py +0 -0
  212. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/basetrack.py +0 -0
  213. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/bot_sort.py +0 -0
  214. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/byte_tracker.py +0 -0
  215. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/track.py +0 -0
  216. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/utils/__init__.py +0 -0
  217. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/utils/gmc.py +0 -0
  218. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  219. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/trackers/utils/matching.py +0 -0
  220. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/autobatch.py +0 -0
  221. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/__init__.py +0 -0
  222. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/base.py +0 -0
  223. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/clearml.py +0 -0
  224. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/dvc.py +0 -0
  225. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/hub.py +0 -0
  226. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/mlflow.py +0 -0
  227. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/neptune.py +0 -0
  228. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  229. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/callbacks/wb.py +0 -0
  230. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/checks.py +0 -0
  231. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/dist.py +0 -0
  232. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/downloads.py +0 -0
  233. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/errors.py +0 -0
  234. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/files.py +0 -0
  235. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/instance.py +0 -0
  236. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/loss.py +0 -0
  237. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/patches.py +0 -0
  238. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/plotting.py +0 -0
  239. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/tal.py +0 -0
  240. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/triton.py +0 -0
  241. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics/utils/tuner.py +0 -0
  242. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics.egg-info/SOURCES.txt +0 -0
  243. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics.egg-info/dependency_links.txt +0 -0
  244. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics.egg-info/entry_points.txt +0 -0
  245. {ultralytics-8.3.73 → ultralytics-8.3.75}/ultralytics.egg-info/requires.txt +0 -0
  246. {ultralytics-8.3.73 → ultralytics-8.3.75}/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.73
3
+ Version: 8.3.75
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.73"
3
+ __version__ = "8.3.75"
4
4
 
5
5
  import os
6
6
 
@@ -714,8 +714,8 @@ def save_dataset_cache_file(prefix, path, x, version):
714
714
  if is_dir_writeable(path.parent):
715
715
  if path.exists():
716
716
  path.unlink() # remove *.cache file if exists
717
- np.save(str(path), x) # save cache for next time
718
- path.with_suffix(".cache.npy").rename(path) # remove .npy suffix
717
+ with open(str(path), "wb") as file: # context manager here fixes windows async np.save bug
718
+ np.save(file, x)
719
719
  LOGGER.info(f"{prefix}New cache created: {path}")
720
720
  else:
721
721
  LOGGER.warning(f"{prefix}WARNING ⚠️ Cache directory {path.parent} is not writeable, cache not saved.")
@@ -288,8 +288,10 @@ class Exporter:
288
288
  self.args.nms = False
289
289
  self.args.conf = self.args.conf or 0.25 # set conf default value for nms export
290
290
  if edgetpu:
291
- if not LINUX:
292
- raise SystemError("Edge TPU export only supported on Linux. See https://coral.ai/docs/edgetpu/compiler")
291
+ if ARM64 and not LINUX:
292
+ raise SystemError(
293
+ "Edge TPU export only supported on non-aarch64 Linux. See https://coral.ai/docs/edgetpu/compiler"
294
+ )
293
295
  elif self.args.batch != 1: # see github.com/ultralytics/ultralytics/pull/13420
294
296
  LOGGER.warning("WARNING ⚠️ Edge TPU export requires batch size 1, setting batch=1.")
295
297
  self.args.batch = 1
@@ -307,6 +309,9 @@ class Exporter:
307
309
  "WARNING ⚠️ INT8 export requires a missing 'data' arg for calibration. "
308
310
  f"Using default 'data={self.args.data}'."
309
311
  )
312
+ if tfjs:
313
+ if ARM64 and LINUX:
314
+ raise SystemError("TensorFlow.js export not supported on ARM64 Linux")
310
315
 
311
316
  # Input
312
317
  im = torch.zeros(self.args.batch, 3, *self.imgsz).to(self.device)
@@ -986,6 +991,7 @@ class Exporter:
986
991
  "tflite_support<=0.4.3" if IS_JETSON else "tflite_support", # fix ImportError 'GLIBCXX_3.4.29'
987
992
  "flatbuffers>=23.5.26,<100", # update old 'flatbuffers' included inside tensorflow package
988
993
  "onnxruntime-gpu" if cuda else "onnxruntime",
994
+ "protobuf>=5", # tflite_support pins <=4 but >=5 works
989
995
  ),
990
996
  cmds="--extra-index-url https://pypi.ngc.nvidia.com", # onnx_graphsurgeon only on NVIDIA
991
997
  )
@@ -1127,9 +1133,6 @@ class Exporter:
1127
1133
  def export_tfjs(self, prefix=colorstr("TensorFlow.js:")):
1128
1134
  """YOLO TensorFlow.js export."""
1129
1135
  check_requirements("tensorflowjs")
1130
- if ARM64:
1131
- # Fix error: `np.object` was a deprecated alias for the builtin `object` when exporting to TF.js on ARM64
1132
- check_requirements("numpy==1.23.5")
1133
1136
  import tensorflow as tf
1134
1137
  import tensorflowjs as tfjs # noqa
1135
1138
 
@@ -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
  """
@@ -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])
@@ -1,5 +1,7 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
+ from types import SimpleNamespace
4
+
3
5
  from ultralytics.utils import LOGGER, RANK, SETTINGS, TESTS_RUNNING, ops
4
6
  from ultralytics.utils.metrics import ClassifyMetrics, DetMetrics, OBBMetrics, PoseMetrics, SegmentMetrics
5
7
 
@@ -29,9 +31,19 @@ except (ImportError, AssertionError):
29
31
  comet_ml = None
30
32
 
31
33
 
32
- def _get_comet_mode():
34
+ def _get_comet_mode() -> str:
33
35
  """Returns the mode of comet set in the environment variables, defaults to 'online' if not set."""
34
- return os.getenv("COMET_MODE", "online")
36
+ comet_mode = os.getenv("COMET_MODE")
37
+ if comet_mode is not None:
38
+ LOGGER.warning(
39
+ "WARNING ⚠️ The COMET_MODE environment variable is deprecated. "
40
+ "Please use COMET_START_ONLINE to set the Comet experiment mode. "
41
+ "To start an offline Comet experiment, use 'export COMET_START_ONLINE=0'. "
42
+ "If COMET_START_ONLINE is not set or is set to '1', an online Comet experiment will be created."
43
+ )
44
+ return comet_mode
45
+
46
+ return "online"
35
47
 
36
48
 
37
49
  def _get_comet_model_name():
@@ -65,22 +77,24 @@ def _should_log_image_predictions():
65
77
  return os.getenv("COMET_EVAL_LOG_IMAGE_PREDICTIONS", "true").lower() == "true"
66
78
 
67
79
 
68
- def _get_experiment_type(mode, project_name):
69
- """Return an experiment based on mode and project name."""
70
- if mode == "offline":
71
- return comet_ml.OfflineExperiment(project_name=project_name)
72
-
73
- return comet_ml.Experiment(project_name=project_name)
74
-
80
+ def _resume_or_create_experiment(args: SimpleNamespace) -> None:
81
+ """
82
+ Resumes CometML experiment or creates a new experiment based on args.
75
83
 
76
- def _create_experiment(args):
77
- """Ensures that the experiment object is only created in a single process during distributed training."""
84
+ Ensures that the experiment object is only created in a single process during distributed training.
85
+ """
78
86
  if RANK not in {-1, 0}:
79
87
  return
80
- try:
88
+
89
+ # Set environment variable (if not set by the user) to configure the Comet experiment's online mode under the hood.
90
+ # IF COMET_START_ONLINE is set by the user it will override COMET_MODE value.
91
+ if os.getenv("COMET_START_ONLINE") is None:
81
92
  comet_mode = _get_comet_mode()
93
+ os.environ["COMET_START_ONLINE"] = "1" if comet_mode != "offline" else "0"
94
+
95
+ try:
82
96
  _project_name = os.getenv("COMET_PROJECT_NAME", args.project)
83
- experiment = _get_experiment_type(comet_mode, _project_name)
97
+ experiment = comet_ml.start(project_name=_project_name)
84
98
  experiment.log_parameters(vars(args))
85
99
  experiment.log_others(
86
100
  {
@@ -313,15 +327,12 @@ def _log_model(experiment, trainer):
313
327
 
314
328
  def on_pretrain_routine_start(trainer):
315
329
  """Creates or resumes a CometML experiment at the start of a YOLO pre-training routine."""
316
- experiment = comet_ml.get_global_experiment()
317
- is_alive = getattr(experiment, "alive", False)
318
- if not experiment or not is_alive:
319
- _create_experiment(trainer.args)
330
+ _resume_or_create_experiment(trainer.args)
320
331
 
321
332
 
322
333
  def on_train_epoch_end(trainer):
323
334
  """Log metrics and save batch images at the end of training epochs."""
324
- experiment = comet_ml.get_global_experiment()
335
+ experiment = comet_ml.get_running_experiment()
325
336
  if not experiment:
326
337
  return
327
338
 
@@ -334,7 +345,7 @@ def on_train_epoch_end(trainer):
334
345
 
335
346
  def on_fit_epoch_end(trainer):
336
347
  """Logs model assets at the end of each epoch."""
337
- experiment = comet_ml.get_global_experiment()
348
+ experiment = comet_ml.get_running_experiment()
338
349
  if not experiment:
339
350
  return
340
351
 
@@ -362,7 +373,7 @@ def on_fit_epoch_end(trainer):
362
373
 
363
374
  def on_train_end(trainer):
364
375
  """Perform operations at the end of training."""
365
- experiment = comet_ml.get_global_experiment()
376
+ experiment = comet_ml.get_running_experiment()
366
377
  if not experiment:
367
378
  return
368
379
 
@@ -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
 
@@ -440,7 +440,7 @@ class ConfusionMatrix:
440
440
 
441
441
  def print(self):
442
442
  """Print the confusion matrix to the console."""
443
- for i in range(self.nc + 1):
443
+ for i in range(self.matrix.shape[0]):
444
444
  LOGGER.info(" ".join(map(str, self.matrix[i])))
445
445
 
446
446
 
@@ -59,7 +59,7 @@ class Profile(contextlib.ContextDecorator):
59
59
  """Get current time."""
60
60
  if self.cuda:
61
61
  torch.cuda.synchronize(self.device)
62
- return time.time()
62
+ return time.perf_counter()
63
63
 
64
64
 
65
65
  def segment2box(segment, width=640, height=640):
@@ -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:
@@ -739,7 +746,7 @@ class EarlyStopping:
739
746
  if fitness is None: # check if fitness=None (happens when val=False)
740
747
  return False
741
748
 
742
- if fitness >= self.best_fitness: # >= 0 to allow for early zero-fitness stage of training
749
+ if fitness > self.best_fitness or self.best_fitness == 0: # allow for early zero-fitness stage of training
743
750
  self.best_epoch = epoch
744
751
  self.best_fitness = fitness
745
752
  delta = epoch - self.best_epoch # epochs without improvement
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.73
3
+ Version: 8.3.75
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