dgenerate-ultralytics-headless 8.3.185__tar.gz → 8.3.187__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.
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/PKG-INFO +6 -8
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/README.md +3 -3
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/dgenerate_ultralytics_headless.egg-info/PKG-INFO +6 -8
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/dgenerate_ultralytics_headless.egg-info/SOURCES.txt +1 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/dgenerate_ultralytics_headless.egg-info/requires.txt +2 -4
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/pyproject.toml +2 -4
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/test_python.py +2 -10
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/__init__.py +1 -1
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/Argoverse.yaml +2 -2
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/Objects365.yaml +3 -3
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/SKU-110K.yaml +4 -4
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/VOC.yaml +2 -4
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/VisDrone.yaml +2 -2
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/xView.yaml +2 -2
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/build.py +2 -2
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/utils.py +0 -2
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/exporter.py +4 -1
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/results.py +1 -4
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/trainer.py +3 -3
- dgenerate_ultralytics_headless-8.3.187/ultralytics/models/sam/__init__.py +12 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/sam.py +6 -6
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/predict.py +363 -6
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/region_counter.py +3 -2
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/__init__.py +25 -162
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/autodevice.py +1 -1
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/benchmarks.py +9 -8
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/wb.py +9 -3
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/downloads.py +29 -19
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/logger.py +10 -11
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/plotting.py +13 -20
- dgenerate_ultralytics_headless-8.3.187/ultralytics/utils/tqdm.py +462 -0
- dgenerate_ultralytics_headless-8.3.185/ultralytics/models/sam/__init__.py +0 -6
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/LICENSE +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/dgenerate_ultralytics_headless.egg-info/dependency_links.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/dgenerate_ultralytics_headless.egg-info/entry_points.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/dgenerate_ultralytics_headless.egg-info/top_level.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/setup.cfg +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/conftest.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/test_cli.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/test_cuda.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/test_engine.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/test_exports.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/test_integrations.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/tests/test_solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/assets/bus.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/assets/zidane.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/default.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/annotator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/augment.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/base.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/converter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/dataset.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/loaders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/scripts/download_weights.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/scripts/get_coco.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/split.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/data/split_dota.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/predictor.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/tuner.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/engine/validator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/hub/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/hub/auth.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/hub/google/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/hub/session.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/hub/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/fastsam/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/fastsam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/fastsam/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/fastsam/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/fastsam/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/nas/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/nas/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/nas/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/nas/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/rtdetr/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/rtdetr/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/rtdetr/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/rtdetr/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/rtdetr/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/amg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/build.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/blocks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/decoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/encoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/sam/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/classify/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/classify/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/classify/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/detect/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/detect/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/detect/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/obb/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/obb/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/obb/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/pose/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/pose/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/pose/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/segment/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/segment/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/segment/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/world/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/world/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/world/train_world.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/autobackend.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/modules/activation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/modules/block.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/modules/conv.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/modules/head.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/tasks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/nn/text_model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/py.typed +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/ai_gym.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/analytics.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/config.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/distance_calculation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/heatmap.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/instance_segmentation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/object_blurrer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/object_counter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/object_cropper.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/parking_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/queue_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/security_alarm.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/similarity_search.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/speed_estimation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/streamlit_inference.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/trackzone.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/solutions/vision_eye.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/basetrack.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/bot_sort.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/byte_tracker.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/track.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/utils/gmc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/trackers/utils/matching.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/autobatch.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/base.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/clearml.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/comet.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/dvc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/hub.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/neptune.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/platform.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/raytune.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/checks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/dist.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/errors.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/export.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/files.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/instance.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/metrics.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/patches.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/tal.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/torch_utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/ultralytics/utils/triton.py +0 -0
- {dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/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.
|
3
|
+
Version: 8.3.187
|
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,10 +42,9 @@ 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
|
-
Requires-Dist:
|
47
|
+
Requires-Dist: polars
|
49
48
|
Requires-Dist: ultralytics-thop>=2.0.0
|
50
49
|
Provides-Extra: dev
|
51
50
|
Requires-Dist: ipython; extra == "dev"
|
@@ -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.
|
57
|
+
Requires-Dist: mkdocs-ultralytics-plugin>=0.1.29; 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"
|
@@ -81,7 +80,6 @@ Requires-Dist: ipython; extra == "extra"
|
|
81
80
|
Requires-Dist: albumentations>=1.4.6; extra == "extra"
|
82
81
|
Requires-Dist: faster-coco-eval>=1.6.7; extra == "extra"
|
83
82
|
Provides-Extra: typing
|
84
|
-
Requires-Dist: pandas-stubs; extra == "typing"
|
85
83
|
Requires-Dist: scipy-stubs; extra == "typing"
|
86
84
|
Requires-Dist: types-pillow; extra == "typing"
|
87
85
|
Requires-Dist: types-psutil; extra == "typing"
|
@@ -123,7 +121,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
|
|
123
121
|
|
124
122
|
<div align="center">
|
125
123
|
<p>
|
126
|
-
<a href="https://www.ultralytics.com/
|
124
|
+
<a href="https://www.ultralytics.com/events/yolovision?utm_source=github&utm_medium=org&utm_campaign=yv25_event" target="_blank">
|
127
125
|
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a>
|
128
126
|
</p>
|
129
127
|
|
@@ -131,7 +129,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
|
|
131
129
|
|
132
130
|
<div>
|
133
131
|
<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://
|
132
|
+
<a href="https://clickpy.clickhouse.com/dashboard/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
|
135
133
|
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
|
136
134
|
<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
135
|
<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 +178,7 @@ See below for quickstart installation and usage examples. For comprehensive guid
|
|
180
178
|
|
181
179
|
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
180
|
|
183
|
-
[](https://pypi.org/project/ultralytics/) [](https://
|
181
|
+
[](https://pypi.org/project/ultralytics/) [](https://clickpy.clickhouse.com/dashboard/ultralytics) [](https://pypi.org/project/ultralytics/)
|
184
182
|
|
185
183
|
```bash
|
186
184
|
pip install ultralytics
|
@@ -31,7 +31,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
|
|
31
31
|
|
32
32
|
<div align="center">
|
33
33
|
<p>
|
34
|
-
<a href="https://www.ultralytics.com/
|
34
|
+
<a href="https://www.ultralytics.com/events/yolovision?utm_source=github&utm_medium=org&utm_campaign=yv25_event" target="_blank">
|
35
35
|
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a>
|
36
36
|
</p>
|
37
37
|
|
@@ -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://
|
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
|
-
[](https://pypi.org/project/ultralytics/) [](https://
|
91
|
+
[](https://pypi.org/project/ultralytics/) [](https://clickpy.clickhouse.com/dashboard/ultralytics) [](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.
|
3
|
+
Version: 8.3.187
|
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,10 +42,9 @@ 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
|
-
Requires-Dist:
|
47
|
+
Requires-Dist: polars
|
49
48
|
Requires-Dist: ultralytics-thop>=2.0.0
|
50
49
|
Provides-Extra: dev
|
51
50
|
Requires-Dist: ipython; extra == "dev"
|
@@ -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.
|
57
|
+
Requires-Dist: mkdocs-ultralytics-plugin>=0.1.29; 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"
|
@@ -81,7 +80,6 @@ Requires-Dist: ipython; extra == "extra"
|
|
81
80
|
Requires-Dist: albumentations>=1.4.6; extra == "extra"
|
82
81
|
Requires-Dist: faster-coco-eval>=1.6.7; extra == "extra"
|
83
82
|
Provides-Extra: typing
|
84
|
-
Requires-Dist: pandas-stubs; extra == "typing"
|
85
83
|
Requires-Dist: scipy-stubs; extra == "typing"
|
86
84
|
Requires-Dist: types-pillow; extra == "typing"
|
87
85
|
Requires-Dist: types-psutil; extra == "typing"
|
@@ -123,7 +121,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
|
|
123
121
|
|
124
122
|
<div align="center">
|
125
123
|
<p>
|
126
|
-
<a href="https://www.ultralytics.com/
|
124
|
+
<a href="https://www.ultralytics.com/events/yolovision?utm_source=github&utm_medium=org&utm_campaign=yv25_event" target="_blank">
|
127
125
|
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a>
|
128
126
|
</p>
|
129
127
|
|
@@ -131,7 +129,7 @@ The workflow runs automatically every day at midnight UTC to check for new Ultra
|
|
131
129
|
|
132
130
|
<div>
|
133
131
|
<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://
|
132
|
+
<a href="https://clickpy.clickhouse.com/dashboard/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
|
135
133
|
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
|
136
134
|
<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
135
|
<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 +178,7 @@ See below for quickstart installation and usage examples. For comprehensive guid
|
|
180
178
|
|
181
179
|
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
180
|
|
183
|
-
[](https://pypi.org/project/ultralytics/) [](https://
|
181
|
+
[](https://pypi.org/project/ultralytics/) [](https://clickpy.clickhouse.com/dashboard/ultralytics) [](https://pypi.org/project/ultralytics/)
|
184
182
|
|
185
183
|
```bash
|
186
184
|
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,10 +7,9 @@ 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
|
+
polars
|
14
13
|
ultralytics-thop>=2.0.0
|
15
14
|
|
16
15
|
[:sys_platform == "win32"]
|
@@ -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
|
+
mkdocs-ultralytics-plugin>=0.1.29
|
28
27
|
mkdocs-macros-plugin>=1.0.5
|
29
28
|
|
30
29
|
[export]
|
@@ -61,7 +60,6 @@ streamlit>=1.29.0
|
|
61
60
|
flask>=3.0.1
|
62
61
|
|
63
62
|
[typing]
|
64
|
-
pandas-stubs
|
65
63
|
scipy-stubs
|
66
64
|
types-pillow
|
67
65
|
types-psutil
|
{dgenerate_ultralytics_headless-8.3.185 → dgenerate_ultralytics_headless-8.3.187}/pyproject.toml
RENAMED
@@ -71,10 +71,9 @@ 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
|
+
"polars",
|
78
77
|
"ultralytics-thop>=2.0.0", # FLOPs computation https://github.com/ultralytics/thop
|
79
78
|
]
|
80
79
|
|
@@ -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.
|
90
|
+
"mkdocs-ultralytics-plugin>=0.1.29", # 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 = [
|
@@ -119,7 +118,6 @@ extra = [
|
|
119
118
|
"faster-coco-eval>=1.6.7", # COCO mAP
|
120
119
|
]
|
121
120
|
typing = [
|
122
|
-
"pandas-stubs",
|
123
121
|
"scipy-stubs",
|
124
122
|
"types-pillow",
|
125
123
|
"types-psutil",
|
@@ -209,16 +209,11 @@ def test_val(task: str, weight: str, data: str) -> None:
|
|
209
209
|
metrics = model.val(data=data, imgsz=32, plots=plots)
|
210
210
|
metrics.to_df()
|
211
211
|
metrics.to_csv()
|
212
|
-
metrics.to_xml()
|
213
|
-
metrics.to_html()
|
214
212
|
metrics.to_json()
|
215
|
-
|
216
|
-
metrics.confusion_matrix.to_df()
|
213
|
+
# Tests for confusion matrix export
|
214
|
+
metrics.confusion_matrix.to_df()
|
217
215
|
metrics.confusion_matrix.to_csv()
|
218
|
-
metrics.confusion_matrix.to_xml()
|
219
|
-
metrics.confusion_matrix.to_html()
|
220
216
|
metrics.confusion_matrix.to_json()
|
221
|
-
metrics.confusion_matrix.to_sql()
|
222
217
|
|
223
218
|
|
224
219
|
def test_train_scratch():
|
@@ -304,10 +299,7 @@ def test_results(model: str):
|
|
304
299
|
r.save_crop(save_dir=TMP / "runs/tests/crops/")
|
305
300
|
r.to_df(decimals=3) # Align to_ methods: https://docs.ultralytics.com/modes/predict/#working-with-results
|
306
301
|
r.to_csv()
|
307
|
-
r.to_xml()
|
308
|
-
r.to_html()
|
309
302
|
r.to_json(normalize=True)
|
310
|
-
r.to_sql()
|
311
303
|
r.plot(pil=True, save=True, filename=TMP / "results_plot_save.jpg")
|
312
304
|
r.plot(conf=True, boxes=True)
|
313
305
|
print(r, len(r), r.path) # print after methods
|
@@ -30,14 +30,14 @@ download: |
|
|
30
30
|
import json
|
31
31
|
from pathlib import Path
|
32
32
|
|
33
|
-
from
|
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
|
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
|
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
|
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:
|
@@ -24,9 +24,9 @@ download: |
|
|
24
24
|
from pathlib import Path
|
25
25
|
|
26
26
|
import numpy as np
|
27
|
-
import
|
28
|
-
from tqdm import tqdm
|
27
|
+
import polars as pl
|
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
|
|
@@ -45,11 +45,11 @@ download: |
|
|
45
45
|
# Convert labels
|
46
46
|
names = "image", "x1", "y1", "x2", "y2", "class", "image_width", "image_height" # column names
|
47
47
|
for d in "annotations_train.csv", "annotations_val.csv", "annotations_test.csv":
|
48
|
-
x =
|
48
|
+
x = pl.read_csv(dir / "annotations" / d, names=names).to_numpy() # annotations
|
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
|
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
|
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
|
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
|
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,
|
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=
|
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,
|
@@ -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(
|
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."""
|
@@ -222,12 +222,9 @@ class Results(SimpleClass, DataExportMixin):
|
|
222
222
|
save_txt: Save detection results to a text file.
|
223
223
|
save_crop: Save cropped detection images to specified directory.
|
224
224
|
summary: Convert inference results to a summarized dictionary.
|
225
|
-
to_df: Convert detection results to a
|
225
|
+
to_df: Convert detection results to a Polars Dataframe.
|
226
226
|
to_json: Convert detection results to JSON format.
|
227
227
|
to_csv: Convert detection results to a CSV format.
|
228
|
-
to_xml: Convert detection results to XML format.
|
229
|
-
to_html: Convert detection results to HTML format.
|
230
|
-
to_sql: Convert detection results to an SQL-compatible format.
|
231
228
|
|
232
229
|
Examples:
|
233
230
|
>>> results = model("path/to/image.jpg")
|
@@ -540,10 +540,10 @@ class BaseTrainer:
|
|
540
540
|
torch.cuda.empty_cache()
|
541
541
|
|
542
542
|
def read_results_csv(self):
|
543
|
-
"""Read results.csv into a dictionary using
|
544
|
-
import
|
543
|
+
"""Read results.csv into a dictionary using polars."""
|
544
|
+
import polars as pl # scope for faster 'import ultralytics'
|
545
545
|
|
546
|
-
return
|
546
|
+
return pl.read_csv(self.csv).to_dict(as_series=False)
|
547
547
|
|
548
548
|
def _model_train(self):
|
549
549
|
"""Set model in training mode."""
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
from .model import SAM
|
4
|
+
from .predict import Predictor, SAM2DynamicInteractivePredictor, SAM2Predictor, SAM2VideoPredictor
|
5
|
+
|
6
|
+
__all__ = (
|
7
|
+
"SAM",
|
8
|
+
"Predictor",
|
9
|
+
"SAM2Predictor",
|
10
|
+
"SAM2VideoPredictor",
|
11
|
+
"SAM2DynamicInteractivePredictor",
|
12
|
+
) # tuple or list of exportable items
|
@@ -574,7 +574,7 @@ class SAM2Model(torch.nn.Module):
|
|
574
574
|
object_score_logits,
|
575
575
|
)
|
576
576
|
|
577
|
-
def _use_mask_as_output(self, backbone_features, high_res_features
|
577
|
+
def _use_mask_as_output(self, mask_inputs, backbone_features=None, high_res_features=None):
|
578
578
|
"""Process mask inputs directly as output, bypassing SAM encoder/decoder."""
|
579
579
|
# Use -10/+10 as logits for neg/pos pixels (very close to 0/1 in prob after sigmoid).
|
580
580
|
out_scale, out_bias = 20.0, -10.0 # sigmoid(-10.0)=4.5398e-05
|
@@ -589,7 +589,7 @@ class SAM2Model(torch.nn.Module):
|
|
589
589
|
)
|
590
590
|
# a dummy IoU prediction of all 1's under mask input
|
591
591
|
ious = mask_inputs.new_ones(mask_inputs.size(0), 1).float()
|
592
|
-
if not self.use_obj_ptrs_in_encoder:
|
592
|
+
if not self.use_obj_ptrs_in_encoder or backbone_features is None or high_res_features is None:
|
593
593
|
# all zeros as a dummy object pointer (of shape [B, C])
|
594
594
|
obj_ptr = torch.zeros(mask_inputs.size(0), self.hidden_dim, device=mask_inputs.device)
|
595
595
|
else:
|
@@ -869,7 +869,6 @@ class SAM2Model(torch.nn.Module):
|
|
869
869
|
prev_sam_mask_logits,
|
870
870
|
):
|
871
871
|
"""Perform a single tracking step, updating object masks and memory features based on current frame inputs."""
|
872
|
-
current_out = {"point_inputs": point_inputs, "mask_inputs": mask_inputs}
|
873
872
|
# High-resolution feature maps for the SAM head, reshape (HW)BC => BCHW
|
874
873
|
if len(current_vision_feats) > 1:
|
875
874
|
high_res_features = [
|
@@ -883,7 +882,7 @@ class SAM2Model(torch.nn.Module):
|
|
883
882
|
# (see it as a GT mask) without using a SAM prompt encoder + mask decoder.
|
884
883
|
pix_feat = current_vision_feats[-1].permute(1, 2, 0)
|
885
884
|
pix_feat = pix_feat.view(-1, self.hidden_dim, *feat_sizes[-1])
|
886
|
-
sam_outputs = self._use_mask_as_output(pix_feat, high_res_features
|
885
|
+
sam_outputs = self._use_mask_as_output(mask_inputs, pix_feat, high_res_features)
|
887
886
|
else:
|
888
887
|
# fused the visual feature with previous memory features in the memory bank
|
889
888
|
pix_feat = self._prepare_memory_conditioned_features(
|
@@ -911,7 +910,7 @@ class SAM2Model(torch.nn.Module):
|
|
911
910
|
high_res_features=high_res_features,
|
912
911
|
multimask_output=multimask_output,
|
913
912
|
)
|
914
|
-
return
|
913
|
+
return sam_outputs, high_res_features, pix_feat
|
915
914
|
|
916
915
|
def _encode_memory_in_output(
|
917
916
|
self,
|
@@ -960,7 +959,8 @@ class SAM2Model(torch.nn.Module):
|
|
960
959
|
prev_sam_mask_logits=None,
|
961
960
|
):
|
962
961
|
"""Perform a single tracking step, updating object masks and memory features based on current frame inputs."""
|
963
|
-
current_out
|
962
|
+
current_out = {}
|
963
|
+
sam_outputs, _, _ = self._track_step(
|
964
964
|
frame_idx,
|
965
965
|
is_init_cond_frame,
|
966
966
|
current_vision_feats,
|