dgenerate-ultralytics-headless 8.3.155__tar.gz → 8.3.156__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 (278) hide show
  1. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/PKG-INFO +1 -1
  2. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/dgenerate_ultralytics_headless.egg-info/PKG-INFO +1 -1
  3. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/__init__.py +1 -1
  4. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/build.py +3 -1
  5. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/exporter.py +3 -28
  6. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/classify/train.py +2 -3
  7. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/detect/train.py +4 -1
  8. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/export.py +7 -2
  9. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/patches.py +48 -1
  10. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/LICENSE +0 -0
  11. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/README.md +0 -0
  12. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/dgenerate_ultralytics_headless.egg-info/SOURCES.txt +0 -0
  13. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/dgenerate_ultralytics_headless.egg-info/dependency_links.txt +0 -0
  14. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/dgenerate_ultralytics_headless.egg-info/entry_points.txt +0 -0
  15. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/dgenerate_ultralytics_headless.egg-info/requires.txt +0 -0
  16. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/dgenerate_ultralytics_headless.egg-info/top_level.txt +0 -0
  17. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/pyproject.toml +0 -0
  18. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/setup.cfg +0 -0
  19. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/__init__.py +0 -0
  20. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/conftest.py +0 -0
  21. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/test_cli.py +0 -0
  22. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/test_cuda.py +0 -0
  23. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/test_engine.py +0 -0
  24. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/test_exports.py +0 -0
  25. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/test_integrations.py +0 -0
  26. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/test_python.py +0 -0
  27. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/tests/test_solutions.py +0 -0
  28. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/assets/bus.jpg +0 -0
  29. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/assets/zidane.jpg +0 -0
  30. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/__init__.py +0 -0
  31. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  32. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  33. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  34. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  35. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
  36. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  37. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  38. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  39. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  40. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  41. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  42. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  43. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  44. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  45. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco.yaml +0 -0
  46. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  47. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  48. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
  49. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  50. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  51. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  52. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  53. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  54. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  55. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  56. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  57. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  58. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  59. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  60. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  61. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  62. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/signature.yaml +0 -0
  63. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  64. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/datasets/xView.yaml +0 -0
  65. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/default.yaml +0 -0
  66. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  67. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  68. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  69. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  70. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  71. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  72. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  73. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  74. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  75. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  76. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  77. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  78. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  79. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  80. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  81. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  82. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  83. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  84. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  85. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  86. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  87. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  88. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  89. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  90. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  91. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  92. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  93. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  94. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  95. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  96. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  97. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  98. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  99. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  100. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  101. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  102. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  103. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  104. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  105. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  106. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  107. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  108. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  109. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  110. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  111. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  112. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  113. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  114. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  115. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  116. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  117. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  118. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  119. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  120. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  121. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  122. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  123. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/__init__.py +0 -0
  124. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/annotator.py +0 -0
  125. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/augment.py +0 -0
  126. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/base.py +0 -0
  127. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/converter.py +0 -0
  128. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/dataset.py +0 -0
  129. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/loaders.py +0 -0
  130. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/scripts/download_weights.sh +0 -0
  131. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/scripts/get_coco.sh +0 -0
  132. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/scripts/get_coco128.sh +0 -0
  133. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  134. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/split.py +0 -0
  135. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/split_dota.py +0 -0
  136. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/data/utils.py +0 -0
  137. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/__init__.py +0 -0
  138. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/model.py +0 -0
  139. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/predictor.py +0 -0
  140. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/results.py +0 -0
  141. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/trainer.py +0 -0
  142. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/tuner.py +0 -0
  143. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/engine/validator.py +0 -0
  144. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/hub/__init__.py +0 -0
  145. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/hub/auth.py +0 -0
  146. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/hub/google/__init__.py +0 -0
  147. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/hub/session.py +0 -0
  148. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/hub/utils.py +0 -0
  149. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/__init__.py +0 -0
  150. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/fastsam/__init__.py +0 -0
  151. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/fastsam/model.py +0 -0
  152. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/fastsam/predict.py +0 -0
  153. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/fastsam/utils.py +0 -0
  154. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/fastsam/val.py +0 -0
  155. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/nas/__init__.py +0 -0
  156. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/nas/model.py +0 -0
  157. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/nas/predict.py +0 -0
  158. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/nas/val.py +0 -0
  159. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/rtdetr/__init__.py +0 -0
  160. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/rtdetr/model.py +0 -0
  161. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/rtdetr/predict.py +0 -0
  162. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/rtdetr/train.py +0 -0
  163. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/rtdetr/val.py +0 -0
  164. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/__init__.py +0 -0
  165. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/amg.py +0 -0
  166. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/build.py +0 -0
  167. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/model.py +0 -0
  168. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/__init__.py +0 -0
  169. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/blocks.py +0 -0
  170. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/decoders.py +0 -0
  171. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/encoders.py +0 -0
  172. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  173. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/sam.py +0 -0
  174. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  175. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/transformer.py +0 -0
  176. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/modules/utils.py +0 -0
  177. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/sam/predict.py +0 -0
  178. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/utils/__init__.py +0 -0
  179. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/utils/loss.py +0 -0
  180. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/utils/ops.py +0 -0
  181. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/__init__.py +0 -0
  182. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/classify/__init__.py +0 -0
  183. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/classify/predict.py +0 -0
  184. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/classify/val.py +0 -0
  185. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/detect/__init__.py +0 -0
  186. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/detect/predict.py +0 -0
  187. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/detect/val.py +0 -0
  188. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/model.py +0 -0
  189. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/obb/__init__.py +0 -0
  190. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/obb/predict.py +0 -0
  191. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/obb/train.py +0 -0
  192. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/obb/val.py +0 -0
  193. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/pose/__init__.py +0 -0
  194. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/pose/predict.py +0 -0
  195. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/pose/train.py +0 -0
  196. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/pose/val.py +0 -0
  197. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/segment/__init__.py +0 -0
  198. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/segment/predict.py +0 -0
  199. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/segment/train.py +0 -0
  200. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/segment/val.py +0 -0
  201. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/world/__init__.py +0 -0
  202. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/world/train.py +0 -0
  203. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/world/train_world.py +0 -0
  204. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  205. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  206. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/yoloe/train.py +0 -0
  207. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  208. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/models/yolo/yoloe/val.py +0 -0
  209. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/__init__.py +0 -0
  210. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/autobackend.py +0 -0
  211. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/modules/__init__.py +0 -0
  212. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/modules/activation.py +0 -0
  213. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/modules/block.py +0 -0
  214. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/modules/conv.py +0 -0
  215. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/modules/head.py +0 -0
  216. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/modules/transformer.py +0 -0
  217. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/modules/utils.py +0 -0
  218. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/tasks.py +0 -0
  219. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/nn/text_model.py +0 -0
  220. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/__init__.py +0 -0
  221. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/ai_gym.py +0 -0
  222. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/analytics.py +0 -0
  223. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/config.py +0 -0
  224. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/distance_calculation.py +0 -0
  225. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/heatmap.py +0 -0
  226. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/instance_segmentation.py +0 -0
  227. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/object_blurrer.py +0 -0
  228. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/object_counter.py +0 -0
  229. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/object_cropper.py +0 -0
  230. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/parking_management.py +0 -0
  231. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/queue_management.py +0 -0
  232. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/region_counter.py +0 -0
  233. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/security_alarm.py +0 -0
  234. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/similarity_search.py +0 -0
  235. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/solutions.py +0 -0
  236. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/speed_estimation.py +0 -0
  237. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/streamlit_inference.py +0 -0
  238. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/templates/similarity-search.html +0 -0
  239. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/trackzone.py +0 -0
  240. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/solutions/vision_eye.py +0 -0
  241. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/__init__.py +0 -0
  242. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/basetrack.py +0 -0
  243. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/bot_sort.py +0 -0
  244. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/byte_tracker.py +0 -0
  245. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/track.py +0 -0
  246. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/utils/__init__.py +0 -0
  247. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/utils/gmc.py +0 -0
  248. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  249. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/trackers/utils/matching.py +0 -0
  250. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/__init__.py +0 -0
  251. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/autobatch.py +0 -0
  252. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/autodevice.py +0 -0
  253. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/benchmarks.py +0 -0
  254. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/__init__.py +0 -0
  255. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/base.py +0 -0
  256. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/clearml.py +0 -0
  257. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/comet.py +0 -0
  258. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/dvc.py +0 -0
  259. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/hub.py +0 -0
  260. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/mlflow.py +0 -0
  261. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/neptune.py +0 -0
  262. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/raytune.py +0 -0
  263. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  264. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/callbacks/wb.py +0 -0
  265. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/checks.py +0 -0
  266. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/dist.py +0 -0
  267. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/downloads.py +0 -0
  268. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/errors.py +0 -0
  269. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/files.py +0 -0
  270. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/instance.py +0 -0
  271. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/loss.py +0 -0
  272. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/metrics.py +0 -0
  273. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/ops.py +0 -0
  274. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/plotting.py +0 -0
  275. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/tal.py +0 -0
  276. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/torch_utils.py +0 -0
  277. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/triton.py +0 -0
  278. {dgenerate_ultralytics_headless-8.3.155 → dgenerate_ultralytics_headless-8.3.156}/ultralytics/utils/tuner.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dgenerate-ultralytics-headless
3
- Version: 8.3.155
3
+ Version: 8.3.156
4
4
  Summary: Automatically built Ultralytics package with python-opencv-headless dependency instead of python-opencv
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
  Metadata-Version: 2.4
2
2
  Name: dgenerate-ultralytics-headless
3
- Version: 8.3.155
3
+ Version: 8.3.156
4
4
  Summary: Automatically built Ultralytics package with python-opencv-headless dependency instead of python-opencv
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.155"
3
+ __version__ = "8.3.156"
4
4
 
5
5
  import os
6
6
 
@@ -154,7 +154,7 @@ def build_grounding(cfg, img_path, json_file, batch, mode="train", rect=False, s
154
154
  )
155
155
 
156
156
 
157
- def build_dataloader(dataset, batch: int, workers: int, shuffle: bool = True, rank: int = -1):
157
+ def build_dataloader(dataset, batch: int, workers: int, shuffle: bool = True, rank: int = -1, drop_last: bool = False):
158
158
  """
159
159
  Create and return an InfiniteDataLoader or DataLoader for training or validation.
160
160
 
@@ -164,6 +164,7 @@ def build_dataloader(dataset, batch: int, workers: int, shuffle: bool = True, ra
164
164
  workers (int): Number of worker threads for loading data.
165
165
  shuffle (bool, optional): Whether to shuffle the dataset.
166
166
  rank (int, optional): Process rank in distributed training. -1 for single-GPU training.
167
+ drop_last (bool, optional): Whether to drop the last incomplete batch.
167
168
 
168
169
  Returns:
169
170
  (InfiniteDataLoader): A dataloader that can be used for training or validation.
@@ -189,6 +190,7 @@ def build_dataloader(dataset, batch: int, workers: int, shuffle: bool = True, ra
189
190
  collate_fn=getattr(dataset, "collate_fn", None),
190
191
  worker_init_fn=seed_worker,
191
192
  generator=generator,
193
+ drop_last=drop_last,
192
194
  )
193
195
 
194
196
 
@@ -62,7 +62,6 @@ import shutil
62
62
  import subprocess
63
63
  import time
64
64
  import warnings
65
- from contextlib import contextmanager
66
65
  from copy import deepcopy
67
66
  from datetime import datetime
68
67
  from pathlib import Path
@@ -107,6 +106,7 @@ from ultralytics.utils.downloads import attempt_download_asset, get_github_asset
107
106
  from ultralytics.utils.export import export_engine, export_onnx
108
107
  from ultralytics.utils.files import file_size, spaces_in_path
109
108
  from ultralytics.utils.ops import Profile, nms_rotated
109
+ from ultralytics.utils.patches import arange_patch
110
110
  from ultralytics.utils.torch_utils import TORCH_1_13, get_cpu_info, get_latest_opset, select_device
111
111
 
112
112
 
@@ -199,27 +199,6 @@ def try_export(inner_func):
199
199
  return outer_func
200
200
 
201
201
 
202
- @contextmanager
203
- def arange_patch(args):
204
- """
205
- Workaround for ONNX torch.arange incompatibility with FP16.
206
-
207
- https://github.com/pytorch/pytorch/issues/148041.
208
- """
209
- if args.dynamic and args.half and args.format == "onnx":
210
- func = torch.arange
211
-
212
- def arange(*args, dtype=None, **kwargs):
213
- """Return a 1-D tensor of size with values from the interval and common difference."""
214
- return func(*args, **kwargs).to(dtype) # cast to dtype instead of passing dtype
215
-
216
- torch.arange = arange # patch
217
- yield
218
- torch.arange = func # unpatch
219
- else:
220
- yield
221
-
222
-
223
202
  class Exporter:
224
203
  """
225
204
  A class for exporting YOLO models to various formats.
@@ -345,8 +324,6 @@ class Exporter:
345
324
  LOGGER.warning("half=True only compatible with GPU export, i.e. use device=0")
346
325
  self.args.half = False
347
326
  self.imgsz = check_imgsz(self.args.imgsz, stride=model.stride, min_dim=2) # check image size
348
- if self.args.int8 and engine:
349
- self.args.dynamic = True # enforce dynamic to export TensorRT INT8
350
327
  if self.args.optimize:
351
328
  assert not ncnn, "optimize=True not compatible with format='ncnn', i.e. use optimize=False"
352
329
  assert self.device.type == "cpu", "optimize=True not compatible with cuda devices, i.e. use device='cpu'"
@@ -555,8 +532,6 @@ class Exporter:
555
532
  """Build and return a dataloader for calibration of INT8 models."""
556
533
  LOGGER.info(f"{prefix} collecting INT8 calibration images from 'data={self.args.data}'")
557
534
  data = (check_cls_dataset if self.model.task == "classify" else check_det_dataset)(self.args.data)
558
- # TensorRT INT8 calibration should use 2x batch size
559
- batch = self.args.batch * (2 if self.args.format == "engine" else 1)
560
535
  dataset = YOLODataset(
561
536
  data[self.args.split or "val"],
562
537
  data=data,
@@ -564,7 +539,7 @@ class Exporter:
564
539
  task=self.model.task,
565
540
  imgsz=self.imgsz[0],
566
541
  augment=False,
567
- batch_size=batch,
542
+ batch_size=self.args.batch,
568
543
  )
569
544
  n = len(dataset)
570
545
  if n < self.args.batch:
@@ -574,7 +549,7 @@ class Exporter:
574
549
  )
575
550
  elif n < 300:
576
551
  LOGGER.warning(f"{prefix} >300 images recommended for INT8 calibration, found {n} images.")
577
- return build_dataloader(dataset, batch=batch, workers=0) # required for batch loading
552
+ return build_dataloader(dataset, batch=self.args.batch, workers=0, drop_last=True) # required for batch loading
578
553
 
579
554
  @try_export
580
555
  def export_torchscript(self, prefix=colorstr("TorchScript:")):
@@ -228,10 +228,9 @@ class ClassificationTrainer(BaseTrainer):
228
228
  batch (Dict[str, torch.Tensor]): Batch containing images and class labels.
229
229
  ni (int): Number of iterations.
230
230
  """
231
+ batch["batch_idx"] = torch.arange(len(batch["img"])) # add batch index for plotting
231
232
  plot_images(
232
- images=batch["img"],
233
- batch_idx=torch.arange(len(batch["img"])),
234
- cls=batch["cls"].view(-1), # warning: use .view(), not .squeeze() for Classify models
233
+ labels=batch,
235
234
  fname=self.save_dir / f"train_batch{ni}.jpg",
236
235
  on_plot=self.on_plot,
237
236
  )
@@ -13,6 +13,7 @@ from ultralytics.engine.trainer import BaseTrainer
13
13
  from ultralytics.models import yolo
14
14
  from ultralytics.nn.tasks import DetectionModel
15
15
  from ultralytics.utils import LOGGER, RANK
16
+ from ultralytics.utils.patches import override_configs
16
17
  from ultralytics.utils.plotting import plot_images, plot_labels, plot_results
17
18
  from ultralytics.utils.torch_utils import de_parallel, torch_distributed_zero_first
18
19
 
@@ -210,6 +211,8 @@ class DetectionTrainer(BaseTrainer):
210
211
  Returns:
211
212
  (int): Optimal batch size.
212
213
  """
213
- train_dataset = self.build_dataset(self.data["train"], mode="train", batch=16)
214
+ with override_configs(self.args, overrides={"cache": False}) as self.args:
215
+ train_dataset = self.build_dataset(self.data["train"], mode="train", batch=16)
214
216
  max_num_obj = max(len(label["cls"]) for label in train_dataset.labels) * 4 # 4 for mosaic augmentation
217
+ del train_dataset # free memory
215
218
  return super().auto_batch(max_num_obj)
@@ -143,11 +143,12 @@ def export_engine(
143
143
  for inp in inputs:
144
144
  profile.set_shape(inp.name, min=min_shape, opt=shape, max=max_shape)
145
145
  config.add_optimization_profile(profile)
146
+ if int8:
147
+ config.set_calibration_profile(profile)
146
148
 
147
149
  LOGGER.info(f"{prefix} building {'INT8' if int8 else 'FP' + ('16' if half else '32')} engine as {engine_file}")
148
150
  if int8:
149
151
  config.set_flag(trt.BuilderFlag.INT8)
150
- config.set_calibration_profile(profile)
151
152
  config.profiling_verbosity = trt.ProfilingVerbosity.DETAILED
152
153
 
153
154
  class EngineCalibrator(trt.IInt8Calibrator):
@@ -181,7 +182,11 @@ def export_engine(
181
182
  trt.IInt8Calibrator.__init__(self)
182
183
  self.dataset = dataset
183
184
  self.data_iter = iter(dataset)
184
- self.algo = trt.CalibrationAlgoType.MINMAX_CALIBRATION
185
+ self.algo = (
186
+ trt.CalibrationAlgoType.ENTROPY_CALIBRATION_2 # DLA quantization needs ENTROPY_CALIBRATION_2
187
+ if dla is not None
188
+ else trt.CalibrationAlgoType.MINMAX_CALIBRATION
189
+ )
185
190
  self.batch = dataset.batch_size
186
191
  self.cache = Path(cache)
187
192
 
@@ -2,8 +2,10 @@
2
2
  """Monkey patches to update/extend functionality of existing functions."""
3
3
 
4
4
  import time
5
+ from contextlib import contextmanager
6
+ from copy import copy
5
7
  from pathlib import Path
6
- from typing import List, Optional
8
+ from typing import Any, Dict, List, Optional
7
9
 
8
10
  import cv2
9
11
  import numpy as np
@@ -139,3 +141,48 @@ def torch_save(*args, **kwargs):
139
141
  if i == 3:
140
142
  raise e
141
143
  time.sleep((2**i) / 2) # Exponential backoff: 0.5s, 1.0s, 2.0s
144
+
145
+
146
+ @contextmanager
147
+ def arange_patch(args):
148
+ """
149
+ Workaround for ONNX torch.arange incompatibility with FP16.
150
+
151
+ https://github.com/pytorch/pytorch/issues/148041.
152
+ """
153
+ if args.dynamic and args.half and args.format == "onnx":
154
+ func = torch.arange
155
+
156
+ def arange(*args, dtype=None, **kwargs):
157
+ """Return a 1-D tensor of size with values from the interval and common difference."""
158
+ return func(*args, **kwargs).to(dtype) # cast to dtype instead of passing dtype
159
+
160
+ torch.arange = arange # patch
161
+ yield
162
+ torch.arange = func # unpatch
163
+ else:
164
+ yield
165
+
166
+
167
+ @contextmanager
168
+ def override_configs(args, overrides: Optional[Dict[str, Any]] = None):
169
+ """
170
+ Context manager to temporarily override configurations in args.
171
+
172
+ Args:
173
+ args (IterableSimpleNamespace): Original configuration arguments.
174
+ overrides (Dict[str, Any]): Dictionary of overrides to apply.
175
+
176
+ Yields:
177
+ (IterableSimpleNamespace): Configuration arguments with overrides applied.
178
+ """
179
+ if overrides:
180
+ original_args = copy(args)
181
+ for key, value in overrides.items():
182
+ setattr(args, key, value)
183
+ try:
184
+ yield args
185
+ finally:
186
+ args.__dict__.update(original_args.__dict__)
187
+ else:
188
+ yield args