ultralytics-opencv-headless 8.4.0__tar.gz → 8.4.1__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 (315) hide show
  1. {ultralytics_opencv_headless-8.4.0/ultralytics_opencv_headless.egg-info → ultralytics_opencv_headless-8.4.1}/PKG-INFO +14 -14
  2. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/README.md +13 -13
  3. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/test_engine.py +2 -2
  4. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/test_exports.py +3 -1
  5. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/__init__.py +1 -1
  6. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yolo26-cls.yaml +2 -2
  7. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yolo26-obb.yaml +2 -2
  8. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yolo26-p2.yaml +11 -11
  9. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yolo26-p6.yaml +8 -6
  10. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yolo26-pose.yaml +2 -2
  11. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yolo26-seg.yaml +2 -2
  12. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yolo26.yaml +1 -1
  13. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yoloe-26-seg.yaml +10 -10
  14. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/26/yoloe-26.yaml +10 -10
  15. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/exporter.py +3 -5
  16. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/autobackend.py +0 -4
  17. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/modules/block.py +1 -0
  18. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/modules/head.py +5 -33
  19. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/tasks.py +2 -2
  20. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/benchmarks.py +0 -1
  21. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/export/tensorflow.py +40 -0
  22. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/loss.py +7 -4
  23. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1/ultralytics_opencv_headless.egg-info}/PKG-INFO +14 -14
  24. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/LICENSE +0 -0
  25. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/pyproject.toml +0 -0
  26. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/setup.cfg +0 -0
  27. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/__init__.py +0 -0
  28. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/conftest.py +0 -0
  29. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/test_cli.py +0 -0
  30. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/test_cuda.py +0 -0
  31. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/test_integrations.py +0 -0
  32. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/test_python.py +0 -0
  33. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/tests/test_solutions.py +0 -0
  34. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/assets/bus.jpg +0 -0
  35. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/assets/zidane.jpg +0 -0
  36. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/__init__.py +0 -0
  37. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  38. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  39. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  40. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  41. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
  42. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  43. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  44. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  45. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/TT100K.yaml +0 -0
  46. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  47. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  48. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  49. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  50. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  51. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  52. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco.yaml +0 -0
  53. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  54. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  55. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
  56. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  57. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  58. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  59. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  60. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/construction-ppe.yaml +0 -0
  61. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  62. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  63. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  64. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  65. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  66. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/kitti.yaml +0 -0
  67. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  68. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  69. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  70. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  71. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/signature.yaml +0 -0
  72. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  73. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/datasets/xView.yaml +0 -0
  74. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/default.yaml +0 -0
  75. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  76. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  77. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  78. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  79. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  80. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  81. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  82. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  83. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  84. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  85. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  86. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  87. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  88. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  89. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  90. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  91. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  92. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  93. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  94. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  95. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  96. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  97. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  98. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  99. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  100. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  101. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  102. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  103. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  104. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  105. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  106. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  107. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  108. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  109. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  110. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  111. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  112. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  113. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  114. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  115. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  116. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  117. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  118. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  119. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  120. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  121. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  122. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  123. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  124. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  125. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  126. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  127. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  128. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  129. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  130. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  131. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  132. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/__init__.py +0 -0
  133. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/annotator.py +0 -0
  134. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/augment.py +0 -0
  135. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/base.py +0 -0
  136. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/build.py +0 -0
  137. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/converter.py +0 -0
  138. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/dataset.py +0 -0
  139. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/loaders.py +0 -0
  140. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/scripts/download_weights.sh +0 -0
  141. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/scripts/get_coco.sh +0 -0
  142. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/scripts/get_coco128.sh +0 -0
  143. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  144. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/split.py +0 -0
  145. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/split_dota.py +0 -0
  146. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/data/utils.py +0 -0
  147. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/__init__.py +0 -0
  148. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/model.py +0 -0
  149. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/predictor.py +0 -0
  150. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/results.py +0 -0
  151. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/trainer.py +0 -0
  152. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/tuner.py +0 -0
  153. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/engine/validator.py +0 -0
  154. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/hub/__init__.py +0 -0
  155. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/hub/auth.py +0 -0
  156. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/hub/google/__init__.py +0 -0
  157. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/hub/session.py +0 -0
  158. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/hub/utils.py +0 -0
  159. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/__init__.py +0 -0
  160. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/fastsam/__init__.py +0 -0
  161. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/fastsam/model.py +0 -0
  162. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/fastsam/predict.py +0 -0
  163. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/fastsam/utils.py +0 -0
  164. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/fastsam/val.py +0 -0
  165. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/nas/__init__.py +0 -0
  166. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/nas/model.py +0 -0
  167. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/nas/predict.py +0 -0
  168. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/nas/val.py +0 -0
  169. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/rtdetr/__init__.py +0 -0
  170. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/rtdetr/model.py +0 -0
  171. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/rtdetr/predict.py +0 -0
  172. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/rtdetr/train.py +0 -0
  173. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/rtdetr/val.py +0 -0
  174. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/__init__.py +0 -0
  175. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/amg.py +0 -0
  176. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/build.py +0 -0
  177. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/build_sam3.py +0 -0
  178. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/model.py +0 -0
  179. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/__init__.py +0 -0
  180. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/blocks.py +0 -0
  181. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/decoders.py +0 -0
  182. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/encoders.py +0 -0
  183. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  184. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/sam.py +0 -0
  185. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  186. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/transformer.py +0 -0
  187. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/modules/utils.py +0 -0
  188. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/predict.py +0 -0
  189. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/__init__.py +0 -0
  190. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/decoder.py +0 -0
  191. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/encoder.py +0 -0
  192. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/geometry_encoders.py +0 -0
  193. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/maskformer_segmentation.py +0 -0
  194. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/model_misc.py +0 -0
  195. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/necks.py +0 -0
  196. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/sam3_image.py +0 -0
  197. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/text_encoder_ve.py +0 -0
  198. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/vitdet.py +0 -0
  199. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/sam/sam3/vl_combiner.py +0 -0
  200. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/utils/__init__.py +0 -0
  201. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/utils/loss.py +0 -0
  202. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/utils/ops.py +0 -0
  203. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/__init__.py +0 -0
  204. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/classify/__init__.py +0 -0
  205. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/classify/predict.py +0 -0
  206. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/classify/train.py +0 -0
  207. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/classify/val.py +0 -0
  208. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/detect/__init__.py +0 -0
  209. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/detect/predict.py +0 -0
  210. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/detect/train.py +0 -0
  211. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/detect/val.py +0 -0
  212. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/model.py +0 -0
  213. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/obb/__init__.py +0 -0
  214. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/obb/predict.py +0 -0
  215. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/obb/train.py +0 -0
  216. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/obb/val.py +0 -0
  217. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/pose/__init__.py +0 -0
  218. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/pose/predict.py +0 -0
  219. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/pose/train.py +0 -0
  220. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/pose/val.py +0 -0
  221. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/segment/__init__.py +0 -0
  222. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/segment/predict.py +0 -0
  223. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/segment/train.py +0 -0
  224. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/segment/val.py +0 -0
  225. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/world/__init__.py +0 -0
  226. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/world/train.py +0 -0
  227. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/world/train_world.py +0 -0
  228. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  229. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  230. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/yoloe/train.py +0 -0
  231. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  232. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/models/yolo/yoloe/val.py +0 -0
  233. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/__init__.py +0 -0
  234. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/modules/__init__.py +0 -0
  235. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/modules/activation.py +0 -0
  236. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/modules/conv.py +0 -0
  237. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/modules/transformer.py +0 -0
  238. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/modules/utils.py +0 -0
  239. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/nn/text_model.py +0 -0
  240. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/optim/__init__.py +0 -0
  241. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/optim/muon.py +0 -0
  242. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/py.typed +0 -0
  243. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/__init__.py +0 -0
  244. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/ai_gym.py +0 -0
  245. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/analytics.py +0 -0
  246. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/config.py +0 -0
  247. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/distance_calculation.py +0 -0
  248. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/heatmap.py +0 -0
  249. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/instance_segmentation.py +0 -0
  250. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/object_blurrer.py +0 -0
  251. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/object_counter.py +0 -0
  252. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/object_cropper.py +0 -0
  253. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/parking_management.py +0 -0
  254. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/queue_management.py +0 -0
  255. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/region_counter.py +0 -0
  256. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/security_alarm.py +0 -0
  257. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/similarity_search.py +0 -0
  258. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/solutions.py +0 -0
  259. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/speed_estimation.py +0 -0
  260. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/streamlit_inference.py +0 -0
  261. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/templates/similarity-search.html +0 -0
  262. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/trackzone.py +0 -0
  263. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/solutions/vision_eye.py +0 -0
  264. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/__init__.py +0 -0
  265. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/basetrack.py +0 -0
  266. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/bot_sort.py +0 -0
  267. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/byte_tracker.py +0 -0
  268. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/track.py +0 -0
  269. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/utils/__init__.py +0 -0
  270. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/utils/gmc.py +0 -0
  271. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  272. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/trackers/utils/matching.py +0 -0
  273. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/__init__.py +0 -0
  274. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/autobatch.py +0 -0
  275. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/autodevice.py +0 -0
  276. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/__init__.py +0 -0
  277. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/base.py +0 -0
  278. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/clearml.py +0 -0
  279. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/comet.py +0 -0
  280. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/dvc.py +0 -0
  281. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/hub.py +0 -0
  282. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/mlflow.py +0 -0
  283. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/neptune.py +0 -0
  284. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/platform.py +0 -0
  285. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/raytune.py +0 -0
  286. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  287. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/callbacks/wb.py +0 -0
  288. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/checks.py +0 -0
  289. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/cpu.py +0 -0
  290. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/dist.py +0 -0
  291. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/downloads.py +0 -0
  292. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/errors.py +0 -0
  293. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/events.py +0 -0
  294. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/export/__init__.py +0 -0
  295. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/export/engine.py +0 -0
  296. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/export/imx.py +0 -0
  297. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/files.py +0 -0
  298. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/git.py +0 -0
  299. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/instance.py +0 -0
  300. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/logger.py +0 -0
  301. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/metrics.py +0 -0
  302. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/nms.py +0 -0
  303. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/ops.py +0 -0
  304. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/patches.py +0 -0
  305. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/plotting.py +0 -0
  306. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/tal.py +0 -0
  307. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/torch_utils.py +0 -0
  308. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/tqdm.py +0 -0
  309. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/triton.py +0 -0
  310. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics/utils/tuner.py +0 -0
  311. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics_opencv_headless.egg-info/SOURCES.txt +0 -0
  312. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics_opencv_headless.egg-info/dependency_links.txt +0 -0
  313. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics_opencv_headless.egg-info/entry_points.txt +0 -0
  314. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics_opencv_headless.egg-info/requires.txt +0 -0
  315. {ultralytics_opencv_headless-8.4.0 → ultralytics_opencv_headless-8.4.1}/ultralytics_opencv_headless.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics-opencv-headless
3
- Version: 8.4.0
3
+ Version: 8.4.1
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>
@@ -237,11 +237,11 @@ Refer to the [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) fo
237
237
 
238
238
  | Model | size<br><sup>(pixels) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
239
239
  | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
240
- | [YOLO26n-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-seg.pt) | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.8 | 9.1 |
241
- | [YOLO26s-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-seg.pt) | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.7 | 34.2 |
242
- | [YOLO26m-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-seg.pt) | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 24.8 | 121.5 |
243
- | [YOLO26l-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-seg.pt) | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 29.2 | 139.8 |
244
- | [YOLO26x-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-seg.pt) | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 65.5 | 313.5 |
240
+ | [YOLO26n-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-seg.pt) | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.7 | 9.1 |
241
+ | [YOLO26s-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-seg.pt) | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.2 |
242
+ | [YOLO26m-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-seg.pt) | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.5 |
243
+ | [YOLO26l-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-seg.pt) | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 139.8 |
244
+ | [YOLO26x-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-seg.pt) | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 313.5 |
245
245
 
246
246
  - **mAP<sup>val</sup>** values are for single-model single-scale on the [COCO val2017](https://cocodataset.org/) dataset. See [YOLO Performance Metrics](https://docs.ultralytics.com/guides/yolo-performance-metrics/) for details. <br>Reproduce with `yolo val segment data=coco.yaml device=0`
247
247
  - **Speed** metrics are averaged over COCO val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce with `yolo val segment data=coco.yaml batch=1 device=0|cpu`
@@ -271,11 +271,11 @@ See the [Pose Estimation Docs](https://docs.ultralytics.com/tasks/pose/) for usa
271
271
 
272
272
  | Model | size<br><sup>(pixels) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
273
273
  | ---------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
274
- | [YOLO26n-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-pose.pt) | 640 | 56.9 | 83.0 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
275
- | [YOLO26s-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-pose.pt) | 640 | 63.1 | 86.8 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
276
- | [YOLO26m-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-pose.pt) | 640 | 68.8 | 89.9 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
277
- | [YOLO26l-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-pose.pt) | 640 | 70.4 | 90.8 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
278
- | [YOLO26x-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-pose.pt) | 640 | 71.7 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
274
+ | [YOLO26n-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-pose.pt) | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
275
+ | [YOLO26s-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-pose.pt) | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
276
+ | [YOLO26m-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-pose.pt) | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
277
+ | [YOLO26l-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-pose.pt) | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
278
+ | [YOLO26x-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-pose.pt) | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
279
279
 
280
280
  - **mAP<sup>val</sup>** values are for single-model single-scale on the [COCO Keypoints val2017](https://docs.ultralytics.com/datasets/pose/coco/) dataset. See [YOLO Performance Metrics](https://docs.ultralytics.com/guides/yolo-performance-metrics/) for details. <br>Reproduce with `yolo val pose data=coco-pose.yaml device=0`
281
281
  - **Speed** metrics are averaged over COCO val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce with `yolo val pose data=coco-pose.yaml batch=1 device=0|cpu`
@@ -289,10 +289,10 @@ Check the [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples
289
289
  | Model | size<br><sup>(pixels) | mAP<sup>test<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
290
290
  | -------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
291
291
  | [YOLO26n-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-obb.pt) | 1024 | 78.9 | 97.7 ± 0.9 | 2.8 ± 0.0 | 2.5 | 14.0 |
292
- | [YOLO26s-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-obb.pt) | 1024 | 79.8 | 218.0 ± 1.4 | 4.9 ± 0.1 | 9.8 | 55.1 |
292
+ | [YOLO26s-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-obb.pt) | 1024 | 80.9 | 218.0 ± 1.4 | 4.9 ± 0.1 | 9.8 | 55.1 |
293
293
  | [YOLO26m-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-obb.pt) | 1024 | 81.0 | 579.2 ± 3.8 | 10.2 ± 0.3 | 21.2 | 183.3 |
294
- | [YOLO26l-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-obb.pt) | 1024 | 81.4 | 735.6 ± 3.1 | 13.0 ± 0.2 | 25.6 | 230.0 |
295
- | [YOLO26x-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-obb.pt) | 1024 | 82.1 | 1485.7 ± 11.5 | 30.5 ± 0.9 | 57.6 | 516.5 |
294
+ | [YOLO26l-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-obb.pt) | 1024 | 81.6 | 735.6 ± 3.1 | 13.0 ± 0.2 | 25.6 | 230.0 |
295
+ | [YOLO26x-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-obb.pt) | 1024 | 81.7 | 1485.7 ± 11.5 | 30.5 ± 0.9 | 57.6 | 516.5 |
296
296
 
297
297
  - **mAP<sup>test</sup>** values are for single-model multiscale performance on the [DOTAv1 test set](https://captain-whu.github.io/DOTA/dataset.html). <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test` and submit merged results to the [DOTA evaluation server](https://captain-whu.github.io/DOTA/evaluation.html).
298
298
  - **Speed** metrics are averaged over [DOTAv1 val images](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10) using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce by `yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu`
@@ -148,11 +148,11 @@ Refer to the [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) fo
148
148
 
149
149
  | Model | size<br><sup>(pixels) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
150
150
  | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
151
- | [YOLO26n-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-seg.pt) | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.8 | 9.1 |
152
- | [YOLO26s-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-seg.pt) | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.7 | 34.2 |
153
- | [YOLO26m-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-seg.pt) | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 24.8 | 121.5 |
154
- | [YOLO26l-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-seg.pt) | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 29.2 | 139.8 |
155
- | [YOLO26x-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-seg.pt) | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 65.5 | 313.5 |
151
+ | [YOLO26n-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-seg.pt) | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.7 | 9.1 |
152
+ | [YOLO26s-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-seg.pt) | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.2 |
153
+ | [YOLO26m-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-seg.pt) | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.5 |
154
+ | [YOLO26l-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-seg.pt) | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 139.8 |
155
+ | [YOLO26x-seg](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-seg.pt) | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 313.5 |
156
156
 
157
157
  - **mAP<sup>val</sup>** values are for single-model single-scale on the [COCO val2017](https://cocodataset.org/) dataset. See [YOLO Performance Metrics](https://docs.ultralytics.com/guides/yolo-performance-metrics/) for details. <br>Reproduce with `yolo val segment data=coco.yaml device=0`
158
158
  - **Speed** metrics are averaged over COCO val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce with `yolo val segment data=coco.yaml batch=1 device=0|cpu`
@@ -182,11 +182,11 @@ See the [Pose Estimation Docs](https://docs.ultralytics.com/tasks/pose/) for usa
182
182
 
183
183
  | Model | size<br><sup>(pixels) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
184
184
  | ---------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
185
- | [YOLO26n-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-pose.pt) | 640 | 56.9 | 83.0 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
186
- | [YOLO26s-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-pose.pt) | 640 | 63.1 | 86.8 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
187
- | [YOLO26m-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-pose.pt) | 640 | 68.8 | 89.9 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
188
- | [YOLO26l-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-pose.pt) | 640 | 70.4 | 90.8 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
189
- | [YOLO26x-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-pose.pt) | 640 | 71.7 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
185
+ | [YOLO26n-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-pose.pt) | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
186
+ | [YOLO26s-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-pose.pt) | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
187
+ | [YOLO26m-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-pose.pt) | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
188
+ | [YOLO26l-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-pose.pt) | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
189
+ | [YOLO26x-pose](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-pose.pt) | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
190
190
 
191
191
  - **mAP<sup>val</sup>** values are for single-model single-scale on the [COCO Keypoints val2017](https://docs.ultralytics.com/datasets/pose/coco/) dataset. See [YOLO Performance Metrics](https://docs.ultralytics.com/guides/yolo-performance-metrics/) for details. <br>Reproduce with `yolo val pose data=coco-pose.yaml device=0`
192
192
  - **Speed** metrics are averaged over COCO val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce with `yolo val pose data=coco-pose.yaml batch=1 device=0|cpu`
@@ -200,10 +200,10 @@ Check the [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples
200
200
  | Model | size<br><sup>(pixels) | mAP<sup>test<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>T4 TensorRT10<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
201
201
  | -------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
202
202
  | [YOLO26n-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n-obb.pt) | 1024 | 78.9 | 97.7 ± 0.9 | 2.8 ± 0.0 | 2.5 | 14.0 |
203
- | [YOLO26s-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-obb.pt) | 1024 | 79.8 | 218.0 ± 1.4 | 4.9 ± 0.1 | 9.8 | 55.1 |
203
+ | [YOLO26s-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s-obb.pt) | 1024 | 80.9 | 218.0 ± 1.4 | 4.9 ± 0.1 | 9.8 | 55.1 |
204
204
  | [YOLO26m-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26m-obb.pt) | 1024 | 81.0 | 579.2 ± 3.8 | 10.2 ± 0.3 | 21.2 | 183.3 |
205
- | [YOLO26l-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-obb.pt) | 1024 | 81.4 | 735.6 ± 3.1 | 13.0 ± 0.2 | 25.6 | 230.0 |
206
- | [YOLO26x-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-obb.pt) | 1024 | 82.1 | 1485.7 ± 11.5 | 30.5 ± 0.9 | 57.6 | 516.5 |
205
+ | [YOLO26l-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26l-obb.pt) | 1024 | 81.6 | 735.6 ± 3.1 | 13.0 ± 0.2 | 25.6 | 230.0 |
206
+ | [YOLO26x-obb](https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26x-obb.pt) | 1024 | 81.7 | 1485.7 ± 11.5 | 30.5 ± 0.9 | 57.6 | 516.5 |
207
207
 
208
208
  - **mAP<sup>test</sup>** values are for single-model multiscale performance on the [DOTAv1 test set](https://captain-whu.github.io/DOTA/dataset.html). <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test` and submit merged results to the [DOTA evaluation server](https://captain-whu.github.io/DOTA/evaluation.html).
209
209
  - **Speed** metrics are averaged over [DOTAv1 val images](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10) using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. CPU speeds measured with [ONNX](https://onnx.ai/) export. GPU speeds measured with [TensorRT](https://developer.nvidia.com/tensorrt) export. <br>Reproduce by `yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu`
@@ -5,7 +5,7 @@ from unittest import mock
5
5
 
6
6
  import torch
7
7
 
8
- from tests import MODEL
8
+ from tests import MODEL, SOURCE
9
9
  from ultralytics import YOLO
10
10
  from ultralytics.cfg import get_cfg
11
11
  from ultralytics.engine.exporter import Exporter
@@ -24,7 +24,7 @@ def test_export():
24
24
  exporter.add_callback("on_export_start", test_func)
25
25
  assert test_func in exporter.callbacks["on_export_start"], "callback test failed"
26
26
  f = exporter(model=YOLO("yolo26n.yaml").model)
27
- YOLO(f)(ASSETS) # exported model inference
27
+ YOLO(f)(SOURCE) # exported model inference
28
28
 
29
29
 
30
30
  def test_detect():
@@ -144,7 +144,9 @@ def test_export_coreml_matrix(task, dynamic, int8, half, nms, batch):
144
144
 
145
145
 
146
146
  @pytest.mark.slow
147
- @pytest.mark.skipif(not checks.IS_PYTHON_MINIMUM_3_10, reason="TFLite export requires Python>=3.10")
147
+ @pytest.mark.skipif(
148
+ not checks.IS_PYTHON_MINIMUM_3_10 or not TORCH_1_13, reason="TFLite export requires Python>=3.10 and torch>=1.13"
149
+ )
148
150
  @pytest.mark.skipif(
149
151
  not LINUX or IS_RASPBERRYPI,
150
152
  reason="Test disabled as TF suffers from install conflicts on Windows, macOS and Raspberry Pi",
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.4.0"
3
+ __version__ = "8.4.1"
4
4
 
5
5
  import importlib
6
6
  import os
@@ -1,12 +1,12 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs
3
+ # Ultralytics YOLO26-cls image classification model
4
4
  # Model docs: https://docs.ultralytics.com/models/yolo26
5
5
  # Task docs: https://docs.ultralytics.com/tasks/classify
6
6
 
7
7
  # Parameters
8
8
  nc: 1000 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=yolo26n-cls.yaml' will call yolo26-cls.yaml with scale 'n'
10
10
  # [depth, width, max_channels]
11
11
  n: [0.50, 0.25, 1024] # summary: 86 layers, 2,812,104 parameters, 2,812,104 gradients, 0.5 GFLOPs
12
12
  s: [0.50, 0.50, 1024] # summary: 86 layers, 6,724,008 parameters, 6,724,008 gradients, 1.6 GFLOPs
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs
3
+ # Ultralytics YOLO26-obb Oriented Bounding Boxes (OBB) model with P3/8 - P5/32 outputs
4
4
  # Model docs: https://docs.ultralytics.com/models/yolo26
5
5
  # Task docs: https://docs.ultralytics.com/tasks/obb
6
6
 
@@ -8,7 +8,7 @@
8
8
  nc: 80 # number of classes
9
9
  end2end: True # whether to use end-to-end mode
10
10
  reg_max: 1 # DFL bins
11
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
11
+ scales: # model compound scaling constants, i.e. 'model=yolo26n-obb.yaml' will call yolo26-obb.yaml with scale 'n'
12
12
  # [depth, width, max_channels]
13
13
  n: [0.50, 0.25, 1024] # summary: 291 layers, 2,715,614 parameters, 2,715,614 gradients, 16.9 GFLOPs
14
14
  s: [0.50, 0.50, 1024] # summary: 291 layers, 10,582,142 parameters, 10,582,142 gradients, 63.5 GFLOPs
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs
3
+ # Ultralytics YOLO26 object detection model with P2/4 - P5/32 outputs
4
4
  # Model docs: https://docs.ultralytics.com/models/yolo26
5
5
  # Task docs: https://docs.ultralytics.com/tasks/detect
6
6
 
@@ -8,13 +8,13 @@
8
8
  nc: 80 # number of classes
9
9
  end2end: True # whether to use end-to-end mode
10
10
  reg_max: 1 # DFL bins
11
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
11
+ scales: # model compound scaling constants, i.e. 'model=yolo26n-p2.yaml' will call yolo26-p2.yaml with scale 'n'
12
12
  # [depth, width, max_channels]
13
- n: [0.50, 0.25, 1024] # summary: 181 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPs
14
- s: [0.50, 0.50, 1024] # summary: 181 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs
15
- m: [0.50, 1.00, 512] # summary: 231 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPs
16
- l: [1.00, 1.00, 512] # summary: 357 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPs
17
- x: [1.00, 1.50, 512] # summary: 357 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs
13
+ n: [0.50, 0.25, 1024] # summary: 329 layers, 2,662,400 parameters, 2,662,400 gradients, 9.5 GFLOPs
14
+ s: [0.50, 0.50, 1024] # summary: 329 layers, 9,765,856 parameters, 9,765,856 gradients, 27.8 GFLOPs
15
+ m: [0.50, 1.00, 512] # summary: 349 layers, 21,144,288 parameters, 21,144,288 gradients, 91.4 GFLOPs
16
+ l: [1.00, 1.00, 512] # summary: 489 layers, 25,815,520 parameters, 25,815,520 gradients, 115.3 GFLOPs
17
+ x: [1.00, 1.50, 512] # summary: 489 layers, 57,935,232 parameters, 57,935,232 gradients, 256.9 GFLOPs
18
18
 
19
19
  # YOLO26n backbone
20
20
  backbone:
@@ -42,12 +42,12 @@ head:
42
42
  - [-1, 2, C3k2, [256, True]] # 16 (P3/8-small)
43
43
 
44
44
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
45
- - [[-1, 2], 1, Concat, [1]] # cat backbone P3
46
- - [-1, 2, C3k2, [128, True]] # 19 (P3/8-small)
45
+ - [[-1, 2], 1, Concat, [1]] # cat backbone P2
46
+ - [-1, 2, C3k2, [128, True]] # 19 (P2/4-xsmall)
47
47
 
48
48
  - [-1, 1, Conv, [128, 3, 2]]
49
49
  - [[-1, 16], 1, Concat, [1]] # cat head P3
50
- - [-1, 2, C3k2, [256, True]] # 22 (P4/16-medium)
50
+ - [-1, 2, C3k2, [256, True]] # 22 (P3/8-small)
51
51
 
52
52
  - [-1, 1, Conv, [256, 3, 2]]
53
53
  - [[-1, 13], 1, Concat, [1]] # cat head P4
@@ -57,4 +57,4 @@ head:
57
57
  - [[-1, 10], 1, Concat, [1]] # cat head P5
58
58
  - [-1, 1, C3k2, [1024, True, 0.5, True]] # 28 (P5/32-large)
59
59
 
60
- - [[19, 22, 25, 28], 1, Detect, [nc]] # Detect(P3, P4, P5)
60
+ - [[19, 22, 25, 28], 1, Detect, [nc]] # Detect(P2, P3, P4, P5)
@@ -6,13 +6,15 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
9
+ end2end: True # whether to use end-to-end mode
10
+ reg_max: 1 # DFL bins
11
+ scales: # model compound scaling constants, i.e. 'model=yolo26n-p6.yaml' will call yolo26-p6.yaml with scale 'n'
10
12
  # [depth, width, max_channels]
11
- n: [0.50, 0.25, 1024] # summary: 319 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPs
12
- s: [0.50, 0.50, 1024] # summary: 319 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs
13
- m: [0.50, 1.00, 512] # summary: 409 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPs
14
- l: [1.00, 1.00, 512] # summary: 631 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPs
15
- x: [1.00, 1.50, 512] # summary: 631 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs
13
+ n: [0.50, 0.25, 1024] # summary: 349 layers, 4,063,872 parameters, 4,063,872 gradients, 6.0 GFLOPs
14
+ s: [0.50, 0.50, 1024] # summary: 349 layers, 15,876,448 parameters, 15,876,448 gradients, 22.3 GFLOPs
15
+ m: [0.50, 1.00, 512] # summary: 369 layers, 32,400,096 parameters, 32,400,096 gradients, 77.3 GFLOPs
16
+ l: [1.00, 1.00, 512] # summary: 523 layers, 39,365,600 parameters, 39,365,600 gradients, 97.0 GFLOPs
17
+ x: [1.00, 1.50, 512] # summary: 523 layers, 88,330,368 parameters, 88,330,368 gradients, 216.6 GFLOPs
16
18
 
17
19
  # YOLO26n backbone
18
20
  backbone:
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs
3
+ # Ultralytics YOLO26-pose keypoints/pose estimation model with P3/8 - P5/32 outputs
4
4
  # Model docs: https://docs.ultralytics.com/models/yolo26
5
5
  # Task docs: https://docs.ultralytics.com/tasks/pose
6
6
 
@@ -9,7 +9,7 @@ nc: 80 # number of classes
9
9
  end2end: True # whether to use end-to-end mode
10
10
  reg_max: 1 # DFL bins
11
11
  kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
12
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
12
+ scales: # model compound scaling constants, i.e. 'model=yolo26n-pose.yaml' will call yolo26-pose.yaml with scale 'n'
13
13
  # [depth, width, max_channels]
14
14
  n: [0.50, 0.25, 1024] # summary: 363 layers, 3,747,554 parameters, 3,747,554 gradients, 10.7 GFLOPs
15
15
  s: [0.50, 0.50, 1024] # summary: 363 layers, 11,870,498 parameters, 11,870,498 gradients, 29.6 GFLOPs
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs
3
+ # Ultralytics YOLO26-seg instance segmentation model with P3/8 - P5/32 outputs
4
4
  # Model docs: https://docs.ultralytics.com/models/yolo26
5
5
  # Task docs: https://docs.ultralytics.com/tasks/segment
6
6
 
@@ -8,7 +8,7 @@
8
8
  nc: 80 # number of classes
9
9
  end2end: True # whether to use end-to-end mode
10
10
  reg_max: 1 # DFL bins
11
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
11
+ scales: # model compound scaling constants, i.e. 'model=yolo26n-seg.yaml' will call yolo26-seg.yaml with scale 'n'
12
12
  # [depth, width, max_channels]
13
13
  n: [0.50, 0.25, 1024] # summary: 309 layers, 3,126,280 parameters, 3,126,280 gradients, 10.5 GFLOPs
14
14
  s: [0.50, 0.50, 1024] # summary: 309 layers, 11,505,800 parameters, 11,505,800 gradients, 37.4 GFLOPs
@@ -8,7 +8,7 @@
8
8
  nc: 80 # number of classes
9
9
  end2end: True # whether to use end-to-end mode
10
10
  reg_max: 1 # DFL bins
11
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
11
+ scales: # model compound scaling constants, i.e. 'model=yolo26n.yaml' will call yolo26.yaml with scale 'n'
12
12
  # [depth, width, max_channels]
13
13
  n: [0.50, 0.25, 1024] # summary: 260 layers, 2,572,280 parameters, 2,572,280 gradients, 6.1 GFLOPs
14
14
  s: [0.50, 0.50, 1024] # summary: 260 layers, 10,009,784 parameters, 10,009,784 gradients, 22.8 GFLOPs
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs
3
+ # Ultralytics YOLOE-26 open-vocabulary instance segmentation model with P3/8 - P5/32 outputs
4
4
  # Model docs: https://docs.ultralytics.com/models/yolo26
5
5
  # Task docs: https://docs.ultralytics.com/tasks/segment
6
6
 
@@ -9,15 +9,15 @@ nc: 80 # number of classes
9
9
  end2end: True # whether to use end-to-end mode
10
10
  reg_max: 1 # DFL bins
11
11
  text_model: mobileclip2:b
12
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
12
+ scales: # model compound scaling constants, i.e. 'model=yoloe-26n-seg.yaml' will call yoloe-26-seg.yaml with scale 'n'
13
13
  # [depth, width, max_channels]
14
- n: [0.50, 0.25, 1024] # summary: 181 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPs
15
- s: [0.50, 0.50, 1024] # summary: 181 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs
16
- m: [0.50, 1.00, 512] # summary: 231 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPs
17
- l: [1.00, 1.00, 512] # summary: 357 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPs
18
- x: [1.00, 1.50, 512] # summary: 357 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs
14
+ n: [0.50, 0.25, 1024] # summary: 347 layers, 5,615,540 parameters, 5,615,540 gradients, 11.7 GFLOPs
15
+ s: [0.50, 0.50, 1024] # summary: 347 layers, 15,272,852 parameters, 15,272,852 gradients, 39.3 GFLOPs
16
+ m: [0.50, 1.00, 512] # summary: 367 layers, 34,922,132 parameters, 34,922,132 gradients, 136.3 GFLOPs
17
+ l: [1.00, 1.00, 512] # summary: 479 layers, 39,325,588 parameters, 39,325,588 gradients, 154.7 GFLOPs
18
+ x: [1.00, 1.50, 512] # summary: 479 layers, 85,397,684 parameters, 85,397,684 gradients, 343.3 GFLOPs
19
19
 
20
- # YOLO26n backbone
20
+ # YOLOE26n backbone
21
21
  backbone:
22
22
  # [from, repeats, module, args]
23
23
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
@@ -32,7 +32,7 @@ backbone:
32
32
  - [-1, 1, SPPF, [1024, 5, 3, True]] # 9
33
33
  - [-1, 2, C2PSA, [1024]] # 10
34
34
 
35
- # YOLO26n head
35
+ # YOLOE26n head
36
36
  head:
37
37
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
38
38
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -50,4 +50,4 @@ head:
50
50
  - [[-1, 10], 1, Concat, [1]] # cat head P5
51
51
  - [-1, 1, C3k2, [1024, True, 0.5, True]] # 22 (P5/32-large)
52
52
 
53
- - [[16, 19, 22], 1, YOLOESegment26, [nc, 32, 256, 512, True]] # Detect(P3, P4, P5)
53
+ - [[16, 19, 22], 1, YOLOESegment26, [nc, 32, 256, 512, True]] # YOLOESegment26(P3, P4, P5)
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs
3
+ # Ultralytics YOLOE-26 open-vocabulary object detection model with P3/8 - P5/32 outputs
4
4
  # Model docs: https://docs.ultralytics.com/models/yolo26
5
5
  # Task docs: https://docs.ultralytics.com/tasks/detect
6
6
 
@@ -9,15 +9,15 @@ nc: 80 # number of classes
9
9
  end2end: True # whether to use end-to-end mode
10
10
  reg_max: 1 # DFL bins
11
11
  text_model: mobileclip2:b
12
- scales: # model compound scaling constants, i.e. 'model=YOLO26n.yaml' will call YOLO26.yaml with scale 'n'
12
+ scales: # model compound scaling constants, i.e. 'model=yoloe-26n.yaml' will call yoloe-26.yaml with scale 'n'
13
13
  # [depth, width, max_channels]
14
- n: [0.50, 0.25, 1024] # summary: 181 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPs
15
- s: [0.50, 0.50, 1024] # summary: 181 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPs
16
- m: [0.50, 1.00, 512] # summary: 231 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPs
17
- l: [1.00, 1.00, 512] # summary: 357 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPs
18
- x: [1.00, 1.50, 512] # summary: 357 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs
14
+ n: [0.50, 0.25, 1024] # summary: 298 layers, 5,061,540 parameters, 5,061,540 gradients, 7.3 GFLOPs
15
+ s: [0.50, 0.50, 1024] # summary: 298 layers, 13,776,836 parameters, 13,776,836 gradients, 24.8 GFLOPs
16
+ m: [0.50, 1.00, 512] # summary: 318 layers, 29,706,308 parameters, 29,706,308 gradients, 79.2 GFLOPs
17
+ l: [1.00, 1.00, 512] # summary: 430 layers, 34,109,764 parameters, 34,109,764 gradients, 97.6 GFLOPs
18
+ x: [1.00, 1.50, 512] # summary: 430 layers, 73,697,252 parameters, 73,697,252 gradients, 215.2 GFLOPs
19
19
 
20
- # YOLO26n backbone
20
+ # YOLOE26n backbone
21
21
  backbone:
22
22
  # [from, repeats, module, args]
23
23
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
@@ -32,7 +32,7 @@ backbone:
32
32
  - [-1, 1, SPPF, [1024, 5, 3, True]] # 9
33
33
  - [-1, 2, C2PSA, [1024]] # 10
34
34
 
35
- # YOLO26n head
35
+ # YOLOE26n head
36
36
  head:
37
37
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
38
38
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -50,4 +50,4 @@ head:
50
50
  - [[-1, 10], 1, Concat, [1]] # cat head P5
51
51
  - [-1, 1, C3k2, [1024, True, 0.5, True]] # 22 (P5/32-large)
52
52
 
53
- - [[16, 19, 22], 1, YOLOEDetect, [nc, 512, True]] # Detect(P3, P4, P5)
53
+ - [[16, 19, 22], 1, YOLOEDetect, [nc, 512, True]] # YOLOEDetect(P3, P4, P5)
@@ -463,6 +463,9 @@ class Exporter:
463
463
  )
464
464
  if tfjs and (ARM64 and LINUX):
465
465
  raise SystemError("TF.js exports are not currently supported on ARM64 Linux")
466
+ if ncnn and hasattr(model.model[-1], "one2one_cv2"):
467
+ del model.model[-1].one2one_cv2 # Disable end2end branch for NCNN export as it does not support topk
468
+ LOGGER.warning("NCNN export does not support end2end models, disabling end2end branch.")
466
469
  # Recommend OpenVINO if export and Intel CPU
467
470
  if SETTINGS.get("openvino_msg"):
468
471
  if is_intel():
@@ -791,7 +794,6 @@ class Exporter:
791
794
  f".*{head_module_name}/.*/Sub*",
792
795
  f".*{head_module_name}/.*/Mul*",
793
796
  f".*{head_module_name}/.*/Div*",
794
- f".*{head_module_name}\\.dfl.*",
795
797
  ],
796
798
  types=["Sigmoid"],
797
799
  )
@@ -864,10 +866,6 @@ class Exporter:
864
866
  @try_export
865
867
  def export_ncnn(self, prefix=colorstr("NCNN:")):
866
868
  """Export YOLO model to NCNN format using PNNX https://github.com/pnnx/pnnx."""
867
- if ARM64:
868
- raise NotImplementedError(
869
- "NCNN export is not supported on ARM64"
870
- ) # https://github.com/Tencent/ncnn/issues/6509
871
869
  check_requirements("ncnn", cmds="--no-deps") # no deps to avoid installing opencv-python
872
870
  check_requirements("pnnx")
873
871
  import ncnn
@@ -546,10 +546,6 @@ class AutoBackend(nn.Module):
546
546
  # NCNN
547
547
  elif ncnn:
548
548
  LOGGER.info(f"Loading {w} for NCNN inference...")
549
- if ARM64:
550
- raise NotImplementedError(
551
- "NCNN inference is not supported on ARM64"
552
- ) # https://github.com/Tencent/ncnn/issues/6509
553
549
  check_requirements("ncnn", cmds="--no-deps")
554
550
  import ncnn as pyncnn
555
551
 
@@ -2011,6 +2011,7 @@ class RealNVP(nn.Module):
2011
2011
 
2012
2012
  References:
2013
2013
  https://arxiv.org/abs/1605.08803
2014
+ https://github.com/open-mmlab/mmpose/blob/main/mmpose/models/utils/realnvp.py
2014
2015
  """
2015
2016
 
2016
2017
  @staticmethod
@@ -174,17 +174,7 @@ class Detect(nn.Module):
174
174
  self.anchors, self.strides = (a.transpose(0, 1) for a in make_anchors(x["feats"], self.stride, 0.5))
175
175
  self.shape = shape
176
176
 
177
- boxes = x["boxes"]
178
- if self.export and self.format in {"tflite", "edgetpu"}:
179
- # Precompute normalization factor to increase numerical stability
180
- # See https://github.com/ultralytics/ultralytics/issues/7371
181
- grid_h = shape[2]
182
- grid_w = shape[3]
183
- grid_size = torch.tensor([grid_w, grid_h, grid_w, grid_h], device=boxes.device).reshape(1, 4, 1)
184
- norm = self.strides / (self.stride[0] * grid_size)
185
- dbox = self.decode_bboxes(self.dfl(boxes) * norm, self.anchors.unsqueeze(0) * norm[:, :2])
186
- else:
187
- dbox = self.decode_bboxes(self.dfl(boxes), self.anchors.unsqueeze(0)) * self.strides
177
+ dbox = self.decode_bboxes(self.dfl(x["boxes"]), self.anchors.unsqueeze(0)) * self.strides
188
178
  return dbox
189
179
 
190
180
  def bias_init(self):
@@ -636,14 +626,7 @@ class Pose(Detect):
636
626
  bs = kpts.shape[0]
637
627
  if self.export:
638
628
  y = kpts.view(bs, *self.kpt_shape, -1)
639
- if self.format in {"tflite", "edgetpu"}:
640
- # Precompute normalization factor to increase numerical stability
641
- grid_h, grid_w = self.shape[2], self.shape[3]
642
- grid_size = torch.tensor([grid_w, grid_h], device=y.device).reshape(1, 2, 1)
643
- norm = self.strides / (self.stride[0] * grid_size)
644
- a = (y[:, :, :2] * 2.0 + (self.anchors - 0.5)) * norm
645
- else:
646
- a = (y[:, :, :2] * 2.0 + (self.anchors - 0.5)) * self.strides
629
+ a = (y[:, :, :2] * 2.0 + (self.anchors - 0.5)) * self.strides
647
630
  if ndim == 3:
648
631
  a = torch.cat((a, y[:, :, 2:3].sigmoid()), 2)
649
632
  return a.view(bs, self.nk, -1)
@@ -758,20 +741,9 @@ class Pose26(Pose):
758
741
  ndim = self.kpt_shape[1]
759
742
  bs = kpts.shape[0]
760
743
  if self.export:
761
- if self.format in {
762
- "tflite",
763
- "edgetpu",
764
- }: # required for TFLite export to avoid 'PLACEHOLDER_FOR_GREATER_OP_CODES' bug
765
- # Precompute normalization factor to increase numerical stability
766
- y = kpts.view(bs, *self.kpt_shape, -1)
767
- grid_h, grid_w = self.shape[2], self.shape[3]
768
- grid_size = torch.tensor([grid_w, grid_h], device=y.device).reshape(1, 2, 1)
769
- norm = self.strides / (self.stride[0] * grid_size)
770
- a = (y[:, :, :2] + self.anchors) * norm
771
- else:
772
- # NCNN fix
773
- y = kpts.view(bs, *self.kpt_shape, -1)
774
- a = (y[:, :, :2] + self.anchors) * self.strides
744
+ y = kpts.view(bs, *self.kpt_shape, -1)
745
+ # NCNN fix
746
+ a = (y[:, :, :2] + self.anchors) * self.strides
775
747
  if ndim == 3:
776
748
  a = torch.cat((a, y[:, :, 2:3].sigmoid()), 2)
777
749
  return a.view(bs, self.nk, -1)
@@ -228,7 +228,7 @@ class BaseModel(torch.nn.Module):
228
228
  Returns:
229
229
  (torch.nn.Module): The fused model is returned.
230
230
  """
231
- if True:
231
+ if not self.is_fused():
232
232
  for m in self.model.modules():
233
233
  if isinstance(m, (Conv, Conv2, DWConv)) and hasattr(m, "bn"):
234
234
  if isinstance(m, Conv2):
@@ -1297,7 +1297,7 @@ class Ensemble(torch.nn.ModuleList):
1297
1297
  y = [module(x, augment, profile, visualize)[0] for module in self]
1298
1298
  # y = torch.stack(y).max(0)[0] # max ensemble
1299
1299
  # y = torch.stack(y).mean(0) # mean ensemble
1300
- y = torch.cat(y, 2) # nms ensemble, y shape(B, HW, C)
1300
+ y = torch.cat(y, 2) # nms ensemble, y shape(B, HW, C*num_models)
1301
1301
  return y, None # inference, train output
1302
1302
 
1303
1303
 
@@ -141,7 +141,6 @@ def benchmark(
141
141
  assert not isinstance(model, YOLOWorld), "YOLOWorldv2 MNN exports not supported yet"
142
142
  if format == "ncnn":
143
143
  assert not isinstance(model, YOLOWorld), "YOLOWorldv2 NCNN exports not supported yet"
144
- assert not ARM64, "NCNN not supported on ARM64" # https://github.com/Tencent/ncnn/issues/6509
145
144
  if format == "imx":
146
145
  assert not is_end2end
147
146
  assert not isinstance(model, YOLOWorld), "YOLOWorldv2 IMX exports not supported"