ultralytics 8.1.35__tar.gz → 8.1.37__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ultralytics might be problematic. Click here for more details.

Files changed (210) hide show
  1. {ultralytics-8.1.35/ultralytics.egg-info → ultralytics-8.1.37}/PKG-INFO +1 -1
  2. {ultralytics-8.1.35 → ultralytics-8.1.37}/tests/test_engine.py +6 -2
  3. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/__init__.py +1 -1
  4. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/__init__.py +3 -2
  5. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/model.py +14 -4
  6. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/trainer.py +1 -1
  7. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/hub/utils.py +2 -2
  8. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/autobackend.py +2 -1
  9. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/__init__.py +5 -4
  10. {ultralytics-8.1.35 → ultralytics-8.1.37/ultralytics.egg-info}/PKG-INFO +1 -1
  11. {ultralytics-8.1.35 → ultralytics-8.1.37}/LICENSE +0 -0
  12. {ultralytics-8.1.35 → ultralytics-8.1.37}/README.md +0 -0
  13. {ultralytics-8.1.35 → ultralytics-8.1.37}/pyproject.toml +0 -0
  14. {ultralytics-8.1.35 → ultralytics-8.1.37}/setup.cfg +0 -0
  15. {ultralytics-8.1.35 → ultralytics-8.1.37}/tests/test_cli.py +0 -0
  16. {ultralytics-8.1.35 → ultralytics-8.1.37}/tests/test_cuda.py +0 -0
  17. {ultralytics-8.1.35 → ultralytics-8.1.37}/tests/test_explorer.py +0 -0
  18. {ultralytics-8.1.35 → ultralytics-8.1.37}/tests/test_integrations.py +0 -0
  19. {ultralytics-8.1.35 → ultralytics-8.1.37}/tests/test_python.py +0 -0
  20. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/assets/bus.jpg +0 -0
  21. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/assets/zidane.jpg +0 -0
  22. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  23. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  24. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  25. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  26. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  27. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  28. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  29. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  30. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  31. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  32. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  33. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  34. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  35. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/coco.yaml +0 -0
  36. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  37. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  38. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  39. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  40. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  41. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  42. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  43. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  44. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  45. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  46. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/datasets/xView.yaml +0 -0
  47. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/default.yaml +0 -0
  48. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  49. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  50. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  51. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  52. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  53. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  54. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  55. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  56. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  57. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  58. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  59. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  60. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  61. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  62. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  63. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  64. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  65. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  66. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  67. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  68. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  69. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  70. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  71. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  72. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  73. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  74. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  75. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  76. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  77. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  78. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  79. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/__init__.py +0 -0
  80. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/annotator.py +0 -0
  81. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/augment.py +0 -0
  82. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/base.py +0 -0
  83. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/build.py +0 -0
  84. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/converter.py +0 -0
  85. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/dataset.py +0 -0
  86. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/explorer/__init__.py +0 -0
  87. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/explorer/explorer.py +0 -0
  88. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/explorer/gui/__init__.py +0 -0
  89. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/explorer/gui/dash.py +0 -0
  90. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/explorer/utils.py +0 -0
  91. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/loaders.py +0 -0
  92. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/split_dota.py +0 -0
  93. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/data/utils.py +0 -0
  94. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/__init__.py +0 -0
  95. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/exporter.py +0 -0
  96. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/predictor.py +0 -0
  97. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/results.py +0 -0
  98. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/tuner.py +0 -0
  99. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/engine/validator.py +0 -0
  100. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/hub/__init__.py +0 -0
  101. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/hub/auth.py +0 -0
  102. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/hub/session.py +0 -0
  103. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/__init__.py +0 -0
  104. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/fastsam/__init__.py +0 -0
  105. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/fastsam/model.py +0 -0
  106. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/fastsam/predict.py +0 -0
  107. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/fastsam/prompt.py +0 -0
  108. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/fastsam/utils.py +0 -0
  109. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/fastsam/val.py +0 -0
  110. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/nas/__init__.py +0 -0
  111. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/nas/model.py +0 -0
  112. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/nas/predict.py +0 -0
  113. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/nas/val.py +0 -0
  114. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/rtdetr/__init__.py +0 -0
  115. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/rtdetr/model.py +0 -0
  116. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/rtdetr/predict.py +0 -0
  117. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/rtdetr/train.py +0 -0
  118. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/rtdetr/val.py +0 -0
  119. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/__init__.py +0 -0
  120. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/amg.py +0 -0
  121. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/build.py +0 -0
  122. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/model.py +0 -0
  123. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/modules/__init__.py +0 -0
  124. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/modules/decoders.py +0 -0
  125. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/modules/encoders.py +0 -0
  126. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/modules/sam.py +0 -0
  127. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  128. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/modules/transformer.py +0 -0
  129. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/sam/predict.py +0 -0
  130. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/utils/__init__.py +0 -0
  131. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/utils/loss.py +0 -0
  132. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/utils/ops.py +0 -0
  133. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/__init__.py +0 -0
  134. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/classify/__init__.py +0 -0
  135. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/classify/predict.py +0 -0
  136. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/classify/train.py +0 -0
  137. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/classify/val.py +0 -0
  138. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/detect/__init__.py +0 -0
  139. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/detect/predict.py +0 -0
  140. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/detect/train.py +0 -0
  141. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/detect/val.py +0 -0
  142. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/model.py +0 -0
  143. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/obb/__init__.py +0 -0
  144. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/obb/predict.py +0 -0
  145. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/obb/train.py +0 -0
  146. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/obb/val.py +0 -0
  147. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/pose/__init__.py +0 -0
  148. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/pose/predict.py +0 -0
  149. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/pose/train.py +0 -0
  150. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/pose/val.py +0 -0
  151. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/segment/__init__.py +0 -0
  152. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/segment/predict.py +0 -0
  153. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/segment/train.py +0 -0
  154. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/models/yolo/segment/val.py +0 -0
  155. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/__init__.py +0 -0
  156. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/modules/__init__.py +0 -0
  157. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/modules/block.py +0 -0
  158. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/modules/conv.py +0 -0
  159. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/modules/head.py +0 -0
  160. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/modules/transformer.py +0 -0
  161. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/modules/utils.py +0 -0
  162. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/nn/tasks.py +0 -0
  163. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/solutions/__init__.py +0 -0
  164. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/solutions/ai_gym.py +0 -0
  165. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/solutions/distance_calculation.py +0 -0
  166. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/solutions/heatmap.py +0 -0
  167. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/solutions/object_counter.py +0 -0
  168. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/solutions/speed_estimation.py +0 -0
  169. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/__init__.py +0 -0
  170. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/basetrack.py +0 -0
  171. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/bot_sort.py +0 -0
  172. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/byte_tracker.py +0 -0
  173. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/track.py +0 -0
  174. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/utils/__init__.py +0 -0
  175. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/utils/gmc.py +0 -0
  176. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  177. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/trackers/utils/matching.py +0 -0
  178. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/autobatch.py +0 -0
  179. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/benchmarks.py +0 -0
  180. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/__init__.py +0 -0
  181. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/base.py +0 -0
  182. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/clearml.py +0 -0
  183. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/comet.py +0 -0
  184. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/dvc.py +0 -0
  185. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/hub.py +0 -0
  186. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/mlflow.py +0 -0
  187. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/neptune.py +0 -0
  188. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/raytune.py +0 -0
  189. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  190. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/callbacks/wb.py +0 -0
  191. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/checks.py +0 -0
  192. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/dist.py +0 -0
  193. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/downloads.py +0 -0
  194. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/errors.py +0 -0
  195. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/files.py +0 -0
  196. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/instance.py +0 -0
  197. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/loss.py +0 -0
  198. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/metrics.py +0 -0
  199. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/ops.py +0 -0
  200. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/patches.py +0 -0
  201. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/plotting.py +0 -0
  202. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/tal.py +0 -0
  203. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/torch_utils.py +0 -0
  204. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/triton.py +0 -0
  205. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics/utils/tuner.py +0 -0
  206. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics.egg-info/SOURCES.txt +0 -0
  207. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics.egg-info/dependency_links.txt +0 -0
  208. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics.egg-info/entry_points.txt +0 -0
  209. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics.egg-info/requires.txt +0 -0
  210. {ultralytics-8.1.35 → ultralytics-8.1.37}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.1.35
3
+ Version: 8.1.37
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
@@ -1,5 +1,7 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
+ import sys
4
+ from unittest import mock
3
5
  from ultralytics import YOLO
4
6
  from ultralytics.cfg import get_cfg
5
7
  from ultralytics.engine.exporter import Exporter
@@ -49,8 +51,10 @@ def test_detect():
49
51
  pred = detect.DetectionPredictor(overrides={"imgsz": [64, 64]})
50
52
  pred.add_callback("on_predict_start", test_func)
51
53
  assert test_func in pred.callbacks["on_predict_start"], "callback test failed"
52
- result = pred(source=ASSETS, model=f"{MODEL}.pt")
53
- assert len(result), "predictor test failed"
54
+ # Confirm there is no issue with sys.argv being empty.
55
+ with mock.patch.object(sys, 'argv', []):
56
+ result = pred(source=ASSETS, model=f"{MODEL}.pt")
57
+ assert len(result), "predictor test failed"
54
58
 
55
59
  overrides["resume"] = trainer.last
56
60
  trainer = detect.DetectionTrainer(overrides=overrides)
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.1.35"
3
+ __version__ = "8.1.37"
4
4
 
5
5
  from ultralytics.data.explorer.explorer import Explorer
6
6
  from ultralytics.models import RTDETR, SAM, YOLO, YOLOWorld
@@ -54,8 +54,9 @@ TASK2METRIC = {
54
54
  "obb": "metrics/mAP50-95(B)",
55
55
  }
56
56
 
57
+ ARGV = sys.argv or ["", ""] # sometimes sys.argv = []
57
58
  CLI_HELP_MSG = f"""
58
- Arguments received: {str(['yolo'] + sys.argv[1:])}. Ultralytics 'yolo' commands use the following syntax:
59
+ Arguments received: {str(['yolo'] + ARGV[1:])}. Ultralytics 'yolo' commands use the following syntax:
59
60
 
60
61
  yolo TASK MODE ARGS
61
62
 
@@ -452,7 +453,7 @@ def entrypoint(debug=""):
452
453
  It uses the package's default cfg and initializes it using the passed overrides.
453
454
  Then it calls the CLI function with the composed cfg
454
455
  """
455
- args = (debug.split(" ") if debug else sys.argv)[1:]
456
+ args = (debug.split(" ") if debug else ARGV)[1:]
456
457
  if not args: # no arguments passed
457
458
  LOGGER.info(CLI_HELP_MSG)
458
459
  return
@@ -1,7 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
3
  import inspect
4
- import sys
5
4
  from pathlib import Path
6
5
  from typing import Union
7
6
 
@@ -11,7 +10,18 @@ import torch
11
10
  from ultralytics.cfg import TASK2DATA, get_cfg, get_save_dir
12
11
  from ultralytics.hub.utils import HUB_WEB_ROOT
13
12
  from ultralytics.nn.tasks import attempt_load_one_weight, guess_model_task, nn, yaml_model_load
14
- from ultralytics.utils import ASSETS, DEFAULT_CFG_DICT, LOGGER, RANK, SETTINGS, callbacks, checks, emojis, yaml_load
13
+ from ultralytics.utils import (
14
+ ARGV,
15
+ ASSETS,
16
+ DEFAULT_CFG_DICT,
17
+ LOGGER,
18
+ RANK,
19
+ SETTINGS,
20
+ callbacks,
21
+ checks,
22
+ emojis,
23
+ yaml_load,
24
+ )
15
25
 
16
26
 
17
27
  class Model(nn.Module):
@@ -421,8 +431,8 @@ class Model(nn.Module):
421
431
  source = ASSETS
422
432
  LOGGER.warning(f"WARNING ⚠️ 'source' is missing. Using 'source={source}'.")
423
433
 
424
- is_cli = (sys.argv[0].endswith("yolo") or sys.argv[0].endswith("ultralytics")) and any(
425
- x in sys.argv for x in ("predict", "track", "mode=predict", "mode=track")
434
+ is_cli = (ARGV[0].endswith("yolo") or ARGV[0].endswith("ultralytics")) and any(
435
+ x in ARGV for x in ("predict", "track", "mode=predict", "mode=track")
426
436
  )
427
437
 
428
438
  custom = {"conf": 0.25, "batch": 1, "save": is_cli, "mode": "predict"} # method defaults
@@ -421,7 +421,7 @@ class BaseTrainer:
421
421
  self.lr = {f"lr/pg{ir}": x["lr"] for ir, x in enumerate(self.optimizer.param_groups)} # for loggers
422
422
  self.run_callbacks("on_train_epoch_end")
423
423
  if RANK in (-1, 0):
424
- final_epoch = epoch + 1 == self.epochs
424
+ final_epoch = epoch + 1 >= self.epochs
425
425
  self.ema.update_attr(self.model, include=["yaml", "nc", "args", "names", "stride", "class_weights"])
426
426
 
427
427
  # Validation
@@ -3,7 +3,6 @@
3
3
  import os
4
4
  import platform
5
5
  import random
6
- import sys
7
6
  import threading
8
7
  import time
9
8
  from pathlib import Path
@@ -11,6 +10,7 @@ from pathlib import Path
11
10
  import requests
12
11
 
13
12
  from ultralytics.utils import (
13
+ ARGV,
14
14
  ENVIRONMENT,
15
15
  LOGGER,
16
16
  ONLINE,
@@ -188,7 +188,7 @@ class Events:
188
188
  self.rate_limit = 60.0 # rate limit (seconds)
189
189
  self.t = 0.0 # rate limit timer (seconds)
190
190
  self.metadata = {
191
- "cli": Path(sys.argv[0]).name == "yolo",
191
+ "cli": Path(ARGV[0]).name == "yolo",
192
192
  "install": "git" if is_git_dir() else "pip" if is_pip_package() else "other",
193
193
  "python": ".".join(platform.python_version_tuple()[:2]), # i.e. 3.10
194
194
  "version": __version__,
@@ -140,7 +140,8 @@ class AutoBackend(nn.Module):
140
140
  # In-memory PyTorch model
141
141
  if nn_module:
142
142
  model = weights.to(device)
143
- model = model.fuse(verbose=verbose) if fuse else model
143
+ if fuse:
144
+ model = model.fuse(verbose=verbose)
144
145
  if hasattr(model, "kpt_shape"):
145
146
  kpt_shape = model.kpt_shape # pose-only
146
147
  stride = max(int(model.stride.max()), 32) # model stride
@@ -30,6 +30,7 @@ RANK = int(os.getenv("RANK", -1))
30
30
  LOCAL_RANK = int(os.getenv("LOCAL_RANK", -1)) # https://pytorch.org/docs/stable/elastic/run.html
31
31
 
32
32
  # Other Constants
33
+ ARGV = sys.argv or ["", ""] # sometimes sys.argv = []
33
34
  FILE = Path(__file__).resolve()
34
35
  ROOT = FILE.parents[1] # YOLO
35
36
  ASSETS = ROOT / "assets" # default images
@@ -522,7 +523,7 @@ def is_pytest_running():
522
523
  Returns:
523
524
  (bool): True if pytest is running, False otherwise.
524
525
  """
525
- return ("PYTEST_CURRENT_TEST" in os.environ) or ("pytest" in sys.modules) or ("pytest" in Path(sys.argv[0]).stem)
526
+ return ("PYTEST_CURRENT_TEST" in os.environ) or ("pytest" in sys.modules) or ("pytest" in Path(ARGV[0]).stem)
526
527
 
527
528
 
528
529
  def is_github_action_running() -> bool:
@@ -869,8 +870,8 @@ def set_sentry():
869
870
  return None # do not send event
870
871
 
871
872
  event["tags"] = {
872
- "sys_argv": sys.argv[0],
873
- "sys_argv_name": Path(sys.argv[0]).name,
873
+ "sys_argv": ARGV[0],
874
+ "sys_argv_name": Path(ARGV[0]).name,
874
875
  "install": "git" if is_git_dir() else "pip" if is_pip_package() else "other",
875
876
  "os": ENVIRONMENT,
876
877
  }
@@ -879,7 +880,7 @@ def set_sentry():
879
880
  if (
880
881
  SETTINGS["sync"]
881
882
  and RANK in (-1, 0)
882
- and Path(sys.argv[0]).name == "yolo"
883
+ and Path(ARGV[0]).name == "yolo"
883
884
  and not TESTS_RUNNING
884
885
  and ONLINE
885
886
  and is_pip_package()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.1.35
3
+ Version: 8.1.37
4
4
  Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
6
6
  Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
File without changes
File without changes
File without changes