dgenerate-ultralytics-headless 8.3.181__tar.gz → 8.3.183__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 (279) hide show
  1. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/PKG-INFO +1 -1
  2. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/dgenerate_ultralytics_headless.egg-info/PKG-INFO +1 -1
  3. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/dgenerate_ultralytics_headless.egg-info/SOURCES.txt +1 -0
  4. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/test_cuda.py +2 -2
  5. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/test_python.py +9 -0
  6. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/__init__.py +1 -1
  7. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/converter.py +112 -1
  8. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/trainer.py +9 -0
  9. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/sam.py +1 -0
  10. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/predict.py +1 -0
  11. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/yoloe/val.py +1 -1
  12. dgenerate_ultralytics_headless-8.3.183/ultralytics/py.typed +1 -0
  13. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/plotting.py +29 -21
  14. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/LICENSE +0 -0
  15. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/README.md +0 -0
  16. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/dgenerate_ultralytics_headless.egg-info/dependency_links.txt +0 -0
  17. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/dgenerate_ultralytics_headless.egg-info/entry_points.txt +0 -0
  18. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/dgenerate_ultralytics_headless.egg-info/requires.txt +0 -0
  19. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/dgenerate_ultralytics_headless.egg-info/top_level.txt +0 -0
  20. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/pyproject.toml +0 -0
  21. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/setup.cfg +0 -0
  22. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/__init__.py +0 -0
  23. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/conftest.py +0 -0
  24. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/test_cli.py +0 -0
  25. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/test_engine.py +0 -0
  26. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/test_exports.py +0 -0
  27. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/test_integrations.py +0 -0
  28. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/tests/test_solutions.py +0 -0
  29. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/assets/bus.jpg +0 -0
  30. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/assets/zidane.jpg +0 -0
  31. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/__init__.py +0 -0
  32. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
  33. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  34. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  35. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  36. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
  37. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  38. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
  39. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
  40. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/VOC.yaml +0 -0
  41. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
  42. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  43. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  44. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  45. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  46. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco.yaml +0 -0
  47. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  48. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  49. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
  50. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  51. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  52. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  53. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  54. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  55. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  56. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  57. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  58. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  59. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  60. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  61. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  62. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  63. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/signature.yaml +0 -0
  64. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  65. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/datasets/xView.yaml +0 -0
  66. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/default.yaml +0 -0
  67. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  68. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  69. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  70. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  71. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  72. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  73. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  74. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  75. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  76. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  77. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  78. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  79. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  80. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  81. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  82. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  83. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  84. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  85. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  86. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  87. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  88. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  89. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  90. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  91. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  92. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  93. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  94. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  95. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  96. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  97. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  98. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  99. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  100. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  101. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  102. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  103. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  104. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  105. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  106. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  107. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  108. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  109. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  110. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  111. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  112. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  113. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  114. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  115. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  116. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  117. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  118. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  119. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  120. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  121. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  122. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  123. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  124. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/__init__.py +0 -0
  125. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/annotator.py +0 -0
  126. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/augment.py +0 -0
  127. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/base.py +0 -0
  128. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/build.py +0 -0
  129. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/dataset.py +0 -0
  130. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/loaders.py +0 -0
  131. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/scripts/download_weights.sh +0 -0
  132. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/scripts/get_coco.sh +0 -0
  133. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/scripts/get_coco128.sh +0 -0
  134. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  135. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/split.py +0 -0
  136. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/split_dota.py +0 -0
  137. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/data/utils.py +0 -0
  138. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/__init__.py +0 -0
  139. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/exporter.py +0 -0
  140. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/model.py +0 -0
  141. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/predictor.py +0 -0
  142. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/results.py +0 -0
  143. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/tuner.py +0 -0
  144. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/engine/validator.py +0 -0
  145. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/hub/__init__.py +0 -0
  146. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/hub/auth.py +0 -0
  147. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/hub/google/__init__.py +0 -0
  148. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/hub/session.py +0 -0
  149. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/hub/utils.py +0 -0
  150. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/__init__.py +0 -0
  151. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/fastsam/__init__.py +0 -0
  152. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/fastsam/model.py +0 -0
  153. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/fastsam/predict.py +0 -0
  154. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/fastsam/utils.py +0 -0
  155. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/fastsam/val.py +0 -0
  156. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/nas/__init__.py +0 -0
  157. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/nas/model.py +0 -0
  158. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/nas/predict.py +0 -0
  159. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/nas/val.py +0 -0
  160. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/rtdetr/__init__.py +0 -0
  161. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/rtdetr/model.py +0 -0
  162. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/rtdetr/predict.py +0 -0
  163. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/rtdetr/train.py +0 -0
  164. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/rtdetr/val.py +0 -0
  165. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/__init__.py +0 -0
  166. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/amg.py +0 -0
  167. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/build.py +0 -0
  168. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/model.py +0 -0
  169. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/__init__.py +0 -0
  170. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/blocks.py +0 -0
  171. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/decoders.py +0 -0
  172. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/encoders.py +0 -0
  173. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  174. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  175. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/transformer.py +0 -0
  176. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/sam/modules/utils.py +0 -0
  177. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/utils/__init__.py +0 -0
  178. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/utils/loss.py +0 -0
  179. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/utils/ops.py +0 -0
  180. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/__init__.py +0 -0
  181. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/classify/__init__.py +0 -0
  182. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/classify/predict.py +0 -0
  183. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/classify/train.py +0 -0
  184. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/classify/val.py +0 -0
  185. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/detect/__init__.py +0 -0
  186. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/detect/predict.py +0 -0
  187. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/detect/train.py +0 -0
  188. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/detect/val.py +0 -0
  189. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/model.py +0 -0
  190. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/obb/__init__.py +0 -0
  191. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/obb/predict.py +0 -0
  192. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/obb/train.py +0 -0
  193. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/obb/val.py +0 -0
  194. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/pose/__init__.py +0 -0
  195. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/pose/predict.py +0 -0
  196. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/pose/train.py +0 -0
  197. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/pose/val.py +0 -0
  198. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/segment/__init__.py +0 -0
  199. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/segment/predict.py +0 -0
  200. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/segment/train.py +0 -0
  201. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/segment/val.py +0 -0
  202. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/world/__init__.py +0 -0
  203. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/world/train.py +0 -0
  204. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/world/train_world.py +0 -0
  205. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  206. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  207. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/yoloe/train.py +0 -0
  208. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  209. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/__init__.py +0 -0
  210. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/autobackend.py +0 -0
  211. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/modules/__init__.py +0 -0
  212. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/modules/activation.py +0 -0
  213. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/modules/block.py +0 -0
  214. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/modules/conv.py +0 -0
  215. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/modules/head.py +0 -0
  216. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/modules/transformer.py +0 -0
  217. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/modules/utils.py +0 -0
  218. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/tasks.py +0 -0
  219. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/nn/text_model.py +0 -0
  220. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/__init__.py +0 -0
  221. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/ai_gym.py +0 -0
  222. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/analytics.py +0 -0
  223. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/config.py +0 -0
  224. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/distance_calculation.py +0 -0
  225. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/heatmap.py +0 -0
  226. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/instance_segmentation.py +0 -0
  227. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/object_blurrer.py +0 -0
  228. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/object_counter.py +0 -0
  229. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/object_cropper.py +0 -0
  230. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/parking_management.py +0 -0
  231. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/queue_management.py +0 -0
  232. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/region_counter.py +0 -0
  233. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/security_alarm.py +0 -0
  234. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/similarity_search.py +0 -0
  235. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/solutions.py +0 -0
  236. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/speed_estimation.py +0 -0
  237. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/streamlit_inference.py +0 -0
  238. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/templates/similarity-search.html +0 -0
  239. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/trackzone.py +0 -0
  240. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/solutions/vision_eye.py +0 -0
  241. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/__init__.py +0 -0
  242. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/basetrack.py +0 -0
  243. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/bot_sort.py +0 -0
  244. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/byte_tracker.py +0 -0
  245. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/track.py +0 -0
  246. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/utils/__init__.py +0 -0
  247. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/utils/gmc.py +0 -0
  248. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  249. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/trackers/utils/matching.py +0 -0
  250. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/__init__.py +0 -0
  251. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/autobatch.py +0 -0
  252. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/autodevice.py +0 -0
  253. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/benchmarks.py +0 -0
  254. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/__init__.py +0 -0
  255. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/base.py +0 -0
  256. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/clearml.py +0 -0
  257. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/comet.py +0 -0
  258. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/dvc.py +0 -0
  259. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/hub.py +0 -0
  260. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/mlflow.py +0 -0
  261. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/neptune.py +0 -0
  262. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/raytune.py +0 -0
  263. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  264. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/callbacks/wb.py +0 -0
  265. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/checks.py +0 -0
  266. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/dist.py +0 -0
  267. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/downloads.py +0 -0
  268. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/errors.py +0 -0
  269. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/export.py +0 -0
  270. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/files.py +0 -0
  271. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/instance.py +0 -0
  272. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/loss.py +0 -0
  273. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/metrics.py +0 -0
  274. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/ops.py +0 -0
  275. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/patches.py +0 -0
  276. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/tal.py +0 -0
  277. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/torch_utils.py +0 -0
  278. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/ultralytics/utils/triton.py +0 -0
  279. {dgenerate_ultralytics_headless-8.3.181 → dgenerate_ultralytics_headless-8.3.183}/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.181
3
+ Version: 8.3.183
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.181
3
+ Version: 8.3.183
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>
@@ -15,6 +15,7 @@ tests/test_integrations.py
15
15
  tests/test_python.py
16
16
  tests/test_solutions.py
17
17
  ultralytics/__init__.py
18
+ ultralytics/py.typed
18
19
  ultralytics/../tests/__init__.py
19
20
  ultralytics/../tests/conftest.py
20
21
  ultralytics/../tests/test_cli.py
@@ -67,7 +67,7 @@ def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
67
67
  half=half,
68
68
  batch=batch,
69
69
  simplify=simplify,
70
- nms=nms,
70
+ nms=nms and task != "obb", # disable NMS for OBB task for now on T4 instance
71
71
  device=DEVICES[0],
72
72
  )
73
73
  YOLO(file)([SOURCE] * batch, imgsz=64 if dynamic else 32, device=DEVICES[0]) # exported model inference
@@ -163,7 +163,7 @@ def test_autobatch():
163
163
 
164
164
 
165
165
  @pytest.mark.slow
166
- @pytest.mark.skipif(not DEVICES, reason="No CUDA devices available")
166
+ @pytest.mark.skipif(True, reason="Skip for now since T4 instance does not support TensorRT > 10.0")
167
167
  def test_utils_benchmarks():
168
168
  """Profile YOLO models for performance benchmarks."""
169
169
  from ultralytics.utils.benchmarks import ProfileModels
@@ -228,6 +228,15 @@ def test_train_scratch():
228
228
  model(SOURCE)
229
229
 
230
230
 
231
+ @pytest.mark.skipif(not ONLINE, reason="environment is offline")
232
+ def test_train_ndjson():
233
+ """Test training the YOLO model using NDJSON format dataset."""
234
+ model = YOLO(WEIGHTS_DIR / "yolo11n.pt")
235
+ model.train(
236
+ data="https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-ndjson.ndjson", epochs=1, imgsz=32
237
+ )
238
+
239
+
231
240
  @pytest.mark.parametrize("scls", [False, True])
232
241
  def test_train_pretrained(scls):
233
242
  """Test training of the YOLO model starting from a pre-trained checkpoint."""
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.181"
3
+ __version__ = "8.3.183"
4
4
 
5
5
  import os
6
6
 
@@ -1,5 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
+ import asyncio
3
4
  import json
4
5
  import random
5
6
  import shutil
@@ -12,7 +13,8 @@ import cv2
12
13
  import numpy as np
13
14
  from PIL import Image
14
15
 
15
- from ultralytics.utils import DATASETS_DIR, LOGGER, NUM_THREADS, TQDM
16
+ from ultralytics.utils import DATASETS_DIR, LOGGER, NUM_THREADS, TQDM, YAML
17
+ from ultralytics.utils.checks import check_file, check_requirements
16
18
  from ultralytics.utils.downloads import download, zip_directory
17
19
  from ultralytics.utils.files import increment_path
18
20
 
@@ -754,3 +756,112 @@ def convert_to_multispectral(path: Union[str, Path], n_channels: int = 10, repla
754
756
  multispectral = f(target_wavelengths)
755
757
  cv2.imwritemulti(str(output_path), np.clip(multispectral, 0, 255).astype(np.uint8).transpose(2, 0, 1))
756
758
  LOGGER.info(f"Converted {output_path}")
759
+
760
+
761
+ async def convert_ndjson_to_yolo(ndjson_path: Union[str, Path], output_path: Optional[Union[str, Path]] = None) -> Path:
762
+ """
763
+ Convert NDJSON dataset format to Ultralytics YOLO11 dataset structure.
764
+
765
+ This function converts datasets stored in NDJSON (Newline Delimited JSON) format to the standard YOLO
766
+ format with separate directories for images and labels. It supports parallel processing for efficient
767
+ conversion of large datasets and can download images from URLs if they don't exist locally.
768
+
769
+ The NDJSON format consists of:
770
+ - First line: Dataset metadata with class names and configuration
771
+ - Subsequent lines: Individual image records with annotations and optional URLs
772
+
773
+ Args:
774
+ ndjson_path (Union[str, Path]): Path to the input NDJSON file containing dataset information.
775
+ output_path (Optional[Union[str, Path]], optional): Directory where the converted YOLO dataset
776
+ will be saved. If None, uses the parent directory of the NDJSON file. Defaults to None.
777
+
778
+ Returns:
779
+ (Path): Path to the generated data.yaml file that can be used for YOLO training.
780
+
781
+ Examples:
782
+ Convert a local NDJSON file:
783
+ >>> yaml_path = convert_ndjson_to_yolo("dataset.ndjson")
784
+ >>> print(f"Dataset converted to: {yaml_path}")
785
+
786
+ Convert with custom output directory:
787
+ >>> yaml_path = convert_ndjson_to_yolo("dataset.ndjson", output_path="./converted_datasets")
788
+
789
+ # Use with YOLO training
790
+ >>> from ultralytics import YOLO
791
+ >>> model = YOLO("yolo11n.pt")
792
+ >>> model.train(data="https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-ndjson.ndjson")
793
+ """
794
+ check_requirements("aiohttp")
795
+ import aiohttp
796
+
797
+ ndjson_path = Path(check_file(ndjson_path))
798
+ output_path = Path(output_path or DATASETS_DIR)
799
+ with open(ndjson_path) as f:
800
+ lines = [json.loads(line.strip()) for line in f if line.strip()]
801
+
802
+ dataset_record, image_records = lines[0], lines[1:]
803
+ dataset_dir = output_path / ndjson_path.stem
804
+ splits = {record["split"] for record in image_records}
805
+
806
+ # Create directories and prepare YAML structure
807
+ dataset_dir.mkdir(parents=True, exist_ok=True)
808
+ data_yaml = dict(dataset_record)
809
+ data_yaml["names"] = {int(k): v for k, v in dataset_record.get("class_names", {}).items()}
810
+
811
+ for split in sorted(splits):
812
+ (dataset_dir / "images" / split).mkdir(parents=True, exist_ok=True)
813
+ (dataset_dir / "labels" / split).mkdir(parents=True, exist_ok=True)
814
+ data_yaml[split] = f"images/{split}"
815
+
816
+ async def process_record(session, semaphore, record):
817
+ """Process single image record with async session."""
818
+ async with semaphore:
819
+ split, original_name = record["split"], record["file"]
820
+ label_path = dataset_dir / "labels" / split / f"{Path(original_name).stem}.txt"
821
+ image_path = dataset_dir / "images" / split / original_name
822
+
823
+ annotations = record.get("annotations", {})
824
+ lines_to_write = []
825
+ for key in annotations.keys():
826
+ lines_to_write = [" ".join(map(str, item)) for item in annotations[key]]
827
+ break
828
+ if "classification" in annotations:
829
+ lines_to_write = [str(cls) for cls in annotations["classification"]]
830
+
831
+ label_path.write_text("\n".join(lines_to_write) + "\n" if lines_to_write else "")
832
+
833
+ if http_url := record.get("url"):
834
+ if not image_path.exists():
835
+ try:
836
+ async with session.get(http_url, timeout=aiohttp.ClientTimeout(total=30)) as response:
837
+ response.raise_for_status()
838
+ with open(image_path, "wb") as f:
839
+ async for chunk in response.content.iter_chunked(8192):
840
+ f.write(chunk)
841
+ return True
842
+ except Exception as e:
843
+ LOGGER.warning(f"Failed to download {http_url}: {e}")
844
+ return False
845
+ return True
846
+
847
+ # Process all images with async downloads
848
+ semaphore = asyncio.Semaphore(64)
849
+ async with aiohttp.ClientSession() as session:
850
+ pbar = TQDM(
851
+ total=len(image_records),
852
+ desc=f"Converting {ndjson_path.name} → {dataset_dir} ({len(image_records)} images)",
853
+ )
854
+
855
+ async def tracked_process(record):
856
+ result = await process_record(session, semaphore, record)
857
+ pbar.update(1)
858
+ return result
859
+
860
+ await asyncio.gather(*[tracked_process(record) for record in image_records])
861
+ pbar.close()
862
+
863
+ # Write data.yaml
864
+ yaml_path = dataset_dir / "data.yaml"
865
+ YAML.save(yaml_path, data_yaml)
866
+
867
+ return yaml_path
@@ -598,6 +598,15 @@ class BaseTrainer:
598
598
  try:
599
599
  if self.args.task == "classify":
600
600
  data = check_cls_dataset(self.args.data)
601
+ elif self.args.data.rsplit(".", 1)[-1] == "ndjson":
602
+ # Convert NDJSON to YOLO format
603
+ import asyncio
604
+
605
+ from ultralytics.data.converter import convert_ndjson_to_yolo
606
+
607
+ yaml_path = asyncio.run(convert_ndjson_to_yolo(self.args.data))
608
+ self.args.data = str(yaml_path)
609
+ data = check_det_dataset(self.args.data)
601
610
  elif self.args.data.rsplit(".", 1)[-1] in {"yaml", "yml"} or self.args.task in {
602
611
  "detect",
603
612
  "segment",
@@ -1032,3 +1032,4 @@ class SAM2Model(torch.nn.Module):
1032
1032
  self.image_size = imgsz[0]
1033
1033
  self.sam_prompt_encoder.input_image_size = imgsz
1034
1034
  self.sam_prompt_encoder.image_embedding_size = [x // 16 for x in imgsz] # fixed ViT patch size of 16
1035
+ self.sam_image_embedding_size = self.image_size // self.backbone_stride # update image embedding size
@@ -1283,6 +1283,7 @@ class SAM2VideoPredictor(SAM2Predictor):
1283
1283
  - If `batch` is greater than 1, the features are expanded to fit the batch size.
1284
1284
  - The method leverages the model's `_prepare_backbone_features` method to prepare the backbone features.
1285
1285
  """
1286
+ self.model.set_imgsz(self.imgsz)
1286
1287
  backbone_out = self.model.forward_image(im)
1287
1288
  if batch > 1: # expand features if there's more than one prompt
1288
1289
  for i, feat in enumerate(backbone_out["backbone_fpn"]):
@@ -181,7 +181,7 @@ class YOLOEDetectValidator(DetectionValidator):
181
181
  else:
182
182
  if refer_data is not None:
183
183
  assert load_vp, "Refer data is only used for visual prompt validation."
184
- self.device = select_device(self.args.device)
184
+ self.device = select_device(self.args.device, verbose=False)
185
185
 
186
186
  if isinstance(model, (str, Path)):
187
187
  from ultralytics.nn.tasks import attempt_load_weights
@@ -361,38 +361,46 @@ class Annotator:
361
361
  lineType=cv2.LINE_AA,
362
362
  )
363
363
 
364
- def masks(self, masks, colors, im_gpu, alpha: float = 0.5, retina_masks: bool = False):
364
+ def masks(self, masks, colors, im_gpu: torch.Tensor = None, alpha: float = 0.5, retina_masks: bool = False):
365
365
  """
366
366
  Plot masks on image.
367
367
 
368
368
  Args:
369
- masks (torch.Tensor): Predicted masks on cuda, shape: [n, h, w]
369
+ masks (torch.Tensor | np.ndarray): Predicted masks with shape: [n, h, w]
370
370
  colors (List[List[int]]): Colors for predicted masks, [[r, g, b] * n]
371
- im_gpu (torch.Tensor): Image is in cuda, shape: [3, h, w], range: [0, 1]
371
+ im_gpu (torch.Tensor | None): Image is in cuda, shape: [3, h, w], range: [0, 1]
372
372
  alpha (float, optional): Mask transparency: 0.0 fully transparent, 1.0 opaque.
373
373
  retina_masks (bool, optional): Whether to use high resolution masks or not.
374
374
  """
375
375
  if self.pil:
376
376
  # Convert to numpy first
377
377
  self.im = np.asarray(self.im).copy()
378
- if len(masks) == 0:
379
- self.im[:] = im_gpu.permute(1, 2, 0).contiguous().cpu().numpy() * 255
380
- if im_gpu.device != masks.device:
381
- im_gpu = im_gpu.to(masks.device)
382
- colors = torch.tensor(colors, device=masks.device, dtype=torch.float32) / 255.0 # shape(n,3)
383
- colors = colors[:, None, None] # shape(n,1,1,3)
384
- masks = masks.unsqueeze(3) # shape(n,h,w,1)
385
- masks_color = masks * (colors * alpha) # shape(n,h,w,3)
386
-
387
- inv_alpha_masks = (1 - masks * alpha).cumprod(0) # shape(n,h,w,1)
388
- mcs = masks_color.max(dim=0).values # shape(n,h,w,3)
389
-
390
- im_gpu = im_gpu.flip(dims=[0]) # flip channel
391
- im_gpu = im_gpu.permute(1, 2, 0).contiguous() # shape(h,w,3)
392
- im_gpu = im_gpu * inv_alpha_masks[-1] + mcs
393
- im_mask = im_gpu * 255
394
- im_mask_np = im_mask.byte().cpu().numpy()
395
- self.im[:] = im_mask_np if retina_masks else ops.scale_image(im_mask_np, self.im.shape)
378
+ if im_gpu is None:
379
+ assert isinstance(masks, np.ndarray), "`masks` must be a np.ndarray if `im_gpu` is not provided."
380
+ overlay = self.im.copy()
381
+ for i, mask in enumerate(masks):
382
+ overlay[mask.astype(bool)] = colors[i]
383
+ self.im = cv2.addWeighted(self.im, 1 - alpha, overlay, alpha, 0)
384
+ else:
385
+ assert isinstance(masks, torch.Tensor), "`masks` must be a torch.Tensor if `im_gpu` is provided."
386
+ if len(masks) == 0:
387
+ self.im[:] = im_gpu.permute(1, 2, 0).contiguous().cpu().numpy() * 255
388
+ if im_gpu.device != masks.device:
389
+ im_gpu = im_gpu.to(masks.device)
390
+ colors = torch.tensor(colors, device=masks.device, dtype=torch.float32) / 255.0 # shape(n,3)
391
+ colors = colors[:, None, None] # shape(n,1,1,3)
392
+ masks = masks.unsqueeze(3) # shape(n,h,w,1)
393
+ masks_color = masks * (colors * alpha) # shape(n,h,w,3)
394
+
395
+ inv_alpha_masks = (1 - masks * alpha).cumprod(0) # shape(n,h,w,1)
396
+ mcs = masks_color.max(dim=0).values # shape(n,h,w,3)
397
+
398
+ im_gpu = im_gpu.flip(dims=[0]) # flip channel
399
+ im_gpu = im_gpu.permute(1, 2, 0).contiguous() # shape(h,w,3)
400
+ im_gpu = im_gpu * inv_alpha_masks[-1] + mcs
401
+ im_mask = im_gpu * 255
402
+ im_mask_np = im_mask.byte().cpu().numpy()
403
+ self.im[:] = im_mask_np if retina_masks else ops.scale_image(im_mask_np, self.im.shape)
396
404
  if self.pil:
397
405
  # Convert im back to PIL and update draw
398
406
  self.fromarray(self.im)