ultralytics 8.3.75__tar.gz → 8.3.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.
Files changed (246) hide show
  1. {ultralytics-8.3.75/ultralytics.egg-info → ultralytics-8.3.76}/PKG-INFO +1 -1
  2. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/__init__.py +1 -1
  3. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/exporter.py +10 -10
  4. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/model.py +1 -0
  5. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/results.py +1 -1
  6. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/trainer.py +1 -1
  7. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/track.py +5 -7
  8. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/torch_utils.py +15 -8
  9. {ultralytics-8.3.75 → ultralytics-8.3.76/ultralytics.egg-info}/PKG-INFO +1 -1
  10. {ultralytics-8.3.75 → ultralytics-8.3.76}/LICENSE +0 -0
  11. {ultralytics-8.3.75 → ultralytics-8.3.76}/README.md +0 -0
  12. {ultralytics-8.3.75 → ultralytics-8.3.76}/pyproject.toml +0 -0
  13. {ultralytics-8.3.75 → ultralytics-8.3.76}/setup.cfg +0 -0
  14. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/__init__.py +0 -0
  15. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/conftest.py +0 -0
  16. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/test_cli.py +0 -0
  17. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/test_cuda.py +0 -0
  18. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/test_engine.py +0 -0
  19. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/test_exports.py +0 -0
  20. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/test_integrations.py +0 -0
  21. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/test_python.py +0 -0
  22. {ultralytics-8.3.75 → ultralytics-8.3.76}/tests/test_solutions.py +0 -0
  23. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/assets/bus.jpg +0 -0
  24. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/assets/zidane.jpg +0 -0
  25. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/__init__.py +0 -0
  26. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  27. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  28. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  29. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  30. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  31. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  32. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  33. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  34. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  35. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  36. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  37. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  38. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  39. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/coco.yaml +0 -0
  40. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  41. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  42. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  43. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  44. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  45. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  46. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  47. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  48. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  49. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  50. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  51. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  52. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  53. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/signature.yaml +0 -0
  54. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  55. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/datasets/xView.yaml +0 -0
  56. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/default.yaml +0 -0
  57. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  58. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  59. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  60. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  61. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  62. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  63. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  64. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  65. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  66. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  67. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  68. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  69. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  70. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  71. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  72. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  73. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  74. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  75. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  76. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  77. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  78. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  79. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  80. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  81. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  82. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  83. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  84. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  85. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  86. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  87. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  88. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  89. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  90. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  91. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  92. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  93. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  94. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  95. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  96. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  97. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  98. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  99. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  100. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  101. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  102. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  103. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/solutions/default.yaml +0 -0
  104. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  105. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  106. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/__init__.py +0 -0
  107. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/annotator.py +0 -0
  108. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/augment.py +0 -0
  109. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/base.py +0 -0
  110. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/build.py +0 -0
  111. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/converter.py +0 -0
  112. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/dataset.py +0 -0
  113. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/loaders.py +0 -0
  114. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/split_dota.py +0 -0
  115. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/data/utils.py +0 -0
  116. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/__init__.py +0 -0
  117. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/predictor.py +0 -0
  118. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/tuner.py +0 -0
  119. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/engine/validator.py +0 -0
  120. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/hub/__init__.py +0 -0
  121. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/hub/auth.py +0 -0
  122. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/hub/google/__init__.py +0 -0
  123. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/hub/session.py +0 -0
  124. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/hub/utils.py +0 -0
  125. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/__init__.py +0 -0
  126. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/fastsam/__init__.py +0 -0
  127. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/fastsam/model.py +0 -0
  128. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/fastsam/predict.py +0 -0
  129. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/fastsam/utils.py +0 -0
  130. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/fastsam/val.py +0 -0
  131. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/nas/__init__.py +0 -0
  132. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/nas/model.py +0 -0
  133. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/nas/predict.py +0 -0
  134. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/nas/val.py +0 -0
  135. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/rtdetr/__init__.py +0 -0
  136. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/rtdetr/model.py +0 -0
  137. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/rtdetr/predict.py +0 -0
  138. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/rtdetr/train.py +0 -0
  139. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/rtdetr/val.py +0 -0
  140. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/__init__.py +0 -0
  141. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/amg.py +0 -0
  142. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/build.py +0 -0
  143. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/model.py +0 -0
  144. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/__init__.py +0 -0
  145. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/blocks.py +0 -0
  146. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/decoders.py +0 -0
  147. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/encoders.py +0 -0
  148. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  149. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/sam.py +0 -0
  150. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  151. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/transformer.py +0 -0
  152. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/modules/utils.py +0 -0
  153. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/sam/predict.py +0 -0
  154. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/utils/__init__.py +0 -0
  155. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/utils/loss.py +0 -0
  156. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/utils/ops.py +0 -0
  157. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/__init__.py +0 -0
  158. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/classify/__init__.py +0 -0
  159. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/classify/predict.py +0 -0
  160. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/classify/train.py +0 -0
  161. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/classify/val.py +0 -0
  162. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/detect/__init__.py +0 -0
  163. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/detect/predict.py +0 -0
  164. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/detect/train.py +0 -0
  165. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/detect/val.py +0 -0
  166. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/model.py +0 -0
  167. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/obb/__init__.py +0 -0
  168. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/obb/predict.py +0 -0
  169. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/obb/train.py +0 -0
  170. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/obb/val.py +0 -0
  171. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/pose/__init__.py +0 -0
  172. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/pose/predict.py +0 -0
  173. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/pose/train.py +0 -0
  174. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/pose/val.py +0 -0
  175. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/segment/__init__.py +0 -0
  176. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/segment/predict.py +0 -0
  177. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/segment/train.py +0 -0
  178. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/segment/val.py +0 -0
  179. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/world/__init__.py +0 -0
  180. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/world/train.py +0 -0
  181. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/models/yolo/world/train_world.py +0 -0
  182. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/__init__.py +0 -0
  183. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/autobackend.py +0 -0
  184. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/modules/__init__.py +0 -0
  185. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/modules/activation.py +0 -0
  186. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/modules/block.py +0 -0
  187. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/modules/conv.py +0 -0
  188. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/modules/head.py +0 -0
  189. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/modules/transformer.py +0 -0
  190. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/modules/utils.py +0 -0
  191. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/nn/tasks.py +0 -0
  192. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/__init__.py +0 -0
  193. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/ai_gym.py +0 -0
  194. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/analytics.py +0 -0
  195. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/distance_calculation.py +0 -0
  196. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/heatmap.py +0 -0
  197. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/object_counter.py +0 -0
  198. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/parking_management.py +0 -0
  199. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/queue_management.py +0 -0
  200. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/region_counter.py +0 -0
  201. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/security_alarm.py +0 -0
  202. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/solutions.py +0 -0
  203. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/speed_estimation.py +0 -0
  204. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/streamlit_inference.py +0 -0
  205. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/solutions/trackzone.py +0 -0
  206. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/__init__.py +0 -0
  207. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/basetrack.py +0 -0
  208. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/bot_sort.py +0 -0
  209. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/byte_tracker.py +0 -0
  210. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/utils/__init__.py +0 -0
  211. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/utils/gmc.py +0 -0
  212. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  213. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/trackers/utils/matching.py +0 -0
  214. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/__init__.py +0 -0
  215. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/autobatch.py +0 -0
  216. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/benchmarks.py +0 -0
  217. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/__init__.py +0 -0
  218. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/base.py +0 -0
  219. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/clearml.py +0 -0
  220. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/comet.py +0 -0
  221. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/dvc.py +0 -0
  222. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/hub.py +0 -0
  223. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/mlflow.py +0 -0
  224. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/neptune.py +0 -0
  225. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/raytune.py +0 -0
  226. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  227. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/callbacks/wb.py +0 -0
  228. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/checks.py +0 -0
  229. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/dist.py +0 -0
  230. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/downloads.py +0 -0
  231. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/errors.py +0 -0
  232. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/files.py +0 -0
  233. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/instance.py +0 -0
  234. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/loss.py +0 -0
  235. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/metrics.py +0 -0
  236. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/ops.py +0 -0
  237. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/patches.py +0 -0
  238. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/plotting.py +0 -0
  239. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/tal.py +0 -0
  240. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/triton.py +0 -0
  241. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics/utils/tuner.py +0 -0
  242. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics.egg-info/SOURCES.txt +0 -0
  243. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics.egg-info/dependency_links.txt +0 -0
  244. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics.egg-info/entry_points.txt +0 -0
  245. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics.egg-info/requires.txt +0 -0
  246. {ultralytics-8.3.75 → ultralytics-8.3.76}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.75
3
+ Version: 8.3.76
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.75"
3
+ __version__ = "8.3.76"
4
4
 
5
5
  import os
6
6
 
@@ -1560,20 +1560,20 @@ class NMSModel(torch.nn.Module):
1560
1560
 
1561
1561
  preds = self.model(x)
1562
1562
  pred = preds[0] if isinstance(preds, tuple) else preds
1563
+ kwargs = dict(device=pred.device, dtype=pred.dtype)
1564
+ bs = pred.shape[0]
1563
1565
  pred = pred.transpose(-1, -2) # shape(1,84,6300) to shape(1,6300,84)
1564
1566
  extra_shape = pred.shape[-1] - (4 + len(self.model.names)) # extras from Segment, OBB, Pose
1567
+ if self.args.dynamic and self.args.batch > 1: # batch size needs to always be same due to loop unroll
1568
+ pad = torch.zeros(torch.max(torch.tensor(self.args.batch - bs), torch.tensor(0)), *pred.shape[1:], **kwargs)
1569
+ pred = torch.cat((pred, pad))
1565
1570
  boxes, scores, extras = pred.split([4, len(self.model.names), extra_shape], dim=2)
1566
1571
  scores, classes = scores.max(dim=-1)
1567
1572
  self.args.max_det = min(pred.shape[1], self.args.max_det) # in case num_anchors < max_det
1568
1573
  # (N, max_det, 4 coords + 1 class score + 1 class label + extra_shape).
1569
- out = torch.zeros(
1570
- boxes.shape[0],
1571
- self.args.max_det,
1572
- boxes.shape[-1] + 2 + extra_shape,
1573
- device=boxes.device,
1574
- dtype=boxes.dtype,
1575
- )
1576
- for i, (box, cls, score, extra) in enumerate(zip(boxes, classes, scores, extras)):
1574
+ out = torch.zeros(bs, self.args.max_det, boxes.shape[-1] + 2 + extra_shape, **kwargs)
1575
+ for i in range(bs):
1576
+ box, cls, score, extra = boxes[i], classes[i], scores[i], extras[i]
1577
1577
  mask = score > self.args.conf
1578
1578
  if self.is_tf:
1579
1579
  # TFLite GatherND error if mask is empty
@@ -1593,7 +1593,7 @@ class NMSModel(torch.nn.Module):
1593
1593
  if self.args.format == "tflite": # TFLite is already normalized
1594
1594
  nmsbox *= multiplier
1595
1595
  else:
1596
- nmsbox = multiplier * nmsbox / torch.tensor(x.shape[2:], device=box.device, dtype=box.dtype).max()
1596
+ nmsbox = multiplier * nmsbox / torch.tensor(x.shape[2:], **kwargs).max()
1597
1597
  if not self.args.agnostic_nms: # class-specific NMS
1598
1598
  end = 2 if self.obb else 4
1599
1599
  # fully explicit expansion otherwise reshape error
@@ -1624,4 +1624,4 @@ class NMSModel(torch.nn.Module):
1624
1624
  # Zero-pad to max_det size to avoid reshape error
1625
1625
  pad = (0, 0, 0, self.args.max_det - dets.shape[0])
1626
1626
  out[i] = torch.nn.functional.pad(dets, pad)
1627
- return (out, preds[1]) if self.model.task == "segment" else out
1627
+ return (out[:bs], preds[1]) if self.model.task == "segment" else out[:bs]
@@ -122,6 +122,7 @@ class Model(torch.nn.Module):
122
122
  self.metrics = None # validation/training metrics
123
123
  self.session = None # HUB session
124
124
  self.task = task # task type
125
+ self.model_name = None # model name
125
126
  model = str(model).strip()
126
127
 
127
128
  # Check if Ultralytics HUB model from https://hub.ultralytics.com
@@ -1016,7 +1016,7 @@ class Boxes(BaseTensor):
1016
1016
  xyxy (torch.Tensor | numpy.ndarray): Boxes in [x1, y1, x2, y2] format.
1017
1017
  conf (torch.Tensor | numpy.ndarray): Confidence scores for each box.
1018
1018
  cls (torch.Tensor | numpy.ndarray): Class labels for each box.
1019
- id (torch.Tensor | numpy.ndarray): Tracking IDs for each box (if available).
1019
+ id (torch.Tensor | None): Tracking IDs for each box (if available).
1020
1020
  xywh (torch.Tensor | numpy.ndarray): Boxes in [x, y, width, height] format.
1021
1021
  xyxyn (torch.Tensor | numpy.ndarray): Normalized [x1, y1, x2, y2] boxes relative to orig_shape.
1022
1022
  xywhn (torch.Tensor | numpy.ndarray): Normalized [x, y, width, height] boxes relative to orig_shape.
@@ -493,7 +493,7 @@ class BaseTrainer:
493
493
  memory = 0
494
494
  else:
495
495
  memory = torch.cuda.memory_reserved()
496
- return memory / 1e9
496
+ return memory / (2**30)
497
497
 
498
498
  def _clear_memory(self):
499
499
  """Clear accelerator memory on different platforms."""
@@ -66,25 +66,23 @@ def on_predict_postprocess_end(predictor: object, persist: bool = False) -> None
66
66
  >>> predictor = YourPredictorClass()
67
67
  >>> on_predict_postprocess_end(predictor, persist=True)
68
68
  """
69
- path, im0s = predictor.batch[:2]
70
-
71
69
  is_obb = predictor.args.task == "obb"
72
70
  is_stream = predictor.dataset.mode == "stream"
73
- for i in range(len(im0s)):
71
+ for i, result in enumerate(predictor.results):
74
72
  tracker = predictor.trackers[i if is_stream else 0]
75
- vid_path = predictor.save_dir / Path(path[i]).name
73
+ vid_path = predictor.save_dir / Path(result.path).name
76
74
  if not persist and predictor.vid_path[i if is_stream else 0] != vid_path:
77
75
  tracker.reset()
78
76
  predictor.vid_path[i if is_stream else 0] = vid_path
79
77
 
80
- det = (predictor.results[i].obb if is_obb else predictor.results[i].boxes).cpu().numpy()
78
+ det = (result.obb if is_obb else result.boxes).cpu().numpy()
81
79
  if len(det) == 0:
82
80
  continue
83
- tracks = tracker.update(det, im0s[i])
81
+ tracks = tracker.update(det, result.orig_img)
84
82
  if len(tracks) == 0:
85
83
  continue
86
84
  idx = tracks[:, -1].astype(int)
87
- predictor.results[i] = predictor.results[i][idx]
85
+ predictor.results[i] = result[idx]
88
86
 
89
87
  update_args = {"obb" if is_obb else "boxes": torch.as_tensor(tracks[:, :-1])}
90
88
  predictor.results[i].update(**update_args)
@@ -302,15 +302,22 @@ def model_info(model, detailed=False, verbose=True, imgsz=640):
302
302
  return
303
303
  n_p = get_num_params(model) # number of parameters
304
304
  n_g = get_num_gradients(model) # number of gradients
305
- n_l = len(list(model.modules())) # number of layers
305
+ layers = __import__("collections").OrderedDict((n, m) for n, m in model.named_modules() if len(m._modules) == 0)
306
+ n_l = len(layers) # number of layers
306
307
  if detailed:
307
- LOGGER.info(f"{'layer':>5}{'name':>40}{'gradient':>10}{'parameters':>12}{'shape':>20}{'mu':>10}{'sigma':>10}")
308
- for i, (name, p) in enumerate(model.named_parameters()):
309
- name = name.replace("module_list.", "")
310
- LOGGER.info(
311
- f"{i:>5g}{name:>40s}{p.requires_grad!r:>10}{p.numel():>12g}{str(list(p.shape)):>20s}"
312
- f"{p.mean():>10.3g}{p.std():>10.3g}{str(p.dtype):>15s}"
313
- )
308
+ h = f"{'layer':>5}{'name':>40}{'type':>20}{'gradient':>10}{'parameters':>12}{'shape':>20}{'mu':>10}{'sigma':>10}"
309
+ LOGGER.info(h)
310
+ for i, (mn, m) in enumerate(layers.items()):
311
+ mn = mn.replace("module_list.", "")
312
+ mt = m.__class__.__name__
313
+ if len(m._parameters):
314
+ for pn, p in m.named_parameters():
315
+ LOGGER.info(
316
+ f"{i:>5g}{mn + '.' + pn:>40}{mt:>20}{p.requires_grad!r:>10}{p.numel():>12g}"
317
+ f"{str(list(p.shape)):>20}{p.mean():>10.3g}{p.std():>10.3g}{str(p.dtype).replace('torch.', ''):>15}"
318
+ )
319
+ else: # layers with no learnable params
320
+ LOGGER.info(f"{i:>5g}{mn:>40}{mt:>20}{False!r:>10}{0:>12g}{str([]):>20}{'-':>10}{'-':>10}{'-':>15}")
314
321
 
315
322
  flops = get_flops(model, imgsz) # imgsz may be int or list, i.e. imgsz=640 or imgsz=[640, 320]
316
323
  fused = " (fused)" if getattr(model, "is_fused", lambda: False)() else ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ultralytics
3
- Version: 8.3.75
3
+ Version: 8.3.76
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