ultralytics 8.1.40__tar.gz → 8.1.41__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 (214) hide show
  1. {ultralytics-8.1.40/ultralytics.egg-info → ultralytics-8.1.41}/PKG-INFO +1 -1
  2. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/model.py +4 -1
  4. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/trainer.py +9 -12
  5. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/checks.py +3 -1
  6. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/torch_utils.py +1 -1
  7. {ultralytics-8.1.40 → ultralytics-8.1.41/ultralytics.egg-info}/PKG-INFO +1 -1
  8. {ultralytics-8.1.40 → ultralytics-8.1.41}/LICENSE +0 -0
  9. {ultralytics-8.1.40 → ultralytics-8.1.41}/README.md +0 -0
  10. {ultralytics-8.1.40 → ultralytics-8.1.41}/pyproject.toml +0 -0
  11. {ultralytics-8.1.40 → ultralytics-8.1.41}/setup.cfg +0 -0
  12. {ultralytics-8.1.40 → ultralytics-8.1.41}/tests/test_cli.py +0 -0
  13. {ultralytics-8.1.40 → ultralytics-8.1.41}/tests/test_cuda.py +0 -0
  14. {ultralytics-8.1.40 → ultralytics-8.1.41}/tests/test_engine.py +0 -0
  15. {ultralytics-8.1.40 → ultralytics-8.1.41}/tests/test_explorer.py +0 -0
  16. {ultralytics-8.1.40 → ultralytics-8.1.41}/tests/test_integrations.py +0 -0
  17. {ultralytics-8.1.40 → ultralytics-8.1.41}/tests/test_python.py +0 -0
  18. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/assets/bus.jpg +0 -0
  19. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/assets/zidane.jpg +0 -0
  20. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/__init__.py +0 -0
  21. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  22. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  23. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  24. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  25. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  26. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  27. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  28. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  29. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  30. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  31. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  32. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  33. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  34. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/coco.yaml +0 -0
  35. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  36. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  37. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  38. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  39. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  40. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  41. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  42. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  43. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  44. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  45. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  46. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/datasets/xView.yaml +0 -0
  47. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/default.yaml +0 -0
  48. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  49. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  50. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  51. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  52. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  53. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  54. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  55. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  56. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  57. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  58. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  59. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  60. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  61. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  62. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  63. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  64. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  65. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  66. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  67. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  68. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  69. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  70. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  71. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  72. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  73. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  74. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  75. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  76. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  77. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  78. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  79. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/__init__.py +0 -0
  80. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/annotator.py +0 -0
  81. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/augment.py +0 -0
  82. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/base.py +0 -0
  83. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/build.py +0 -0
  84. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/converter.py +0 -0
  85. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/dataset.py +0 -0
  86. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/explorer/__init__.py +0 -0
  87. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/explorer/explorer.py +0 -0
  88. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/explorer/gui/__init__.py +0 -0
  89. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/explorer/gui/dash.py +0 -0
  90. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/explorer/utils.py +0 -0
  91. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/loaders.py +0 -0
  92. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/split_dota.py +0 -0
  93. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/data/utils.py +0 -0
  94. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/__init__.py +0 -0
  95. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/exporter.py +0 -0
  96. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/predictor.py +0 -0
  97. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/results.py +0 -0
  98. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/tuner.py +0 -0
  99. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/engine/validator.py +0 -0
  100. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/hub/__init__.py +0 -0
  101. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/hub/auth.py +0 -0
  102. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/hub/session.py +0 -0
  103. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/hub/utils.py +0 -0
  104. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/__init__.py +0 -0
  105. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/fastsam/__init__.py +0 -0
  106. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/fastsam/model.py +0 -0
  107. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/fastsam/predict.py +0 -0
  108. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/fastsam/prompt.py +0 -0
  109. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/fastsam/utils.py +0 -0
  110. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/fastsam/val.py +0 -0
  111. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/nas/__init__.py +0 -0
  112. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/nas/model.py +0 -0
  113. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/nas/predict.py +0 -0
  114. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/nas/val.py +0 -0
  115. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/rtdetr/__init__.py +0 -0
  116. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/rtdetr/model.py +0 -0
  117. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/rtdetr/predict.py +0 -0
  118. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/rtdetr/train.py +0 -0
  119. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/rtdetr/val.py +0 -0
  120. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/__init__.py +0 -0
  121. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/amg.py +0 -0
  122. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/build.py +0 -0
  123. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/model.py +0 -0
  124. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/modules/__init__.py +0 -0
  125. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/modules/decoders.py +0 -0
  126. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/modules/encoders.py +0 -0
  127. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/modules/sam.py +0 -0
  128. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  129. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/modules/transformer.py +0 -0
  130. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/sam/predict.py +0 -0
  131. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/utils/__init__.py +0 -0
  132. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/utils/loss.py +0 -0
  133. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/utils/ops.py +0 -0
  134. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/__init__.py +0 -0
  135. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/classify/__init__.py +0 -0
  136. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/classify/predict.py +0 -0
  137. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/classify/train.py +0 -0
  138. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/classify/val.py +0 -0
  139. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/detect/__init__.py +0 -0
  140. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/detect/predict.py +0 -0
  141. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/detect/train.py +0 -0
  142. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/detect/val.py +0 -0
  143. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/model.py +0 -0
  144. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/obb/__init__.py +0 -0
  145. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/obb/predict.py +0 -0
  146. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/obb/train.py +0 -0
  147. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/obb/val.py +0 -0
  148. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/pose/__init__.py +0 -0
  149. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/pose/predict.py +0 -0
  150. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/pose/train.py +0 -0
  151. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/pose/val.py +0 -0
  152. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/segment/__init__.py +0 -0
  153. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/segment/predict.py +0 -0
  154. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/segment/train.py +0 -0
  155. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/segment/val.py +0 -0
  156. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/world/__init__.py +0 -0
  157. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/world/train.py +0 -0
  158. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/models/yolo/world/train_world.py +0 -0
  159. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/__init__.py +0 -0
  160. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/autobackend.py +0 -0
  161. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/modules/__init__.py +0 -0
  162. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/modules/block.py +0 -0
  163. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/modules/conv.py +0 -0
  164. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/modules/head.py +0 -0
  165. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/modules/transformer.py +0 -0
  166. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/modules/utils.py +0 -0
  167. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/nn/tasks.py +0 -0
  168. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/solutions/__init__.py +0 -0
  169. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/solutions/ai_gym.py +0 -0
  170. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/solutions/distance_calculation.py +0 -0
  171. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/solutions/heatmap.py +0 -0
  172. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/solutions/object_counter.py +0 -0
  173. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/solutions/speed_estimation.py +0 -0
  174. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/__init__.py +0 -0
  175. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/basetrack.py +0 -0
  176. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/bot_sort.py +0 -0
  177. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/byte_tracker.py +0 -0
  178. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/track.py +0 -0
  179. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/utils/__init__.py +0 -0
  180. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/utils/gmc.py +0 -0
  181. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  182. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/trackers/utils/matching.py +0 -0
  183. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/__init__.py +0 -0
  184. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/autobatch.py +0 -0
  185. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/benchmarks.py +0 -0
  186. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/__init__.py +0 -0
  187. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/base.py +0 -0
  188. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/clearml.py +0 -0
  189. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/comet.py +0 -0
  190. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/dvc.py +0 -0
  191. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/hub.py +0 -0
  192. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/mlflow.py +0 -0
  193. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/neptune.py +0 -0
  194. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/raytune.py +0 -0
  195. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  196. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/callbacks/wb.py +0 -0
  197. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/dist.py +0 -0
  198. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/downloads.py +0 -0
  199. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/errors.py +0 -0
  200. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/files.py +0 -0
  201. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/instance.py +0 -0
  202. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/loss.py +0 -0
  203. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/metrics.py +0 -0
  204. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/ops.py +0 -0
  205. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/patches.py +0 -0
  206. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/plotting.py +0 -0
  207. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/tal.py +0 -0
  208. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/triton.py +0 -0
  209. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics/utils/tuner.py +0 -0
  210. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics.egg-info/SOURCES.txt +0 -0
  211. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics.egg-info/dependency_links.txt +0 -0
  212. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics.egg-info/entry_points.txt +0 -0
  213. {ultralytics-8.1.40 → ultralytics-8.1.41}/ultralytics.egg-info/requires.txt +0 -0
  214. {ultralytics-8.1.40 → ultralytics-8.1.41}/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.40
3
+ Version: 8.1.41
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,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.1.40"
3
+ __version__ = "8.1.41"
4
4
 
5
5
  from ultralytics.data.explorer.explorer import Explorer
6
6
  from ultralytics.models import RTDETR, SAM, YOLO, YOLOWorld
@@ -735,7 +735,10 @@ class Model(nn.Module):
735
735
 
736
736
  if hasattr(self.model, "names"):
737
737
  return check_class_names(self.model.names)
738
- elif self.predictor:
738
+ else:
739
+ if not self.predictor: # export formats will not have predictor defined until predict() is called
740
+ self.predictor = self._smart_load("predictor")(overrides=self.overrides, _callbacks=self.callbacks)
741
+ self.predictor.setup_model(model=self.model, verbose=False)
739
742
  return self.predictor.model.names
740
743
 
741
744
  @property
@@ -212,7 +212,7 @@ class BaseTrainer:
212
212
  # LOGGER.info(f'DDP info: RANK {RANK}, WORLD_SIZE {world_size}, DEVICE {self.device}')
213
213
  os.environ["TORCH_NCCL_BLOCKING_WAIT"] = "1" # set to enforce timeout
214
214
  dist.init_process_group(
215
- "nccl" if dist.is_nccl_available() else "gloo",
215
+ backend="nccl" if dist.is_nccl_available() else "gloo",
216
216
  timeout=timedelta(seconds=10800), # 3 hours
217
217
  rank=RANK,
218
218
  world_size=world_size,
@@ -648,8 +648,8 @@ class BaseTrainer:
648
648
 
649
649
  resume = True
650
650
  self.args = get_cfg(ckpt_args)
651
- self.args.model = str(last) # reinstate model
652
- for k in "imgsz", "batch": # allow arg updates to reduce memory on resume if crashed due to CUDA OOM
651
+ self.args.model = self.args.resume = str(last) # reinstate model
652
+ for k in "imgsz", "batch", "device": # allow arg updates to reduce memory or update device on resume
653
653
  if k in overrides:
654
654
  setattr(self.args, k, overrides[k])
655
655
 
@@ -662,7 +662,7 @@ class BaseTrainer:
662
662
 
663
663
  def resume_training(self, ckpt):
664
664
  """Resume YOLO training from given epoch and best fitness."""
665
- if ckpt is None:
665
+ if ckpt is None or not self.resume:
666
666
  return
667
667
  best_fitness = 0.0
668
668
  start_epoch = ckpt.get("epoch", -1) + 1
@@ -672,14 +672,11 @@ class BaseTrainer:
672
672
  if self.ema and ckpt.get("ema"):
673
673
  self.ema.ema.load_state_dict(ckpt["ema"].float().state_dict()) # EMA
674
674
  self.ema.updates = ckpt["updates"]
675
- if self.resume:
676
- assert start_epoch > 0, (
677
- f"{self.args.model} training to {self.epochs} epochs is finished, nothing to resume.\n"
678
- f"Start a new training without resuming, i.e. 'yolo train model={self.args.model}'"
679
- )
680
- LOGGER.info(
681
- f"Resuming training from {self.args.model} from epoch {start_epoch + 1} to {self.epochs} total epochs"
682
- )
675
+ assert start_epoch > 0, (
676
+ f"{self.args.model} training to {self.epochs} epochs is finished, nothing to resume.\n"
677
+ f"Start a new training without resuming, i.e. 'yolo train model={self.args.model}'"
678
+ )
679
+ LOGGER.info(f"Resuming training {self.args.model} from epoch {start_epoch + 1} to {self.epochs} total epochs")
683
680
  if self.epochs < start_epoch:
684
681
  LOGGER.info(
685
682
  f"{self.model} has been trained for {ckpt['epoch']} epochs. Fine-tuning for {self.epochs} more epochs."
@@ -28,6 +28,7 @@ from ultralytics.utils import (
28
28
  ONLINE,
29
29
  ROOT,
30
30
  USER_CONFIG_DIR,
31
+ Retry,
31
32
  SimpleNamespace,
32
33
  ThreadingLocked,
33
34
  TryExcept,
@@ -390,7 +391,8 @@ def check_requirements(requirements=ROOT.parent / "requirements.txt", exclude=()
390
391
  try:
391
392
  t = time.time()
392
393
  assert is_online(), "AutoUpdate skipped (offline)"
393
- LOGGER.info(subprocess.check_output(f"pip install --no-cache {s} {cmds}", shell=True).decode())
394
+ with Retry(times=2, delay=1): # run up to 2 times with 1-second retry delay
395
+ LOGGER.info(subprocess.check_output(f"pip install --no-cache {s} {cmds}", shell=True).decode())
394
396
  dt = time.time() - t
395
397
  LOGGER.info(
396
398
  f"{prefix} AutoUpdate success ✅ {dt:.1f}s, installed {n} package{'s' * (n > 1)}: {pkgs}\n"
@@ -513,7 +513,7 @@ def convert_optimizer_state_dict_to_fp16(state_dict):
513
513
  """
514
514
  for state in state_dict["state"].values():
515
515
  for k, v in state.items():
516
- if isinstance(v, torch.Tensor) and v.dtype is torch.float32:
516
+ if k != "step" and isinstance(v, torch.Tensor) and v.dtype is torch.float32:
517
517
  state[k] = v.half()
518
518
 
519
519
  return state_dict
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.1.40
3
+ Version: 8.1.41
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