ultralytics 8.2.74__tar.gz → 8.2.76__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 (238) hide show
  1. {ultralytics-8.2.74/ultralytics.egg-info → ultralytics-8.2.76}/PKG-INFO +3 -2
  2. {ultralytics-8.2.74 → ultralytics-8.2.76}/pyproject.toml +4 -3
  3. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_python.py +2 -0
  4. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/__init__.py +1 -1
  5. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/converter.py +3 -3
  6. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/split_dota.py +14 -13
  7. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/autobackend.py +4 -4
  8. {ultralytics-8.2.74 → ultralytics-8.2.76/ultralytics.egg-info}/PKG-INFO +3 -2
  9. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics.egg-info/requires.txt +2 -1
  10. {ultralytics-8.2.74 → ultralytics-8.2.76}/LICENSE +0 -0
  11. {ultralytics-8.2.74 → ultralytics-8.2.76}/README.md +0 -0
  12. {ultralytics-8.2.74 → ultralytics-8.2.76}/setup.cfg +0 -0
  13. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/__init__.py +0 -0
  14. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/conftest.py +0 -0
  15. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_cli.py +0 -0
  16. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_cuda.py +0 -0
  17. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_engine.py +0 -0
  18. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_explorer.py +0 -0
  19. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_exports.py +0 -0
  20. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_integrations.py +0 -0
  21. {ultralytics-8.2.74 → ultralytics-8.2.76}/tests/test_solutions.py +0 -0
  22. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/assets/bus.jpg +0 -0
  23. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/assets/zidane.jpg +0 -0
  24. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/__init__.py +0 -0
  25. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  26. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  27. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  28. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  29. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  30. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  31. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  32. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  33. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  34. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  35. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  36. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  37. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  38. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/coco.yaml +0 -0
  39. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  40. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  41. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  42. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  43. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  44. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  45. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  46. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  47. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  48. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  49. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/signature.yaml +0 -0
  50. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  51. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/datasets/xView.yaml +0 -0
  52. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/default.yaml +0 -0
  53. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  54. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  55. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  56. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  57. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  58. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  59. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  60. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  61. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  62. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  63. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  64. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  65. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  66. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  67. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  68. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  69. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  70. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  71. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  72. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  73. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  74. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  75. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  76. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  77. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  78. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  79. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  80. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  81. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  82. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  83. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  84. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  85. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  86. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  87. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  88. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  89. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  90. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  91. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  92. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  93. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  94. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  95. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/__init__.py +0 -0
  96. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/annotator.py +0 -0
  97. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/augment.py +0 -0
  98. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/base.py +0 -0
  99. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/build.py +0 -0
  100. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/dataset.py +0 -0
  101. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/explorer/__init__.py +0 -0
  102. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/explorer/explorer.py +0 -0
  103. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/explorer/gui/__init__.py +0 -0
  104. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/explorer/gui/dash.py +0 -0
  105. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/explorer/utils.py +0 -0
  106. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/loaders.py +0 -0
  107. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/data/utils.py +0 -0
  108. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/__init__.py +0 -0
  109. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/exporter.py +0 -0
  110. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/model.py +0 -0
  111. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/predictor.py +0 -0
  112. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/results.py +0 -0
  113. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/trainer.py +0 -0
  114. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/tuner.py +0 -0
  115. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/engine/validator.py +0 -0
  116. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/hub/__init__.py +0 -0
  117. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/hub/auth.py +0 -0
  118. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/hub/google/__init__.py +0 -0
  119. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/hub/session.py +0 -0
  120. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/hub/utils.py +0 -0
  121. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/__init__.py +0 -0
  122. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/fastsam/__init__.py +0 -0
  123. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/fastsam/model.py +0 -0
  124. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/fastsam/predict.py +0 -0
  125. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/fastsam/utils.py +0 -0
  126. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/fastsam/val.py +0 -0
  127. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/nas/__init__.py +0 -0
  128. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/nas/model.py +0 -0
  129. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/nas/predict.py +0 -0
  130. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/nas/val.py +0 -0
  131. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/rtdetr/__init__.py +0 -0
  132. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/rtdetr/model.py +0 -0
  133. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/rtdetr/predict.py +0 -0
  134. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/rtdetr/train.py +0 -0
  135. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/rtdetr/val.py +0 -0
  136. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/__init__.py +0 -0
  137. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/amg.py +0 -0
  138. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/build.py +0 -0
  139. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/model.py +0 -0
  140. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/__init__.py +0 -0
  141. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/blocks.py +0 -0
  142. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/decoders.py +0 -0
  143. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/encoders.py +0 -0
  144. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  145. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/sam.py +0 -0
  146. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  147. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/transformer.py +0 -0
  148. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/modules/utils.py +0 -0
  149. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/sam/predict.py +0 -0
  150. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/utils/__init__.py +0 -0
  151. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/utils/loss.py +0 -0
  152. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/utils/ops.py +0 -0
  153. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/__init__.py +0 -0
  154. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/classify/__init__.py +0 -0
  155. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/classify/predict.py +0 -0
  156. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/classify/train.py +0 -0
  157. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/classify/val.py +0 -0
  158. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/detect/__init__.py +0 -0
  159. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/detect/predict.py +0 -0
  160. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/detect/train.py +0 -0
  161. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/detect/val.py +0 -0
  162. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/model.py +0 -0
  163. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/obb/__init__.py +0 -0
  164. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/obb/predict.py +0 -0
  165. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/obb/train.py +0 -0
  166. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/obb/val.py +0 -0
  167. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/pose/__init__.py +0 -0
  168. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/pose/predict.py +0 -0
  169. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/pose/train.py +0 -0
  170. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/pose/val.py +0 -0
  171. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/segment/__init__.py +0 -0
  172. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/segment/predict.py +0 -0
  173. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/segment/train.py +0 -0
  174. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/segment/val.py +0 -0
  175. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/world/__init__.py +0 -0
  176. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/world/train.py +0 -0
  177. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/models/yolo/world/train_world.py +0 -0
  178. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/__init__.py +0 -0
  179. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/modules/__init__.py +0 -0
  180. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/modules/activation.py +0 -0
  181. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/modules/block.py +0 -0
  182. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/modules/conv.py +0 -0
  183. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/modules/head.py +0 -0
  184. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/modules/transformer.py +0 -0
  185. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/modules/utils.py +0 -0
  186. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/nn/tasks.py +0 -0
  187. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/__init__.py +0 -0
  188. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/ai_gym.py +0 -0
  189. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/analytics.py +0 -0
  190. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/distance_calculation.py +0 -0
  191. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/heatmap.py +0 -0
  192. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/object_counter.py +0 -0
  193. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/parking_management.py +0 -0
  194. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/queue_management.py +0 -0
  195. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/speed_estimation.py +0 -0
  196. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/solutions/streamlit_inference.py +0 -0
  197. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/__init__.py +0 -0
  198. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/basetrack.py +0 -0
  199. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/bot_sort.py +0 -0
  200. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/byte_tracker.py +0 -0
  201. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/track.py +0 -0
  202. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/utils/__init__.py +0 -0
  203. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/utils/gmc.py +0 -0
  204. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  205. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/trackers/utils/matching.py +0 -0
  206. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/__init__.py +0 -0
  207. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/autobatch.py +0 -0
  208. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/benchmarks.py +0 -0
  209. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/__init__.py +0 -0
  210. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/base.py +0 -0
  211. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/clearml.py +0 -0
  212. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/comet.py +0 -0
  213. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/dvc.py +0 -0
  214. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/hub.py +0 -0
  215. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/mlflow.py +0 -0
  216. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/neptune.py +0 -0
  217. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/raytune.py +0 -0
  218. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  219. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/callbacks/wb.py +0 -0
  220. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/checks.py +0 -0
  221. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/dist.py +0 -0
  222. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/downloads.py +0 -0
  223. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/errors.py +0 -0
  224. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/files.py +0 -0
  225. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/instance.py +0 -0
  226. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/loss.py +0 -0
  227. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/metrics.py +0 -0
  228. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/ops.py +0 -0
  229. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/patches.py +0 -0
  230. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/plotting.py +0 -0
  231. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/tal.py +0 -0
  232. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/torch_utils.py +0 -0
  233. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/triton.py +0 -0
  234. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics/utils/tuner.py +0 -0
  235. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics.egg-info/SOURCES.txt +0 -0
  236. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics.egg-info/dependency_links.txt +0 -0
  237. {ultralytics-8.2.74 → ultralytics-8.2.76}/ultralytics.egg-info/entry_points.txt +0 -0
  238. {ultralytics-8.2.74 → ultralytics-8.2.76}/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.2.74
3
+ Version: 8.2.76
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
@@ -55,7 +55,8 @@ Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
55
55
  Requires-Dist: mkdocstrings[python]; extra == "dev"
56
56
  Requires-Dist: mkdocs-jupyter; extra == "dev"
57
57
  Requires-Dist: mkdocs-redirects; extra == "dev"
58
- Requires-Dist: mkdocs-ultralytics-plugin>=0.0.49; extra == "dev"
58
+ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.2; extra == "dev"
59
+ Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
59
60
  Provides-Extra: export
60
61
  Requires-Dist: onnx>=1.12.0; extra == "export"
61
62
  Requires-Dist: coremltools>=7.0; (platform_system != "Windows" and python_version <= "3.11") and extra == "export"
@@ -91,9 +91,10 @@ dev = [
91
91
  "mkdocs>=1.6.0",
92
92
  "mkdocs-material>=9.5.9",
93
93
  "mkdocstrings[python]",
94
- "mkdocs-jupyter", # for notebooks
95
- "mkdocs-redirects", # for 301 redirects
96
- "mkdocs-ultralytics-plugin>=0.0.49", # for meta descriptions and images, dates and authors
94
+ "mkdocs-jupyter", # notebooks
95
+ "mkdocs-redirects", # 301 redirects
96
+ "mkdocs-ultralytics-plugin>=0.1.2", # for meta descriptions and images, dates and authors
97
+ "mkdocs-macros-plugin>=1.0.5" # duplicating content (i.e. export tables) in multiple places
97
98
  ]
98
99
  export = [
99
100
  "onnx>=1.12.0", # ONNX export
@@ -26,6 +26,7 @@ from ultralytics.utils import (
26
26
  WEIGHTS_DIR,
27
27
  WINDOWS,
28
28
  checks,
29
+ is_github_action_running,
29
30
  )
30
31
  from ultralytics.utils.downloads import download
31
32
  from ultralytics.utils.torch_utils import TORCH_1_9
@@ -131,6 +132,7 @@ def test_predict_grey_and_4ch():
131
132
 
132
133
  @pytest.mark.slow
133
134
  @pytest.mark.skipif(not ONLINE, reason="environment is offline")
135
+ @pytest.mark.skipif(is_github_action_running(), reason="No auth https://github.com/JuanBindez/pytubefix/issues/166")
134
136
  def test_youtube():
135
137
  """Test YOLO model on a YouTube video stream, handling potential network-related errors."""
136
138
  model = YOLO(MODEL)
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = "8.2.74"
3
+ __version__ = "8.2.76"
4
4
 
5
5
  import os
6
6
 
@@ -344,13 +344,13 @@ def convert_segment_masks_to_yolo_seg(masks_dir, output_dir, classes):
344
344
  Args:
345
345
  masks_dir (str): The path to the directory where all mask images (png, jpg) are stored.
346
346
  output_dir (str): The path to the directory where the converted YOLO segmentation masks will be stored.
347
- classes (int): Total classes in the dataset i.e for COCO classes=80
347
+ classes (int): Total classes in the dataset i.e. for COCO classes=80
348
348
 
349
349
  Example:
350
350
  ```python
351
351
  from ultralytics.data.converter import convert_segment_masks_to_yolo_seg
352
352
 
353
- # for coco dataset, we have 80 classes
353
+ # The classes here is the total classes in the dataset, for COCO dataset we have 80 classes
354
354
  convert_segment_masks_to_yolo_seg('path/to/masks_directory', 'path/to/output/directory', classes=80)
355
355
  ```
356
356
 
@@ -373,7 +373,7 @@ def convert_segment_masks_to_yolo_seg(masks_dir, output_dir, classes):
373
373
  """
374
374
  import os
375
375
 
376
- pixel_to_class_mapping = {i + 1: i for i in range(80)}
376
+ pixel_to_class_mapping = {i + 1: i for i in range(classes)}
377
377
  for mask_filename in os.listdir(masks_dir):
378
378
  if mask_filename.endswith(".png"):
379
379
  mask_path = os.path.join(masks_dir, mask_filename)
@@ -144,7 +144,7 @@ def get_window_obj(anno, windows, iof_thr=0.7):
144
144
  return [np.zeros((0, 9), dtype=np.float32) for _ in range(len(windows))] # window_anns
145
145
 
146
146
 
147
- def crop_and_save(anno, windows, window_objs, im_dir, lb_dir):
147
+ def crop_and_save(anno, windows, window_objs, im_dir, lb_dir, allow_background_images=True):
148
148
  """
149
149
  Crop images and save new labels.
150
150
 
@@ -154,6 +154,7 @@ def crop_and_save(anno, windows, window_objs, im_dir, lb_dir):
154
154
  window_objs (list): A list of labels inside each window.
155
155
  im_dir (str): The output directory path of images.
156
156
  lb_dir (str): The output directory path of labels.
157
+ allow_background_images (bool): Whether to include background images without labels.
157
158
 
158
159
  Notes:
159
160
  The directory structure assumed for the DOTA dataset:
@@ -173,19 +174,19 @@ def crop_and_save(anno, windows, window_objs, im_dir, lb_dir):
173
174
  patch_im = im[y_start:y_stop, x_start:x_stop]
174
175
  ph, pw = patch_im.shape[:2]
175
176
 
176
- cv2.imwrite(str(Path(im_dir) / f"{new_name}.jpg"), patch_im)
177
177
  label = window_objs[i]
178
- if len(label) == 0:
179
- continue
180
- label[:, 1::2] -= x_start
181
- label[:, 2::2] -= y_start
182
- label[:, 1::2] /= pw
183
- label[:, 2::2] /= ph
184
-
185
- with open(Path(lb_dir) / f"{new_name}.txt", "w") as f:
186
- for lb in label:
187
- formatted_coords = ["{:.6g}".format(coord) for coord in lb[1:]]
188
- f.write(f"{int(lb[0])} {' '.join(formatted_coords)}\n")
178
+ if len(label) or allow_background_images:
179
+ cv2.imwrite(str(Path(im_dir) / f"{new_name}.jpg"), patch_im)
180
+ if len(label):
181
+ label[:, 1::2] -= x_start
182
+ label[:, 2::2] -= y_start
183
+ label[:, 1::2] /= pw
184
+ label[:, 2::2] /= ph
185
+
186
+ with open(Path(lb_dir) / f"{new_name}.txt", "w") as f:
187
+ for lb in label:
188
+ formatted_coords = ["{:.6g}".format(coord) for coord in lb[1:]]
189
+ f.write(f"{int(lb[0])} {' '.join(formatted_coords)}\n")
189
190
 
190
191
 
191
192
  def split_images_and_labels(data_root, save_dir, split="train", crop_sizes=(1024,), gaps=(200,)):
@@ -566,10 +566,6 @@ class AutoBackend(nn.Module):
566
566
  y = [y]
567
567
  elif self.pb: # GraphDef
568
568
  y = self.frozen_func(x=self.tf.constant(im))
569
- if (self.task == "segment" or len(y) == 2) and len(self.names) == 999: # segments and names not defined
570
- ip, ib = (0, 1) if len(y[0].shape) == 4 else (1, 0) # index of protos, boxes
571
- nc = y[ib].shape[1] - y[ip].shape[3] - 4 # y = (1, 160, 160, 32), (1, 116, 8400)
572
- self.names = {i: f"class{i}" for i in range(nc)}
573
569
  else: # Lite or Edge TPU
574
570
  details = self.input_details[0]
575
571
  is_int = details["dtype"] in {np.int8, np.int16} # is TFLite quantized int8 or int16 model
@@ -607,6 +603,10 @@ class AutoBackend(nn.Module):
607
603
  # for x in y:
608
604
  # print(type(x), len(x)) if isinstance(x, (list, tuple)) else print(type(x), x.shape) # debug shapes
609
605
  if isinstance(y, (list, tuple)):
606
+ if len(self.names) == 999 and (self.task == "segment" or len(y) == 2): # segments and names not defined
607
+ ip, ib = (0, 1) if len(y[0].shape) == 4 else (1, 0) # index of protos, boxes
608
+ nc = y[ib].shape[1] - y[ip].shape[3] - 4 # y = (1, 160, 160, 32), (1, 116, 8400)
609
+ self.names = {i: f"class{i}" for i in range(nc)}
610
610
  return self.from_numpy(y[0]) if len(y) == 1 else [self.from_numpy(x) for x in y]
611
611
  else:
612
612
  return self.from_numpy(y)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultralytics
3
- Version: 8.2.74
3
+ Version: 8.2.76
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
@@ -55,7 +55,8 @@ Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
55
55
  Requires-Dist: mkdocstrings[python]; extra == "dev"
56
56
  Requires-Dist: mkdocs-jupyter; extra == "dev"
57
57
  Requires-Dist: mkdocs-redirects; extra == "dev"
58
- Requires-Dist: mkdocs-ultralytics-plugin>=0.0.49; extra == "dev"
58
+ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.2; extra == "dev"
59
+ Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
59
60
  Provides-Extra: export
60
61
  Requires-Dist: onnx>=1.12.0; extra == "export"
61
62
  Requires-Dist: coremltools>=7.0; (platform_system != "Windows" and python_version <= "3.11") and extra == "export"
@@ -24,7 +24,8 @@ mkdocs-material>=9.5.9
24
24
  mkdocstrings[python]
25
25
  mkdocs-jupyter
26
26
  mkdocs-redirects
27
- mkdocs-ultralytics-plugin>=0.0.49
27
+ mkdocs-ultralytics-plugin>=0.1.2
28
+ mkdocs-macros-plugin>=1.0.5
28
29
 
29
30
  [explorer]
30
31
  lancedb
File without changes
File without changes
File without changes