dgenerate-ultralytics-headless 8.3.184__tar.gz → 8.3.186__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 (282) hide show
  1. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/PKG-INFO +4 -5
  2. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/README.md +2 -2
  3. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/dgenerate_ultralytics_headless.egg-info/PKG-INFO +4 -5
  4. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/dgenerate_ultralytics_headless.egg-info/SOURCES.txt +1 -0
  5. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/dgenerate_ultralytics_headless.egg-info/requires.txt +1 -2
  6. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/pyproject.toml +1 -2
  7. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/__init__.py +1 -1
  8. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/Argoverse.yaml +2 -2
  9. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/Objects365.yaml +3 -3
  10. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/SKU-110K.yaml +2 -2
  11. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/VOC.yaml +2 -4
  12. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/VisDrone.yaml +2 -2
  13. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/xView.yaml +2 -2
  14. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/build.py +2 -2
  15. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/converter.py +1 -1
  16. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/dataset.py +1 -1
  17. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/utils.py +0 -2
  18. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/exporter.py +4 -1
  19. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/region_counter.py +3 -2
  20. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/__init__.py +1 -62
  21. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/autodevice.py +1 -1
  22. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/downloads.py +29 -19
  23. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/logger.py +21 -22
  24. dgenerate_ultralytics_headless-8.3.186/ultralytics/utils/tqdm.py +462 -0
  25. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/LICENSE +0 -0
  26. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/dgenerate_ultralytics_headless.egg-info/dependency_links.txt +0 -0
  27. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/dgenerate_ultralytics_headless.egg-info/entry_points.txt +0 -0
  28. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/dgenerate_ultralytics_headless.egg-info/top_level.txt +0 -0
  29. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/setup.cfg +0 -0
  30. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/__init__.py +0 -0
  31. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/conftest.py +0 -0
  32. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/test_cli.py +0 -0
  33. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/test_cuda.py +0 -0
  34. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/test_engine.py +0 -0
  35. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/test_exports.py +0 -0
  36. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/test_integrations.py +0 -0
  37. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/test_python.py +0 -0
  38. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/tests/test_solutions.py +0 -0
  39. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/assets/bus.jpg +0 -0
  40. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/assets/zidane.jpg +0 -0
  41. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/__init__.py +0 -0
  42. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
  43. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
  44. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
  45. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
  46. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
  47. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
  48. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
  49. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
  50. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
  51. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco.yaml +0 -0
  52. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
  53. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco128.yaml +0 -0
  54. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
  55. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
  56. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
  57. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
  58. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/coco8.yaml +0 -0
  59. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
  60. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
  61. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
  62. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/dota8.yaml +0 -0
  63. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
  64. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/lvis.yaml +0 -0
  65. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
  66. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
  67. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
  68. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/signature.yaml +0 -0
  69. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
  70. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/default.yaml +0 -0
  71. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
  72. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
  73. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
  74. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
  75. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
  76. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
  77. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
  78. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
  79. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
  80. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
  81. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
  82. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
  83. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
  84. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
  85. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
  86. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
  87. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
  88. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
  89. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
  90. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
  91. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
  92. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
  93. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
  94. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
  95. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
  96. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
  97. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
  98. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
  99. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
  100. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
  101. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
  102. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
  103. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
  104. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
  105. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
  106. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
  107. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
  108. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
  109. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
  110. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
  111. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
  112. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
  113. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
  114. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
  115. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
  116. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
  117. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
  118. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
  119. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
  120. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
  121. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
  122. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
  123. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
  124. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
  125. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
  126. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/trackers/botsort.yaml +0 -0
  127. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
  128. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/__init__.py +0 -0
  129. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/annotator.py +0 -0
  130. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/augment.py +0 -0
  131. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/base.py +0 -0
  132. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/loaders.py +0 -0
  133. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/scripts/download_weights.sh +0 -0
  134. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/scripts/get_coco.sh +0 -0
  135. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/scripts/get_coco128.sh +0 -0
  136. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/scripts/get_imagenet.sh +0 -0
  137. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/split.py +0 -0
  138. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/data/split_dota.py +0 -0
  139. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/__init__.py +0 -0
  140. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/model.py +0 -0
  141. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/predictor.py +0 -0
  142. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/results.py +0 -0
  143. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/trainer.py +0 -0
  144. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/tuner.py +0 -0
  145. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/engine/validator.py +0 -0
  146. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/hub/__init__.py +0 -0
  147. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/hub/auth.py +0 -0
  148. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/hub/google/__init__.py +0 -0
  149. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/hub/session.py +0 -0
  150. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/hub/utils.py +0 -0
  151. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/__init__.py +0 -0
  152. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/fastsam/__init__.py +0 -0
  153. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/fastsam/model.py +0 -0
  154. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/fastsam/predict.py +0 -0
  155. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/fastsam/utils.py +0 -0
  156. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/fastsam/val.py +0 -0
  157. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/nas/__init__.py +0 -0
  158. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/nas/model.py +0 -0
  159. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/nas/predict.py +0 -0
  160. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/nas/val.py +0 -0
  161. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/rtdetr/__init__.py +0 -0
  162. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/rtdetr/model.py +0 -0
  163. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/rtdetr/predict.py +0 -0
  164. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/rtdetr/train.py +0 -0
  165. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/rtdetr/val.py +0 -0
  166. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/__init__.py +0 -0
  167. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/amg.py +0 -0
  168. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/build.py +0 -0
  169. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/model.py +0 -0
  170. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/__init__.py +0 -0
  171. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/blocks.py +0 -0
  172. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/decoders.py +0 -0
  173. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/encoders.py +0 -0
  174. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/memory_attention.py +0 -0
  175. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/sam.py +0 -0
  176. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
  177. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/transformer.py +0 -0
  178. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/modules/utils.py +0 -0
  179. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/sam/predict.py +0 -0
  180. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/utils/__init__.py +0 -0
  181. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/utils/loss.py +0 -0
  182. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/utils/ops.py +0 -0
  183. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/__init__.py +0 -0
  184. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/classify/__init__.py +0 -0
  185. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/classify/predict.py +0 -0
  186. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/classify/train.py +0 -0
  187. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/classify/val.py +0 -0
  188. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/detect/__init__.py +0 -0
  189. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/detect/predict.py +0 -0
  190. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/detect/train.py +0 -0
  191. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/detect/val.py +0 -0
  192. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/model.py +0 -0
  193. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/obb/__init__.py +0 -0
  194. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/obb/predict.py +0 -0
  195. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/obb/train.py +0 -0
  196. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/obb/val.py +0 -0
  197. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/pose/__init__.py +0 -0
  198. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/pose/predict.py +0 -0
  199. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/pose/train.py +0 -0
  200. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/pose/val.py +0 -0
  201. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/segment/__init__.py +0 -0
  202. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/segment/predict.py +0 -0
  203. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/segment/train.py +0 -0
  204. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/segment/val.py +0 -0
  205. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/world/__init__.py +0 -0
  206. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/world/train.py +0 -0
  207. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/world/train_world.py +0 -0
  208. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
  209. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/yoloe/predict.py +0 -0
  210. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/yoloe/train.py +0 -0
  211. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
  212. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/models/yolo/yoloe/val.py +0 -0
  213. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/__init__.py +0 -0
  214. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/autobackend.py +0 -0
  215. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/modules/__init__.py +0 -0
  216. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/modules/activation.py +0 -0
  217. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/modules/block.py +0 -0
  218. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/modules/conv.py +0 -0
  219. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/modules/head.py +0 -0
  220. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/modules/transformer.py +0 -0
  221. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/modules/utils.py +0 -0
  222. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/tasks.py +0 -0
  223. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/nn/text_model.py +0 -0
  224. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/py.typed +0 -0
  225. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/__init__.py +0 -0
  226. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/ai_gym.py +0 -0
  227. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/analytics.py +0 -0
  228. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/config.py +0 -0
  229. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/distance_calculation.py +0 -0
  230. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/heatmap.py +0 -0
  231. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/instance_segmentation.py +0 -0
  232. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/object_blurrer.py +0 -0
  233. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/object_counter.py +0 -0
  234. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/object_cropper.py +0 -0
  235. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/parking_management.py +0 -0
  236. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/queue_management.py +0 -0
  237. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/security_alarm.py +0 -0
  238. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/similarity_search.py +0 -0
  239. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/solutions.py +0 -0
  240. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/speed_estimation.py +0 -0
  241. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/streamlit_inference.py +0 -0
  242. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/templates/similarity-search.html +0 -0
  243. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/trackzone.py +0 -0
  244. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/solutions/vision_eye.py +0 -0
  245. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/__init__.py +0 -0
  246. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/basetrack.py +0 -0
  247. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/bot_sort.py +0 -0
  248. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/byte_tracker.py +0 -0
  249. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/track.py +0 -0
  250. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/utils/__init__.py +0 -0
  251. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/utils/gmc.py +0 -0
  252. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/utils/kalman_filter.py +0 -0
  253. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/trackers/utils/matching.py +0 -0
  254. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/autobatch.py +0 -0
  255. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/benchmarks.py +0 -0
  256. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/__init__.py +0 -0
  257. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/base.py +0 -0
  258. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/clearml.py +0 -0
  259. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/comet.py +0 -0
  260. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/dvc.py +0 -0
  261. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/hub.py +0 -0
  262. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/mlflow.py +0 -0
  263. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/neptune.py +0 -0
  264. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/platform.py +0 -0
  265. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/raytune.py +0 -0
  266. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/tensorboard.py +0 -0
  267. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/callbacks/wb.py +0 -0
  268. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/checks.py +0 -0
  269. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/dist.py +0 -0
  270. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/errors.py +0 -0
  271. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/export.py +0 -0
  272. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/files.py +0 -0
  273. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/instance.py +0 -0
  274. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/loss.py +0 -0
  275. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/metrics.py +0 -0
  276. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/ops.py +0 -0
  277. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/patches.py +0 -0
  278. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/plotting.py +0 -0
  279. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/tal.py +0 -0
  280. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/torch_utils.py +0 -0
  281. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/ultralytics/utils/triton.py +0 -0
  282. {dgenerate_ultralytics_headless-8.3.184 → dgenerate_ultralytics_headless-8.3.186}/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.184
3
+ Version: 8.3.186
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>
@@ -42,7 +42,6 @@ Requires-Dist: scipy>=1.4.1
42
42
  Requires-Dist: torch>=1.8.0
43
43
  Requires-Dist: torch!=2.4.0,>=1.8.0; sys_platform == "win32"
44
44
  Requires-Dist: torchvision>=0.9.0
45
- Requires-Dist: tqdm>=4.64.0
46
45
  Requires-Dist: psutil
47
46
  Requires-Dist: py-cpuinfo
48
47
  Requires-Dist: pandas>=1.1.4
@@ -55,7 +54,7 @@ Requires-Dist: coverage[toml]; extra == "dev"
55
54
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
56
55
  Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
57
56
  Requires-Dist: mkdocstrings[python]; extra == "dev"
58
- Requires-Dist: mkdocs-ultralytics-plugin>=0.1.26; extra == "dev"
57
+ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.28; extra == "dev"
59
58
  Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
60
59
  Provides-Extra: export
61
60
  Requires-Dist: numpy<2.0.0; extra == "export"
@@ -131,7 +130,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
131
130
 
132
131
  <div>
133
132
  <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml/badge.svg" alt="Ultralytics CI"></a>
134
- <a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
133
+ <a href="https://clickpy.clickhouse.com/dashboard/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
135
134
  <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
136
135
  <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
137
136
  <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
@@ -180,7 +179,7 @@ See below for quickstart installation and usage examples. For comprehensive guid
180
179
 
181
180
  Install the `ultralytics` package, including all [requirements](https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml), in a [**Python>=3.8**](https://www.python.org/) environment with [**PyTorch>=1.8**](https://pytorch.org/get-started/locally/).
182
181
 
183
- [![PyPI - Version](https://img.shields.io/pypi/v/ultralytics?logo=pypi&logoColor=white)](https://pypi.org/project/ultralytics/) [![Ultralytics Downloads](https://static.pepy.tech/badge/ultralytics)](https://www.pepy.tech/projects/ultralytics) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ultralytics?logo=python&logoColor=gold)](https://pypi.org/project/ultralytics/)
182
+ [![PyPI - Version](https://img.shields.io/pypi/v/ultralytics?logo=pypi&logoColor=white)](https://pypi.org/project/ultralytics/) [![Ultralytics Downloads](https://static.pepy.tech/badge/ultralytics)](https://clickpy.clickhouse.com/dashboard/ultralytics) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ultralytics?logo=python&logoColor=gold)](https://pypi.org/project/ultralytics/)
184
183
 
185
184
  ```bash
186
185
  pip install ultralytics
@@ -39,7 +39,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
39
39
 
40
40
  <div>
41
41
  <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml/badge.svg" alt="Ultralytics CI"></a>
42
- <a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
42
+ <a href="https://clickpy.clickhouse.com/dashboard/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
43
43
  <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
44
44
  <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
45
45
  <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
@@ -88,7 +88,7 @@ See below for quickstart installation and usage examples. For comprehensive guid
88
88
 
89
89
  Install the `ultralytics` package, including all [requirements](https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml), in a [**Python>=3.8**](https://www.python.org/) environment with [**PyTorch>=1.8**](https://pytorch.org/get-started/locally/).
90
90
 
91
- [![PyPI - Version](https://img.shields.io/pypi/v/ultralytics?logo=pypi&logoColor=white)](https://pypi.org/project/ultralytics/) [![Ultralytics Downloads](https://static.pepy.tech/badge/ultralytics)](https://www.pepy.tech/projects/ultralytics) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ultralytics?logo=python&logoColor=gold)](https://pypi.org/project/ultralytics/)
91
+ [![PyPI - Version](https://img.shields.io/pypi/v/ultralytics?logo=pypi&logoColor=white)](https://pypi.org/project/ultralytics/) [![Ultralytics Downloads](https://static.pepy.tech/badge/ultralytics)](https://clickpy.clickhouse.com/dashboard/ultralytics) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ultralytics?logo=python&logoColor=gold)](https://pypi.org/project/ultralytics/)
92
92
 
93
93
  ```bash
94
94
  pip install ultralytics
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dgenerate-ultralytics-headless
3
- Version: 8.3.184
3
+ Version: 8.3.186
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>
@@ -42,7 +42,6 @@ Requires-Dist: scipy>=1.4.1
42
42
  Requires-Dist: torch>=1.8.0
43
43
  Requires-Dist: torch!=2.4.0,>=1.8.0; sys_platform == "win32"
44
44
  Requires-Dist: torchvision>=0.9.0
45
- Requires-Dist: tqdm>=4.64.0
46
45
  Requires-Dist: psutil
47
46
  Requires-Dist: py-cpuinfo
48
47
  Requires-Dist: pandas>=1.1.4
@@ -55,7 +54,7 @@ Requires-Dist: coverage[toml]; extra == "dev"
55
54
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
56
55
  Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
57
56
  Requires-Dist: mkdocstrings[python]; extra == "dev"
58
- Requires-Dist: mkdocs-ultralytics-plugin>=0.1.26; extra == "dev"
57
+ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.28; extra == "dev"
59
58
  Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
60
59
  Provides-Extra: export
61
60
  Requires-Dist: numpy<2.0.0; extra == "export"
@@ -131,7 +130,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
131
130
 
132
131
  <div>
133
132
  <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml/badge.svg" alt="Ultralytics CI"></a>
134
- <a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
133
+ <a href="https://clickpy.clickhouse.com/dashboard/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
135
134
  <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
136
135
  <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
137
136
  <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
@@ -180,7 +179,7 @@ See below for quickstart installation and usage examples. For comprehensive guid
180
179
 
181
180
  Install the `ultralytics` package, including all [requirements](https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml), in a [**Python>=3.8**](https://www.python.org/) environment with [**PyTorch>=1.8**](https://pytorch.org/get-started/locally/).
182
181
 
183
- [![PyPI - Version](https://img.shields.io/pypi/v/ultralytics?logo=pypi&logoColor=white)](https://pypi.org/project/ultralytics/) [![Ultralytics Downloads](https://static.pepy.tech/badge/ultralytics)](https://www.pepy.tech/projects/ultralytics) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ultralytics?logo=python&logoColor=gold)](https://pypi.org/project/ultralytics/)
182
+ [![PyPI - Version](https://img.shields.io/pypi/v/ultralytics?logo=pypi&logoColor=white)](https://pypi.org/project/ultralytics/) [![Ultralytics Downloads](https://static.pepy.tech/badge/ultralytics)](https://clickpy.clickhouse.com/dashboard/ultralytics) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ultralytics?logo=python&logoColor=gold)](https://pypi.org/project/ultralytics/)
184
183
 
185
184
  ```bash
186
185
  pip install ultralytics
@@ -270,6 +270,7 @@ ultralytics/utils/patches.py
270
270
  ultralytics/utils/plotting.py
271
271
  ultralytics/utils/tal.py
272
272
  ultralytics/utils/torch_utils.py
273
+ ultralytics/utils/tqdm.py
273
274
  ultralytics/utils/triton.py
274
275
  ultralytics/utils/tuner.py
275
276
  ultralytics/utils/callbacks/__init__.py
@@ -7,7 +7,6 @@ requests>=2.23.0
7
7
  scipy>=1.4.1
8
8
  torch>=1.8.0
9
9
  torchvision>=0.9.0
10
- tqdm>=4.64.0
11
10
  psutil
12
11
  py-cpuinfo
13
12
  pandas>=1.1.4
@@ -24,7 +23,7 @@ coverage[toml]
24
23
  mkdocs>=1.6.0
25
24
  mkdocs-material>=9.5.9
26
25
  mkdocstrings[python]
27
- mkdocs-ultralytics-plugin>=0.1.26
26
+ mkdocs-ultralytics-plugin>=0.1.28
28
27
  mkdocs-macros-plugin>=1.0.5
29
28
 
30
29
  [export]
@@ -71,7 +71,6 @@ dependencies = [
71
71
  "torch>=1.8.0",
72
72
  "torch>=1.8.0,!=2.4.0; sys_platform == 'win32'", # Windows CPU errors w/ 2.4.0 https://github.com/ultralytics/ultralytics/issues/15049
73
73
  "torchvision>=0.9.0",
74
- "tqdm>=4.64.0", # progress bars
75
74
  "psutil", # system utilization
76
75
  "py-cpuinfo", # display CPU info
77
76
  "pandas>=1.1.4",
@@ -88,7 +87,7 @@ dev = [
88
87
  "mkdocs>=1.6.0",
89
88
  "mkdocs-material>=9.5.9",
90
89
  "mkdocstrings[python]",
91
- "mkdocs-ultralytics-plugin>=0.1.26", # for meta descriptions and images, dates and authors
90
+ "mkdocs-ultralytics-plugin>=0.1.28", # for meta descriptions and images, dates and authors
92
91
  "mkdocs-macros-plugin>=1.0.5", # duplicating content (i.e. export tables) in multiple places
93
92
  ]
94
93
  export = [
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.184"
3
+ __version__ = "8.3.186"
4
4
 
5
5
  import os
6
6
 
@@ -30,14 +30,14 @@ download: |
30
30
  import json
31
31
  from pathlib import Path
32
32
 
33
- from tqdm import tqdm
33
+ from ultralytics.utils import TQDM
34
34
  from ultralytics.utils.downloads import download
35
35
 
36
36
  def argoverse2yolo(set):
37
37
  """Convert Argoverse dataset annotations to YOLO format for object detection tasks."""
38
38
  labels = {}
39
39
  a = json.load(open(set, "rb"))
40
- for annot in tqdm(a["annotations"], desc=f"Converting {set} to YOLOv5 format..."):
40
+ for annot in TQDM(a["annotations"], desc=f"Converting {set} to YOLOv5 format..."):
41
41
  img_id = annot["image_id"]
42
42
  img_name = a["images"][img_id]["name"]
43
43
  img_label_name = f"{img_name[:-3]}txt"
@@ -387,8 +387,8 @@ download: |
387
387
  from pathlib import Path
388
388
 
389
389
  import numpy as np
390
- from tqdm import tqdm
391
390
 
391
+ from ultralytics.utils import TQDM
392
392
  from ultralytics.utils.checks import check_requirements
393
393
  from ultralytics.utils.downloads import download
394
394
  from ultralytics.utils.ops import xyxy2xywhn
@@ -419,7 +419,7 @@ download: |
419
419
  download([f"{url}images/v2/patch{i}.tar.gz" for i in range(16, patches)], dir=images, curl=True, threads=8)
420
420
 
421
421
  # Move
422
- for f in tqdm(images.rglob("*.jpg"), desc=f"Moving {split} images"):
422
+ for f in TQDM(images.rglob("*.jpg"), desc=f"Moving {split} images"):
423
423
  f.rename(images / f.name) # move to /images/{split}
424
424
 
425
425
  # Labels
@@ -428,7 +428,7 @@ download: |
428
428
  for cid, cat in enumerate(names):
429
429
  catIds = coco.getCatIds(catNms=[cat])
430
430
  imgIds = coco.getImgIds(catIds=catIds)
431
- for im in tqdm(coco.loadImgs(imgIds), desc=f"Class {cid + 1}/{len(names)} {cat}"):
431
+ for im in TQDM(coco.loadImgs(imgIds), desc=f"Class {cid + 1}/{len(names)} {cat}"):
432
432
  width, height = im["width"], im["height"]
433
433
  path = Path(im["file_name"]) # image filename
434
434
  try:
@@ -25,8 +25,8 @@ download: |
25
25
 
26
26
  import numpy as np
27
27
  import pandas as pd
28
- from tqdm import tqdm
29
28
 
29
+ from ultralytics.utils import TQDM
30
30
  from ultralytics.utils.downloads import download
31
31
  from ultralytics.utils.ops import xyxy2xywh
32
32
 
@@ -49,7 +49,7 @@ download: |
49
49
  images, unique_images = x[:, 0], np.unique(x[:, 0])
50
50
  with open((dir / d).with_suffix(".txt").__str__().replace("annotations_", ""), "w", encoding="utf-8") as f:
51
51
  f.writelines(f"./images/{s}\n" for s in unique_images)
52
- for im in tqdm(unique_images, desc=f"Converting {dir / d}"):
52
+ for im in TQDM(unique_images, desc=f"Converting {dir / d}"):
53
53
  cls = 0 # single-class dataset
54
54
  with open((dir / "labels" / im).with_suffix(".txt"), "a", encoding="utf-8") as f:
55
55
  for r in x[images == im]:
@@ -48,10 +48,8 @@ download: |
48
48
  import xml.etree.ElementTree as ET
49
49
  from pathlib import Path
50
50
 
51
- from tqdm import tqdm
52
-
53
51
  from ultralytics.utils.downloads import download
54
-
52
+ from ultralytics.utils import TQDM
55
53
 
56
54
  def convert_label(path, lb_path, year, image_id):
57
55
  """Converts XML annotations from VOC format to YOLO format by extracting bounding boxes and class IDs."""
@@ -99,7 +97,7 @@ download: |
99
97
 
100
98
  with open(path / f"VOC{year}/ImageSets/Main/{image_set}.txt") as f:
101
99
  image_ids = f.read().strip().split()
102
- for id in tqdm(image_ids, desc=f"{image_set}{year}"):
100
+ for id in TQDM(image_ids, desc=f"{image_set}{year}"):
103
101
  f = path / f"VOC{year}/JPEGImages/{id}.jpg" # old img path
104
102
  lb_path = (lbs_path / f.name).with_suffix(".txt") # new label path
105
103
  f.rename(imgs_path / f.name) # move image
@@ -34,12 +34,12 @@ download: |
34
34
  import shutil
35
35
 
36
36
  from ultralytics.utils.downloads import download
37
+ from ultralytics.utils import TQDM
37
38
 
38
39
 
39
40
  def visdrone2yolo(dir, split, source_name=None):
40
41
  """Convert VisDrone annotations to YOLO format with images/{split} and labels/{split} structure."""
41
42
  from PIL import Image
42
- from tqdm import tqdm
43
43
 
44
44
  source_dir = dir / (source_name or f"VisDrone2019-DET-{split}")
45
45
  images_dir = dir / "images" / split
@@ -52,7 +52,7 @@ download: |
52
52
  for img in source_images_dir.glob("*.jpg"):
53
53
  img.rename(images_dir / img.name)
54
54
 
55
- for f in tqdm((source_dir / "annotations").glob("*.txt"), desc=f"Converting {split}"):
55
+ for f in TQDM((source_dir / "annotations").glob("*.txt"), desc=f"Converting {split}"):
56
56
  img_size = Image.open(images_dir / f.with_suffix(".jpg").name).size
57
57
  dw, dh = 1.0 / img_size[0], 1.0 / img_size[1]
58
58
  lines = []
@@ -85,8 +85,8 @@ download: |
85
85
 
86
86
  import numpy as np
87
87
  from PIL import Image
88
- from tqdm import tqdm
89
88
 
89
+ from ultralytics.utils import TQDM
90
90
  from ultralytics.data.utils import autosplit
91
91
  from ultralytics.utils.ops import xyxy2xywhn
92
92
 
@@ -110,7 +110,7 @@ download: |
110
110
  47, 48, 49, -1, 50, 51, -1, 52, -1, -1, -1, 53, 54, -1, 55, -1, -1, 56, -1, 57, -1, 58, 59]
111
111
 
112
112
  shapes = {}
113
- for feature in tqdm(data["features"], desc=f"Converting {fname}"):
113
+ for feature in TQDM(data["features"], desc=f"Converting {fname}"):
114
114
  p = feature["properties"]
115
115
  if p["bounds_imcoords"]:
116
116
  id = p["image_id"]
@@ -22,7 +22,7 @@ from ultralytics.data.loaders import (
22
22
  SourceTypes,
23
23
  autocast_list,
24
24
  )
25
- from ultralytics.data.utils import IMG_FORMATS, PIN_MEMORY, VID_FORMATS
25
+ from ultralytics.data.utils import IMG_FORMATS, VID_FORMATS
26
26
  from ultralytics.utils import RANK, colorstr
27
27
  from ultralytics.utils.checks import check_file
28
28
 
@@ -206,7 +206,7 @@ def build_dataloader(dataset, batch: int, workers: int, shuffle: bool = True, ra
206
206
  shuffle=shuffle and sampler is None,
207
207
  num_workers=nw,
208
208
  sampler=sampler,
209
- pin_memory=PIN_MEMORY,
209
+ pin_memory=nd > 0,
210
210
  collate_fn=getattr(dataset, "collate_fn", None),
211
211
  worker_init_fn=seed_worker,
212
212
  generator=generator,
@@ -613,7 +613,7 @@ def yolo_bbox2segment(
613
613
  from ultralytics.utils.ops import xywh2xyxy
614
614
 
615
615
  # NOTE: add placeholder to pass class index check
616
- dataset = YOLODataset(im_dir, data=dict(names=list(range(1000))))
616
+ dataset = YOLODataset(im_dir, data=dict(names=list(range(1000)), channels=3))
617
617
  if len(dataset.labels[0]["segments"]) > 0: # if it's segment data
618
618
  LOGGER.info("Segmentation labels detected, no need to generate new ones!")
619
619
  return
@@ -85,7 +85,7 @@ class YOLODataset(BaseDataset):
85
85
  self.use_obb = task == "obb"
86
86
  self.data = data
87
87
  assert not (self.use_segments and self.use_keypoints), "Can not use both segments and keypoints."
88
- super().__init__(*args, channels=self.data["channels"], **kwargs)
88
+ super().__init__(*args, channels=self.data.get("channels", 3), **kwargs)
89
89
 
90
90
  def cache_labels(self, path: Path = Path("./labels.cache")) -> Dict:
91
91
  """
@@ -19,7 +19,6 @@ from ultralytics.nn.autobackend import check_class_names
19
19
  from ultralytics.utils import (
20
20
  DATASETS_DIR,
21
21
  LOGGER,
22
- MACOS,
23
22
  NUM_THREADS,
24
23
  ROOT,
25
24
  SETTINGS_FILE,
@@ -37,7 +36,6 @@ from ultralytics.utils.ops import segments2boxes
37
36
  HELP_URL = "See https://docs.ultralytics.com/datasets for dataset formatting guidance."
38
37
  IMG_FORMATS = {"bmp", "dng", "jpeg", "jpg", "mpo", "png", "tif", "tiff", "webp", "pfm", "heic"} # image suffixes
39
38
  VID_FORMATS = {"asf", "avi", "gif", "m4v", "mkv", "mov", "mp4", "mpeg", "mpg", "ts", "wmv", "webm"} # video suffixes
40
- PIN_MEMORY = str(os.getenv("PIN_MEMORY", not MACOS)).lower() == "true" # global pin_memory for dataloaders
41
39
  FORMATS_HELP_MSG = f"Supported formats are:\nimages: {IMG_FORMATS}\nvideos: {VID_FORMATS}"
42
40
 
43
41
 
@@ -1479,7 +1479,10 @@ class IOSDetectModel(torch.nn.Module):
1479
1479
  if w == h:
1480
1480
  self.normalize = 1.0 / w # scalar
1481
1481
  else:
1482
- self.normalize = torch.tensor([1.0 / w, 1.0 / h, 1.0 / w, 1.0 / h]) # broadcast (slower, smaller)
1482
+ self.normalize = torch.tensor(
1483
+ [1.0 / w, 1.0 / h, 1.0 / w, 1.0 / h], # broadcast (slower, smaller)
1484
+ device=next(model.parameters()).device,
1485
+ )
1483
1486
 
1484
1487
  def forward(self, x):
1485
1488
  """Normalize predictions of object detection model with input size-dependent factors."""
@@ -115,8 +115,9 @@ class RegionCounter(BaseSolution):
115
115
 
116
116
  # Display region counts
117
117
  for region in self.counting_regions:
118
- x1, y1, x2, y2 = map(int, region["polygon"].bounds)
119
- pts = [(x1, y1), (x2, y1), (x2, y2), (x1, y2)]
118
+ poly = region["polygon"]
119
+ pts = list(map(tuple, np.array(poly.exterior.coords, dtype=np.int32)))
120
+ (x1, y1), (x2, y2) = [(int(poly.centroid.x), int(poly.centroid.y))] * 2
120
121
  annotator.draw_region(pts, region["region_color"], self.line_width * 2)
121
122
  annotator.adaptive_label(
122
123
  [x1, y1, x2, y2],
@@ -12,7 +12,6 @@ import subprocess
12
12
  import sys
13
13
  import threading
14
14
  import time
15
- import warnings
16
15
  from pathlib import Path
17
16
  from threading import Lock
18
17
  from types import SimpleNamespace
@@ -22,10 +21,10 @@ from urllib.parse import unquote
22
21
  import cv2
23
22
  import numpy as np
24
23
  import torch
25
- import tqdm
26
24
 
27
25
  from ultralytics import __version__
28
26
  from ultralytics.utils.patches import imread, imshow, imwrite, torch_save # for patches
27
+ from ultralytics.utils.tqdm import TQDM # noqa
29
28
 
30
29
  # PyTorch Multi-GPU DDP Constants
31
30
  RANK = int(os.getenv("RANK", -1))
@@ -41,7 +40,6 @@ DEFAULT_CFG_PATH = ROOT / "cfg/default.yaml"
41
40
  NUM_THREADS = min(8, max(1, os.cpu_count() - 1)) # number of YOLO multiprocessing threads
42
41
  AUTOINSTALL = str(os.getenv("YOLO_AUTOINSTALL", True)).lower() == "true" # global auto-install mode
43
42
  VERBOSE = str(os.getenv("YOLO_VERBOSE", True)).lower() == "true" # global verbose mode
44
- TQDM_BAR_FORMAT = "{l_bar}{bar:10}{r_bar}" if VERBOSE else None # tqdm bar format
45
43
  LOGGING_NAME = "ultralytics"
46
44
  MACOS, LINUX, WINDOWS = (platform.system() == x for x in ["Darwin", "Linux", "Windows"]) # environment booleans
47
45
  MACOS_VERSION = platform.mac_ver()[0] if MACOS else None
@@ -130,65 +128,6 @@ os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" # suppress verbose TF compiler warning
130
128
  os.environ["TORCH_CPP_LOG_LEVEL"] = "ERROR" # suppress "NNPACK.cpp could not initialize NNPACK" warnings
131
129
  os.environ["KINETO_LOG_LEVEL"] = "5" # suppress verbose PyTorch profiler output when computing FLOPs
132
130
 
133
- if TQDM_RICH := str(os.getenv("YOLO_TQDM_RICH", False)).lower() == "true":
134
- from tqdm import rich
135
-
136
-
137
- class TQDM(rich.tqdm if TQDM_RICH else tqdm.tqdm):
138
- """
139
- A custom TQDM progress bar class that extends the original tqdm functionality.
140
-
141
- This class modifies the behavior of the original tqdm progress bar based on global settings and provides
142
- additional customization options for Ultralytics projects. The progress bar is automatically disabled when
143
- VERBOSE is False or when explicitly disabled.
144
-
145
- Attributes:
146
- disable (bool): Whether to disable the progress bar. Determined by the global VERBOSE setting and
147
- any passed 'disable' argument.
148
- bar_format (str): The format string for the progress bar. Uses the global TQDM_BAR_FORMAT if not
149
- explicitly set.
150
-
151
- Methods:
152
- __init__: Initialize the TQDM object with custom settings.
153
- __iter__: Return self as iterator to satisfy Iterable interface.
154
-
155
- Examples:
156
- >>> from ultralytics.utils import TQDM
157
- >>> for i in TQDM(range(100)):
158
- ... # Your processing code here
159
- ... pass
160
- """
161
-
162
- def __init__(self, *args, **kwargs):
163
- """
164
- Initialize a custom TQDM progress bar with Ultralytics-specific settings.
165
-
166
- Args:
167
- *args (Any): Variable length argument list to be passed to the original tqdm constructor.
168
- **kwargs (Any): Arbitrary keyword arguments to be passed to the original tqdm constructor.
169
-
170
- Notes:
171
- - The progress bar is disabled if VERBOSE is False or if 'disable' is explicitly set to True in kwargs.
172
- - The default bar format is set to TQDM_BAR_FORMAT unless overridden in kwargs.
173
- - In GitHub Actions, progress bars only update at completion to keep CI logs clean.
174
-
175
- Examples:
176
- >>> from ultralytics.utils import TQDM
177
- >>> for i in TQDM(range(100)):
178
- ... # Your code here
179
- ... pass
180
- """
181
- warnings.filterwarnings("ignore", category=tqdm.TqdmExperimentalWarning) # suppress tqdm.rich warning
182
- if is_github_action_running():
183
- kwargs["mininterval"] = 60 # only update every 60 seconds
184
- kwargs["disable"] = not VERBOSE or kwargs.get("disable", False) or LOGGER.getEffectiveLevel() > 20
185
- kwargs.setdefault("bar_format", TQDM_BAR_FORMAT) # override default value if passed
186
- super().__init__(*args, **kwargs)
187
-
188
- def __iter__(self):
189
- """Return self as iterator to satisfy Iterable interface."""
190
- return super().__iter__()
191
-
192
131
 
193
132
  class DataExportMixin:
194
133
  """
@@ -49,7 +49,7 @@ class GPUInfo:
49
49
  self.gpu_stats: List[Dict[str, Any]] = []
50
50
 
51
51
  try:
52
- check_requirements("pynvml>=12.0.0")
52
+ check_requirements("nvidia-ml-py>=12.0.0")
53
53
  self.pynvml = __import__("pynvml")
54
54
  self.pynvml.nvmlInit()
55
55
  self.nvml_available = True
@@ -118,11 +118,11 @@ def zip_directory(directory, compress: bool = True, exclude=(".DS_Store", "__MAC
118
118
  raise FileNotFoundError(f"Directory '{directory}' does not exist.")
119
119
 
120
120
  # Zip with progress bar
121
- files_to_zip = [f for f in directory.rglob("*") if f.is_file() and all(x not in f.name for x in exclude)]
121
+ files = [f for f in directory.rglob("*") if f.is_file() and all(x not in f.name for x in exclude)] # files to zip
122
122
  zip_file = directory.with_suffix(".zip")
123
123
  compression = ZIP_DEFLATED if compress else ZIP_STORED
124
124
  with ZipFile(zip_file, "w", compression) as f:
125
- for file in TQDM(files_to_zip, desc=f"Zipping {directory} to {zip_file}...", unit="file", disable=not progress):
125
+ for file in TQDM(files, desc=f"Zipping {directory} to {zip_file}...", unit="files", disable=not progress):
126
126
  f.write(file, file.relative_to(directory))
127
127
 
128
128
  return zip_file # return path to zip file
@@ -187,7 +187,7 @@ def unzip_file(
187
187
  LOGGER.warning(f"Skipping {file} unzip as destination directory {path} is not empty.")
188
188
  return path
189
189
 
190
- for f in TQDM(files, desc=f"Unzipping {file} to {Path(path).resolve()}...", unit="file", disable=not progress):
190
+ for f in TQDM(files, desc=f"Unzipping {file} to {Path(path).resolve()}...", unit="files", disable=not progress):
191
191
  # Ensure the file is within the extract_path to avoid path traversal security vulnerability
192
192
  if ".." in Path(f).parts:
193
193
  LOGGER.warning(f"Potentially insecure file path: {f}, skipping extraction.")
@@ -295,7 +295,8 @@ def safe_download(
295
295
  progress: bool = True,
296
296
  ):
297
297
  """
298
- Download files from a URL with options for retrying, unzipping, and deleting the downloaded file.
298
+ Download files from a URL with options for retrying, unzipping, and deleting the downloaded file. Enhanced with
299
+ robust partial download detection using Content-Length validation.
299
300
 
300
301
  Args:
301
302
  url (str): The URL of the file to be downloaded.
@@ -342,24 +343,33 @@ def safe_download(
342
343
  s = "sS" * (not progress) # silent
343
344
  r = subprocess.run(["curl", "-#", f"-{s}L", url, "-o", f, "--retry", "3", "-C", "-"]).returncode
344
345
  assert r == 0, f"Curl return value {r}"
346
+ expected_size = None # Can't get size with curl
345
347
  else: # urllib download
346
- # torch.hub.download_url_to_file(url, f, progress=progress) # do not use as progress tqdm differs
347
- with request.urlopen(url) as response, TQDM(
348
- total=int(response.getheader("Content-Length", 0)),
349
- desc=desc,
350
- disable=not progress,
351
- unit="B",
352
- unit_scale=True,
353
- unit_divisor=1024,
354
- ) as pbar:
355
- with open(f, "wb") as f_opened:
356
- for data in response:
357
- f_opened.write(data)
358
- pbar.update(len(data))
348
+ with request.urlopen(url) as response:
349
+ expected_size = int(response.getheader("Content-Length", 0))
350
+ with TQDM(
351
+ total=expected_size,
352
+ desc=desc,
353
+ disable=not progress,
354
+ unit="B",
355
+ unit_scale=True,
356
+ unit_divisor=1024,
357
+ ) as pbar:
358
+ with open(f, "wb") as f_opened:
359
+ for data in response:
360
+ f_opened.write(data)
361
+ pbar.update(len(data))
359
362
 
360
363
  if f.exists():
361
- if f.stat().st_size > min_bytes:
362
- break # success
364
+ file_size = f.stat().st_size
365
+ if file_size > min_bytes:
366
+ # Check if download is complete (only if we have expected_size)
367
+ if expected_size and file_size != expected_size:
368
+ LOGGER.warning(
369
+ f"Partial download: {file_size}/{expected_size} bytes ({file_size / expected_size * 100:.1f}%)"
370
+ )
371
+ else:
372
+ break # success
363
373
  f.unlink() # remove partial downloads
364
374
  except Exception as e:
365
375
  if i == 0 and not is_online():