ultralytics 8.3.208__tar.gz → 8.3.210__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. {ultralytics-8.3.208 → ultralytics-8.3.210}/PKG-INFO +1 -1
  2. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/exporter.py +5 -2
  4. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/trainer.py +4 -3
  5. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/tuner.py +1 -1
  6. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/tasks.py +16 -0
  7. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/benchmarks.py +36 -22
  8. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics.egg-info/PKG-INFO +1 -1
  9. {ultralytics-8.3.208 → ultralytics-8.3.210}/LICENSE +0 -0
  10. {ultralytics-8.3.208 → ultralytics-8.3.210}/README.md +0 -0
  11. {ultralytics-8.3.208 → ultralytics-8.3.210}/pyproject.toml +0 -0
  12. {ultralytics-8.3.208 → ultralytics-8.3.210}/setup.cfg +0 -0
  13. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/__init__.py +0 -0
  14. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/conftest.py +0 -0
  15. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/test_cli.py +0 -0
  16. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/test_cuda.py +0 -0
  17. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/test_engine.py +0 -0
  18. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/test_exports.py +0 -0
  19. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/test_integrations.py +0 -0
  20. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/test_python.py +0 -0
  21. {ultralytics-8.3.208 → ultralytics-8.3.210}/tests/test_solutions.py +0 -0
  22. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/assets/bus.jpg +0 -0
  23. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/assets/zidane.jpg +0 -0
  24. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/__init__.py +0 -0
  25. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  26. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  27. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  28. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  29. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
  30. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  31. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  32. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  33. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  34. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  35. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  36. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  37. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  38. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  39. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco.yaml +0 -0
  40. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  41. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  42. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
  43. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  44. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  45. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  46. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  47. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/construction-ppe.yaml +0 -0
  48. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  49. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  50. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  51. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  52. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  53. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  54. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  55. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  56. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  57. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/signature.yaml +0 -0
  58. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  59. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/datasets/xView.yaml +0 -0
  60. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/default.yaml +0 -0
  61. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  62. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  63. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  64. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  65. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  66. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  67. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  68. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  69. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  70. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  71. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  72. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  73. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  74. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  75. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  76. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  77. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  78. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  79. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  80. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  81. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  82. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  83. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  84. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  85. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  86. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  87. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  88. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  89. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  90. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  91. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  92. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  93. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  94. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  95. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  96. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  97. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  98. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  99. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  100. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  101. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  102. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  103. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  104. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  105. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  106. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  107. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  108. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  109. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  110. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  111. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  112. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  113. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  114. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  115. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  116. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  117. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  118. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/__init__.py +0 -0
  119. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/annotator.py +0 -0
  120. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/augment.py +0 -0
  121. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/base.py +0 -0
  122. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/build.py +0 -0
  123. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/converter.py +0 -0
  124. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/dataset.py +0 -0
  125. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/loaders.py +0 -0
  126. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/scripts/download_weights.sh +0 -0
  127. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/scripts/get_coco.sh +0 -0
  128. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/scripts/get_coco128.sh +0 -0
  129. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  130. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/split.py +0 -0
  131. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/split_dota.py +0 -0
  132. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/data/utils.py +0 -0
  133. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/__init__.py +0 -0
  134. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/model.py +0 -0
  135. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/predictor.py +0 -0
  136. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/results.py +0 -0
  137. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/engine/validator.py +0 -0
  138. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/hub/__init__.py +0 -0
  139. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/hub/auth.py +0 -0
  140. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/hub/google/__init__.py +0 -0
  141. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/hub/session.py +0 -0
  142. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/hub/utils.py +0 -0
  143. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/__init__.py +0 -0
  144. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/fastsam/__init__.py +0 -0
  145. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/fastsam/model.py +0 -0
  146. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/fastsam/predict.py +0 -0
  147. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/fastsam/utils.py +0 -0
  148. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/fastsam/val.py +0 -0
  149. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/nas/__init__.py +0 -0
  150. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/nas/model.py +0 -0
  151. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/nas/predict.py +0 -0
  152. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/nas/val.py +0 -0
  153. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/rtdetr/__init__.py +0 -0
  154. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/rtdetr/model.py +0 -0
  155. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/rtdetr/predict.py +0 -0
  156. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/rtdetr/train.py +0 -0
  157. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/rtdetr/val.py +0 -0
  158. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/__init__.py +0 -0
  159. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/amg.py +0 -0
  160. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/build.py +0 -0
  161. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/model.py +0 -0
  162. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/__init__.py +0 -0
  163. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/blocks.py +0 -0
  164. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/decoders.py +0 -0
  165. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/encoders.py +0 -0
  166. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  167. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/sam.py +0 -0
  168. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  169. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/transformer.py +0 -0
  170. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/modules/utils.py +0 -0
  171. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/sam/predict.py +0 -0
  172. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/utils/__init__.py +0 -0
  173. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/utils/loss.py +0 -0
  174. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/utils/ops.py +0 -0
  175. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/__init__.py +0 -0
  176. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/classify/__init__.py +0 -0
  177. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/classify/predict.py +0 -0
  178. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/classify/train.py +0 -0
  179. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/classify/val.py +0 -0
  180. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/detect/__init__.py +0 -0
  181. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/detect/predict.py +0 -0
  182. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/detect/train.py +0 -0
  183. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/detect/val.py +0 -0
  184. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/model.py +0 -0
  185. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/obb/__init__.py +0 -0
  186. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/obb/predict.py +0 -0
  187. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/obb/train.py +0 -0
  188. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/obb/val.py +0 -0
  189. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/pose/__init__.py +0 -0
  190. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/pose/predict.py +0 -0
  191. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/pose/train.py +0 -0
  192. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/pose/val.py +0 -0
  193. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/segment/__init__.py +0 -0
  194. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/segment/predict.py +0 -0
  195. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/segment/train.py +0 -0
  196. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/segment/val.py +0 -0
  197. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/world/__init__.py +0 -0
  198. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/world/train.py +0 -0
  199. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/world/train_world.py +0 -0
  200. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  201. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  202. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/yoloe/train.py +0 -0
  203. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  204. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/models/yolo/yoloe/val.py +0 -0
  205. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/__init__.py +0 -0
  206. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/autobackend.py +0 -0
  207. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/modules/__init__.py +0 -0
  208. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/modules/activation.py +0 -0
  209. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/modules/block.py +0 -0
  210. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/modules/conv.py +0 -0
  211. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/modules/head.py +0 -0
  212. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/modules/transformer.py +0 -0
  213. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/modules/utils.py +0 -0
  214. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/nn/text_model.py +0 -0
  215. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/py.typed +0 -0
  216. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/__init__.py +0 -0
  217. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/ai_gym.py +0 -0
  218. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/analytics.py +0 -0
  219. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/config.py +0 -0
  220. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/distance_calculation.py +0 -0
  221. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/heatmap.py +0 -0
  222. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/instance_segmentation.py +0 -0
  223. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/object_blurrer.py +0 -0
  224. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/object_counter.py +0 -0
  225. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/object_cropper.py +0 -0
  226. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/parking_management.py +0 -0
  227. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/queue_management.py +0 -0
  228. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/region_counter.py +0 -0
  229. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/security_alarm.py +0 -0
  230. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/similarity_search.py +0 -0
  231. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/solutions.py +0 -0
  232. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/speed_estimation.py +0 -0
  233. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/streamlit_inference.py +0 -0
  234. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/templates/similarity-search.html +0 -0
  235. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/trackzone.py +0 -0
  236. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/solutions/vision_eye.py +0 -0
  237. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/__init__.py +0 -0
  238. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/basetrack.py +0 -0
  239. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/bot_sort.py +0 -0
  240. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/byte_tracker.py +0 -0
  241. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/track.py +0 -0
  242. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/utils/__init__.py +0 -0
  243. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/utils/gmc.py +0 -0
  244. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  245. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/trackers/utils/matching.py +0 -0
  246. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/__init__.py +0 -0
  247. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/autobatch.py +0 -0
  248. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/autodevice.py +0 -0
  249. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/__init__.py +0 -0
  250. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/base.py +0 -0
  251. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/clearml.py +0 -0
  252. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/comet.py +0 -0
  253. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/dvc.py +0 -0
  254. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/hub.py +0 -0
  255. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/mlflow.py +0 -0
  256. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/neptune.py +0 -0
  257. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/platform.py +0 -0
  258. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/raytune.py +0 -0
  259. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  260. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/callbacks/wb.py +0 -0
  261. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/checks.py +0 -0
  262. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/cpu.py +0 -0
  263. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/dist.py +0 -0
  264. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/downloads.py +0 -0
  265. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/errors.py +0 -0
  266. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/events.py +0 -0
  267. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/export/__init__.py +0 -0
  268. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/export/imx.py +0 -0
  269. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/files.py +0 -0
  270. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/git.py +0 -0
  271. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/instance.py +0 -0
  272. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/logger.py +0 -0
  273. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/loss.py +0 -0
  274. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/metrics.py +0 -0
  275. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/nms.py +0 -0
  276. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/ops.py +0 -0
  277. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/patches.py +0 -0
  278. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/plotting.py +0 -0
  279. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/tal.py +0 -0
  280. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/torch_utils.py +0 -0
  281. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/tqdm.py +0 -0
  282. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/triton.py +0 -0
  283. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics/utils/tuner.py +0 -0
  284. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics.egg-info/SOURCES.txt +0 -0
  285. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics.egg-info/dependency_links.txt +0 -0
  286. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics.egg-info/entry_points.txt +0 -0
  287. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics.egg-info/requires.txt +0 -0
  288. {ultralytics-8.3.208 → ultralytics-8.3.210}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.208
3
+ Version: 8.3.210
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.208"
3
+ __version__ = "8.3.210"
4
4
 
5
5
  import importlib
6
6
  import os
@@ -612,7 +612,7 @@ class Exporter:
612
612
  """Export YOLO model to ONNX format."""
613
613
  requirements = ["onnx>=1.12.0"]
614
614
  if self.args.simplify:
615
- requirements += ["onnxslim>=0.1.67", "onnxruntime" + ("-gpu" if torch.cuda.is_available() else "")]
615
+ requirements += ["onnxslim>=0.1.71", "onnxruntime" + ("-gpu" if torch.cuda.is_available() else "")]
616
616
  check_requirements(requirements)
617
617
  import onnx # noqa
618
618
 
@@ -1014,7 +1014,7 @@ class Exporter:
1014
1014
  "ai-edge-litert>=1.2.0" + (",<1.4.0" if MACOS else ""), # required by 'onnx2tf' package
1015
1015
  "onnx>=1.12.0",
1016
1016
  "onnx2tf>=1.26.3",
1017
- "onnxslim>=0.1.67",
1017
+ "onnxslim>=0.1.71",
1018
1018
  "onnxruntime-gpu" if cuda else "onnxruntime",
1019
1019
  "protobuf>=5",
1020
1020
  ),
@@ -1039,6 +1039,9 @@ class Exporter:
1039
1039
  attempt_download_asset(f"{onnx2tf_file}.zip", unzip=True, delete=True)
1040
1040
 
1041
1041
  # Export to ONNX
1042
+ if "rtdetr" in self.model.model[-1]._get_name().lower():
1043
+ self.args.opset = self.args.opset or 19
1044
+ assert 16 <= self.args.opset <= 19, "RTDETR export requires opset>=16;<=19"
1042
1045
  self.args.simplify = True
1043
1046
  f_onnx = self.export_onnx()
1044
1047
 
@@ -420,9 +420,10 @@ class BaseTrainer:
420
420
  self.loss = loss.sum()
421
421
  if RANK != -1:
422
422
  self.loss *= self.world_size
423
- self.tloss = (
424
- (self.tloss * i + self.loss_items) / (i + 1) if self.tloss is not None else self.loss_items
425
- )
423
+ if not self.loss.isfinite():
424
+ LOGGER.warning("Non-finite forward pass, skipping batch...")
425
+ continue
426
+ self.tloss = self.loss_items if self.tloss is None else (self.tloss * i + self.loss_items) / (i + 1)
426
427
 
427
428
  # Backward
428
429
  self.scaler.scale(self.loss).backward()
@@ -429,7 +429,7 @@ class Tuner:
429
429
  x = np.loadtxt(self.tune_csv, ndmin=2, delimiter=",", skiprows=1)
430
430
  fitness = x[:, 0] # first column
431
431
  best_idx = fitness.argmax()
432
- best_is_current = best_idx == (i - start)
432
+ best_is_current = best_idx == i
433
433
  if best_is_current:
434
434
  best_save_dir = str(save_dir)
435
435
  best_metrics = {k: round(v, 5) for k, v in metrics.items()}
@@ -743,6 +743,22 @@ class RTDETRDetectionModel(DetectionModel):
743
743
  """
744
744
  super().__init__(cfg=cfg, ch=ch, nc=nc, verbose=verbose)
745
745
 
746
+ def _apply(self, fn):
747
+ """
748
+ Apply a function to all tensors in the model that are not parameters or registered buffers.
749
+
750
+ Args:
751
+ fn (function): The function to apply to the model.
752
+
753
+ Returns:
754
+ (RTDETRDetectionModel): An updated BaseModel object.
755
+ """
756
+ self = super()._apply(fn)
757
+ m = self.model[-1]
758
+ m.anchors = fn(m.anchors)
759
+ m.valid_mask = fn(m.valid_mask)
760
+ return self
761
+
746
762
  def init_criterion(self):
747
763
  """Initialize the loss criterion for the RTDETRDetectionModel."""
748
764
  from ultralytics.models.utils.loss import RTDETRDetectionLoss
@@ -583,6 +583,11 @@ class ProfileModels:
583
583
  run_times = self.iterative_sigma_clipping(np.array(run_times), sigma=2, max_iters=3) # sigma clipping
584
584
  return np.mean(run_times), np.std(run_times)
585
585
 
586
+ @staticmethod
587
+ def check_dynamic(tensor_shape):
588
+ """Check whether the tensor shape in the ONNX model is dynamic."""
589
+ return not all(isinstance(dim, int) and dim >= 0 for dim in tensor_shape)
590
+
586
591
  def profile_onnx_model(self, onnx_file: str, eps: float = 1e-3):
587
592
  """
588
593
  Profile an ONNX model, measuring average inference time and standard deviation across multiple runs.
@@ -604,27 +609,36 @@ class ProfileModels:
604
609
  sess_options.intra_op_num_threads = 8 # Limit the number of threads
605
610
  sess = ort.InferenceSession(onnx_file, sess_options, providers=["CPUExecutionProvider"])
606
611
 
607
- input_tensor = sess.get_inputs()[0]
608
- input_type = input_tensor.type
609
- dynamic = not all(isinstance(dim, int) and dim >= 0 for dim in input_tensor.shape) # dynamic input shape
610
- input_shape = (1, 3, self.imgsz, self.imgsz) if dynamic else input_tensor.shape
611
-
612
- # Mapping ONNX datatype to numpy datatype
613
- if "float16" in input_type:
614
- input_dtype = np.float16
615
- elif "float" in input_type:
616
- input_dtype = np.float32
617
- elif "double" in input_type:
618
- input_dtype = np.float64
619
- elif "int64" in input_type:
620
- input_dtype = np.int64
621
- elif "int32" in input_type:
622
- input_dtype = np.int32
623
- else:
624
- raise ValueError(f"Unsupported ONNX datatype {input_type}")
612
+ input_data_dict = dict()
613
+ for input_tensor in sess.get_inputs():
614
+ input_type = input_tensor.type
615
+ if self.check_dynamic(input_tensor.shape):
616
+ if len(input_tensor.shape) != 4 and self.check_dynamic(input_tensor.shape[1:]):
617
+ raise ValueError(f"Unsupported dynamic shape {input_tensor.shape} of {input_tensor.name}")
618
+ input_shape = (
619
+ (1, 3, self.imgsz, self.imgsz) if len(input_tensor.shape) == 4 else (1, *input_tensor.shape[1:])
620
+ )
621
+ else:
622
+ input_shape = input_tensor.shape
623
+
624
+ # Mapping ONNX datatype to numpy datatype
625
+ if "float16" in input_type:
626
+ input_dtype = np.float16
627
+ elif "float" in input_type:
628
+ input_dtype = np.float32
629
+ elif "double" in input_type:
630
+ input_dtype = np.float64
631
+ elif "int64" in input_type:
632
+ input_dtype = np.int64
633
+ elif "int32" in input_type:
634
+ input_dtype = np.int32
635
+ else:
636
+ raise ValueError(f"Unsupported ONNX datatype {input_type}")
637
+
638
+ input_data = np.random.rand(*input_shape).astype(input_dtype)
639
+ input_name = input_tensor.name
640
+ input_data_dict.update({input_name: input_data})
625
641
 
626
- input_data = np.random.rand(*input_shape).astype(input_dtype)
627
- input_name = input_tensor.name
628
642
  output_name = sess.get_outputs()[0].name
629
643
 
630
644
  # Warmup runs
@@ -632,7 +646,7 @@ class ProfileModels:
632
646
  for _ in range(3):
633
647
  start_time = time.time()
634
648
  for _ in range(self.num_warmup_runs):
635
- sess.run([output_name], {input_name: input_data})
649
+ sess.run([output_name], input_data_dict)
636
650
  elapsed = time.time() - start_time
637
651
 
638
652
  # Compute number of runs as higher of min_time or num_timed_runs
@@ -642,7 +656,7 @@ class ProfileModels:
642
656
  run_times = []
643
657
  for _ in TQDM(range(num_runs), desc=onnx_file):
644
658
  start_time = time.time()
645
- sess.run([output_name], {input_name: input_data})
659
+ sess.run([output_name], input_data_dict)
646
660
  run_times.append((time.time() - start_time) * 1000) # Convert to milliseconds
647
661
 
648
662
  run_times = self.iterative_sigma_clipping(np.array(run_times), sigma=2, max_iters=5) # sigma clipping
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.208
3
+ Version: 8.3.210
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
File without changes
File without changes
File without changes