ultralytics 8.0.237__tar.gz → 8.0.239__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 (208) hide show
  1. {ultralytics-8.0.237 → ultralytics-8.0.239}/PKG-INFO +5 -4
  2. {ultralytics-8.0.237 → ultralytics-8.0.239}/README.md +3 -3
  3. {ultralytics-8.0.237 → ultralytics-8.0.239}/pyproject.toml +6 -5
  4. {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_cli.py +4 -2
  5. {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_explorer.py +11 -6
  6. {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_python.py +3 -0
  7. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/__init__.py +2 -2
  8. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/__init__.py +241 -138
  9. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
  10. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
  11. ultralytics-8.0.239/ultralytics/cfg/datasets/dota8.yaml +34 -0
  12. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/__init__.py +9 -2
  13. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/annotator.py +4 -4
  14. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/augment.py +186 -169
  15. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/base.py +54 -48
  16. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/build.py +34 -23
  17. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/converter.py +242 -70
  18. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/dataset.py +117 -95
  19. ultralytics-8.0.239/ultralytics/data/explorer/__init__.py +5 -0
  20. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/explorer/explorer.py +170 -97
  21. ultralytics-8.0.239/ultralytics/data/explorer/gui/dash.py +248 -0
  22. ultralytics-8.0.239/ultralytics/data/explorer/utils.py +166 -0
  23. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/loaders.py +75 -62
  24. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/split_dota.py +44 -36
  25. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/utils.py +160 -142
  26. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/exporter.py +348 -292
  27. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/model.py +102 -66
  28. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/predictor.py +74 -55
  29. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/results.py +63 -40
  30. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/trainer.py +192 -144
  31. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/tuner.py +66 -59
  32. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/validator.py +31 -26
  33. ultralytics-8.0.239/ultralytics/hub/__init__.py +123 -0
  34. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/hub/auth.py +28 -25
  35. ultralytics-8.0.239/ultralytics/hub/session.py +340 -0
  36. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/hub/utils.py +64 -42
  37. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/__init__.py +1 -1
  38. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/__init__.py +1 -1
  39. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/model.py +6 -6
  40. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/predict.py +3 -2
  41. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/prompt.py +55 -48
  42. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/val.py +1 -1
  43. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/__init__.py +1 -1
  44. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/model.py +9 -8
  45. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/predict.py +8 -6
  46. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/val.py +11 -9
  47. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/__init__.py +1 -1
  48. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/model.py +11 -9
  49. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/train.py +18 -16
  50. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/val.py +25 -19
  51. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/__init__.py +1 -1
  52. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/amg.py +13 -14
  53. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/build.py +44 -42
  54. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/model.py +6 -6
  55. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/decoders.py +6 -4
  56. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/encoders.py +37 -35
  57. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/sam.py +5 -4
  58. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/tiny_encoder.py +95 -73
  59. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/transformer.py +3 -2
  60. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/predict.py +39 -27
  61. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/utils/loss.py +99 -95
  62. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/utils/ops.py +34 -31
  63. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/__init__.py +1 -1
  64. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/__init__.py +1 -1
  65. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/predict.py +8 -6
  66. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/train.py +37 -31
  67. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/val.py +26 -24
  68. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/__init__.py +1 -1
  69. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/predict.py +8 -6
  70. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/train.py +47 -37
  71. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/val.py +100 -82
  72. ultralytics-8.0.239/ultralytics/models/yolo/model.py +45 -0
  73. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/__init__.py +1 -1
  74. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/predict.py +13 -12
  75. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/train.py +3 -3
  76. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/val.py +80 -58
  77. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/__init__.py +1 -1
  78. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/predict.py +17 -12
  79. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/train.py +28 -25
  80. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/val.py +91 -64
  81. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/__init__.py +1 -1
  82. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/predict.py +10 -8
  83. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/train.py +16 -15
  84. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/val.py +90 -68
  85. ultralytics-8.0.239/ultralytics/nn/__init__.py +29 -0
  86. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/autobackend.py +144 -112
  87. ultralytics-8.0.239/ultralytics/nn/modules/__init__.py +117 -0
  88. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/block.py +28 -7
  89. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/conv.py +41 -23
  90. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/head.py +67 -59
  91. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/transformer.py +49 -32
  92. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/utils.py +20 -15
  93. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/tasks.py +215 -141
  94. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/ai_gym.py +59 -47
  95. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/distance_calculation.py +22 -15
  96. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/heatmap.py +76 -54
  97. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/object_counter.py +46 -39
  98. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/speed_estimation.py +13 -16
  99. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/__init__.py +1 -1
  100. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/basetrack.py +1 -0
  101. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/bot_sort.py +2 -1
  102. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/byte_tracker.py +10 -7
  103. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/track.py +7 -7
  104. ultralytics-8.0.239/ultralytics/trackers/utils/__init__.py +1 -0
  105. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/utils/gmc.py +25 -25
  106. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/utils/kalman_filter.py +85 -42
  107. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/utils/matching.py +8 -7
  108. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/__init__.py +173 -151
  109. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/autobatch.py +10 -10
  110. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/benchmarks.py +76 -86
  111. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/__init__.py +1 -1
  112. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/base.py +29 -29
  113. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/clearml.py +51 -43
  114. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/comet.py +81 -66
  115. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/dvc.py +33 -26
  116. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/hub.py +44 -26
  117. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/mlflow.py +31 -24
  118. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/neptune.py +35 -25
  119. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/raytune.py +9 -4
  120. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/tensorboard.py +16 -11
  121. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/wb.py +39 -33
  122. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/checks.py +189 -141
  123. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/dist.py +15 -12
  124. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/downloads.py +112 -96
  125. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/errors.py +1 -1
  126. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/files.py +11 -11
  127. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/instance.py +22 -22
  128. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/loss.py +117 -67
  129. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/metrics.py +224 -158
  130. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/ops.py +39 -29
  131. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/patches.py +3 -3
  132. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/plotting.py +217 -120
  133. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/tal.py +19 -13
  134. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/torch_utils.py +138 -109
  135. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/triton.py +12 -10
  136. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/tuner.py +49 -47
  137. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/PKG-INFO +5 -4
  138. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/SOURCES.txt +1 -0
  139. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/requires.txt +1 -0
  140. ultralytics-8.0.237/ultralytics/data/explorer/__init__.py +0 -0
  141. ultralytics-8.0.237/ultralytics/data/explorer/gui/__init__.py +0 -0
  142. ultralytics-8.0.237/ultralytics/data/explorer/gui/dash.py +0 -178
  143. ultralytics-8.0.237/ultralytics/data/explorer/utils.py +0 -104
  144. ultralytics-8.0.237/ultralytics/hub/__init__.py +0 -100
  145. ultralytics-8.0.237/ultralytics/hub/session.py +0 -191
  146. ultralytics-8.0.237/ultralytics/models/yolo/model.py +0 -39
  147. ultralytics-8.0.237/ultralytics/nn/__init__.py +0 -9
  148. ultralytics-8.0.237/ultralytics/nn/modules/__init__.py +0 -34
  149. {ultralytics-8.0.237 → ultralytics-8.0.239}/LICENSE +0 -0
  150. {ultralytics-8.0.237 → ultralytics-8.0.239}/setup.cfg +0 -0
  151. {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_cuda.py +0 -0
  152. {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_engine.py +0 -0
  153. {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_integrations.py +0 -0
  154. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/assets/bus.jpg +0 -0
  155. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/assets/zidane.jpg +0 -0
  156. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  157. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  158. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  159. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  160. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  161. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  162. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  163. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  164. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco.yaml +0 -0
  165. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  166. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  167. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  168. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  169. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  170. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  171. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  172. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/xView.yaml +0 -0
  173. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/default.yaml +0 -0
  174. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  175. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  176. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  177. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  178. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  179. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  180. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  181. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  182. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  183. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  184. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  185. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  186. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  187. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  188. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  189. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  190. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  191. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  192. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  193. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  194. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  195. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  196. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  197. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  198. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  199. {ultralytics-8.0.237/ultralytics/engine → ultralytics-8.0.239/ultralytics/data/explorer/gui}/__init__.py +0 -0
  200. {ultralytics-8.0.237/ultralytics/models/sam/modules → ultralytics-8.0.239/ultralytics/engine}/__init__.py +0 -0
  201. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/utils.py +0 -0
  202. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/predict.py +0 -0
  203. {ultralytics-8.0.237/ultralytics/models/utils → ultralytics-8.0.239/ultralytics/models/sam/modules}/__init__.py +0 -0
  204. {ultralytics-8.0.237/ultralytics/solutions → ultralytics-8.0.239/ultralytics/models/utils}/__init__.py +0 -0
  205. {ultralytics-8.0.237/ultralytics/trackers/utils → ultralytics-8.0.239/ultralytics/solutions}/__init__.py +0 -0
  206. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/dependency_links.txt +0 -0
  207. {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/entry_points.txt +0 -0
  208. {ultralytics-8.0.237 → ultralytics-8.0.239}/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.0.237
3
+ Version: 8.0.239
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
@@ -44,6 +44,7 @@ Requires-Dist: py-cpuinfo
44
44
  Requires-Dist: thop>=0.1.1
45
45
  Requires-Dist: pandas>=1.1.4
46
46
  Requires-Dist: seaborn>=0.11.0
47
+ Requires-Dist: hub-sdk>=0.0.2
47
48
  Provides-Extra: dev
48
49
  Requires-Dist: ipython; extra == "dev"
49
50
  Requires-Dist: check-manifest; extra == "dev"
@@ -266,9 +267,9 @@ See [Pose Docs](https://docs.ultralytics.com/tasks/pose/) for usage examples wit
266
267
 
267
268
  </details>
268
269
 
269
- <details><summary>Obb (DOTAv1)</summary>
270
+ <details><summary>OBB (DOTAv1)</summary>
270
271
 
271
- See [Obb Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with these models trained on [DOTAv1](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10/), which include 15 pre-trained classes.
272
+ See [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with these models trained on [DOTAv1](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10/), which include 15 pre-trained classes.
272
273
 
273
274
  | Model | size<br><sup>(pixels) | mAP<sup>test<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
274
275
  | -------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
@@ -278,7 +279,7 @@ See [Obb Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with
278
279
  | [YOLOv8l-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-obb.pt) | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
279
280
  | [YOLOv8x-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-obb.pt) | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
280
281
 
281
- - **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test`
282
+ - **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test` and submit merged results to [DOTA evaluation](https://captain-whu.github.io/DOTA/evaluation.html).
282
283
  - **Speed** averaged over DOTAv1 val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. <br>Reproduce by `yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu`
283
284
 
284
285
  </details>
@@ -187,9 +187,9 @@ See [Pose Docs](https://docs.ultralytics.com/tasks/pose/) for usage examples wit
187
187
 
188
188
  </details>
189
189
 
190
- <details><summary>Obb (DOTAv1)</summary>
190
+ <details><summary>OBB (DOTAv1)</summary>
191
191
 
192
- See [Obb Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with these models trained on [DOTAv1](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10/), which include 15 pre-trained classes.
192
+ See [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with these models trained on [DOTAv1](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10/), which include 15 pre-trained classes.
193
193
 
194
194
  | Model | size<br><sup>(pixels) | mAP<sup>test<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
195
195
  | -------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
@@ -199,7 +199,7 @@ See [Obb Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with
199
199
  | [YOLOv8l-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-obb.pt) | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
200
200
  | [YOLOv8x-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-obb.pt) | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
201
201
 
202
- - **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test`
202
+ - **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test` and submit merged results to [DOTA evaluation](https://captain-whu.github.io/DOTA/evaluation.html).
203
203
  - **Speed** averaged over DOTAv1 val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. <br>Reproduce by `yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu`
204
204
 
205
205
  </details>
@@ -78,6 +78,7 @@ dependencies = [
78
78
  "thop>=0.1.1", # FLOPs computation
79
79
  "pandas>=1.1.4",
80
80
  "seaborn>=0.11.0", # plotting
81
+ "hub-sdk>=0.0.2", # Ultralytics HUB
81
82
  ]
82
83
 
83
84
  # Optional dependencies ------------------------------------------------------------------------------------------------
@@ -106,9 +107,9 @@ export = [
106
107
  ]
107
108
 
108
109
  explorer = [
109
- "lancedb", # vector search
110
- "duckdb", # SQL queries, supports lancedb tables
111
- "streamlit", # visualizing with GUI
110
+ "lancedb", # vector search
111
+ "duckdb", # SQL queries, supports lancedb tables
112
+ "streamlit", # visualizing with GUI
112
113
  ]
113
114
 
114
115
  # tensorflow>=2.4.1,<=2.13.1 # TF exports (-cpu, -aarch64, -macos)
@@ -178,5 +179,5 @@ pre-summary-newline = true
178
179
  close-quotes-on-newline = true
179
180
 
180
181
  [tool.codespell]
181
- ignore-words-list = "crate,nd,strack,dota,ane,segway,fo,gool,winn,commend"
182
- skip = '*.csv,*venv*,docs/??/,docs/mkdocs_??.yml'
182
+ ignore-words-list = "crate,nd,ned,strack,dota,ane,segway,fo,gool,winn,commend,bloc,nam,afterall"
183
+ skip = "*.pt,*.pth,*.torchscript,*.onnx,*.tflite,*.pb,*.bin,*.param,*.mlmodel,*.engine,*.npy,*.data*,*.csv,*pnnx*,*venv*,__pycache__*,*.ico,*.jpg,*.png,*.mp4,*.mov,/runs,/.git,./docs/??/*.md,./docs/mkdocs_??.yml"
@@ -13,12 +13,14 @@ TASK_ARGS = [
13
13
  ('detect', 'yolov8n', 'coco8.yaml'),
14
14
  ('segment', 'yolov8n-seg', 'coco8-seg.yaml'),
15
15
  ('classify', 'yolov8n-cls', 'imagenet10'),
16
- ('pose', 'yolov8n-pose', 'coco8-pose.yaml'), ] # (task, model, data)
16
+ ('pose', 'yolov8n-pose', 'coco8-pose.yaml'),
17
+ ('obb', 'yolov8n-obb', 'dota8.yaml'), ] # (task, model, data)
17
18
  EXPORT_ARGS = [
18
19
  ('yolov8n', 'torchscript'),
19
20
  ('yolov8n-seg', 'torchscript'),
20
21
  ('yolov8n-cls', 'torchscript'),
21
- ('yolov8n-pose', 'torchscript'), ] # (model, format)
22
+ ('yolov8n-pose', 'torchscript'),
23
+ ('yolov8n-obb', 'torchscript'), ] # (model, format)
22
24
 
23
25
 
24
26
  def run(cmd):
@@ -1,8 +1,13 @@
1
+ import PIL
2
+
1
3
  from ultralytics import Explorer
2
4
  from ultralytics.utils import ASSETS
3
5
 
6
+ import PIL
7
+
4
8
 
5
9
  def test_similarity():
10
+ """Test similarity calculations and SQL queries for correctness and response length."""
6
11
  exp = Explorer()
7
12
  exp.create_embeddings_table()
8
13
  similar = exp.get_similar(idx=1)
@@ -18,6 +23,7 @@ def test_similarity():
18
23
 
19
24
 
20
25
  def test_det():
26
+ """Test detection functionalities and ensure the embedding table has bounding boxes."""
21
27
  exp = Explorer(data='coco8.yaml', model='yolov8n.pt')
22
28
  exp.create_embeddings_table(force=True)
23
29
  assert len(exp.table.head()['bboxes']) > 0
@@ -25,27 +31,26 @@ def test_det():
25
31
  assert len(similar) > 0
26
32
  # This is a loose test, just checks errors not correctness
27
33
  similar = exp.plot_similar(idx=[1, 2], limit=10)
28
- assert similar is not None
29
- similar.show()
34
+ assert isinstance(similar, PIL.Image.Image)
30
35
 
31
36
 
32
37
  def test_seg():
38
+ """Test segmentation functionalities and verify the embedding table includes masks."""
33
39
  exp = Explorer(data='coco8-seg.yaml', model='yolov8n-seg.pt')
34
40
  exp.create_embeddings_table(force=True)
35
41
  assert len(exp.table.head()['masks']) > 0
36
42
  similar = exp.get_similar(idx=[1, 2], limit=10)
37
43
  assert len(similar) > 0
38
44
  similar = exp.plot_similar(idx=[1, 2], limit=10)
39
- assert similar is not None
40
- similar.show()
45
+ assert isinstance(similar, PIL.Image.Image)
41
46
 
42
47
 
43
48
  def test_pose():
49
+ """Test pose estimation functionalities and check the embedding table for keypoints."""
44
50
  exp = Explorer(data='coco8-pose.yaml', model='yolov8n-pose.pt')
45
51
  exp.create_embeddings_table(force=True)
46
52
  assert len(exp.table.head()['keypoints']) > 0
47
53
  similar = exp.get_similar(idx=[1, 2], limit=10)
48
54
  assert len(similar) > 0
49
55
  similar = exp.plot_similar(idx=[1, 2], limit=10)
50
- assert similar is not None
51
- similar.show()
56
+ assert isinstance(similar, PIL.Image.Image)
@@ -77,6 +77,7 @@ def test_predict_img():
77
77
  seg_model = YOLO(WEIGHTS_DIR / 'yolov8n-seg.pt')
78
78
  cls_model = YOLO(WEIGHTS_DIR / 'yolov8n-cls.pt')
79
79
  pose_model = YOLO(WEIGHTS_DIR / 'yolov8n-pose.pt')
80
+ obb_model = YOLO(WEIGHTS_DIR / 'yolov8n-obb.pt')
80
81
  im = cv2.imread(str(SOURCE))
81
82
  assert len(model(source=Image.open(SOURCE), save=True, verbose=True, imgsz=32)) == 1 # PIL
82
83
  assert len(model(source=im, save=True, save_txt=True, imgsz=32)) == 1 # ndarray
@@ -105,6 +106,8 @@ def test_predict_img():
105
106
  assert len(results) == t.shape[0]
106
107
  results = pose_model(t, imgsz=32)
107
108
  assert len(results) == t.shape[0]
109
+ results = obb_model(t, imgsz=32)
110
+ assert len(results) == t.shape[0]
108
111
 
109
112
 
110
113
  def test_predict_grey_and_4ch():
@@ -1,6 +1,6 @@
1
1
  # Ultralytics YOLO 🚀, AGPL-3.0 license
2
2
 
3
- __version__ = '8.0.237'
3
+ __version__ = "8.0.239"
4
4
 
5
5
  from ultralytics.data.explorer.explorer import Explorer
6
6
  from ultralytics.models import RTDETR, SAM, YOLO
@@ -10,4 +10,4 @@ from ultralytics.utils import SETTINGS as settings
10
10
  from ultralytics.utils.checks import check_yolo as checks
11
11
  from ultralytics.utils.downloads import download
12
12
 
13
- __all__ = '__version__', 'YOLO', 'NAS', 'SAM', 'FastSAM', 'RTDETR', 'checks', 'download', 'settings', 'Explorer'
13
+ __all__ = "__version__", "YOLO", "NAS", "SAM", "FastSAM", "RTDETR", "checks", "download", "settings", "Explorer"