dgenerate-ultralytics-headless 8.3.165__tar.gz → 8.3.167__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.165 → dgenerate_ultralytics_headless-8.3.167}/PKG-INFO +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/dgenerate_ultralytics_headless.egg-info/PKG-INFO +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/__init__.py +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/Argoverse.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/ImageNet.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/Objects365.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/SKU-110K.yaml +4 -4
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/VOC.yaml +3 -3
- dgenerate_ultralytics_headless-8.3.167/ultralytics/cfg/datasets/VisDrone.yaml +87 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/african-wildlife.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/brain-tumor.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/carparts-seg.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco-pose.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco128-seg.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco128.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco8-grayscale.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco8-multispectral.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco8-pose.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco8-seg.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/coco8.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/crack-seg.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/dog-pose.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/dota8-multispectral.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/dota8.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/hand-keypoints.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/lvis.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/medical-pills.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/open-images-v7.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/package-seg.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/signature.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/tiger-pose.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/datasets/xView.yaml +1 -1
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/exporter.py +37 -18
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/model.py +1 -5
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/autobackend.py +7 -8
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/modules/head.py +4 -6
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/metrics.py +8 -9
- dgenerate_ultralytics_headless-8.3.165/ultralytics/cfg/datasets/VisDrone.yaml +0 -80
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/LICENSE +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/README.md +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/dgenerate_ultralytics_headless.egg-info/SOURCES.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/dgenerate_ultralytics_headless.egg-info/dependency_links.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/dgenerate_ultralytics_headless.egg-info/entry_points.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/dgenerate_ultralytics_headless.egg-info/requires.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/dgenerate_ultralytics_headless.egg-info/top_level.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/pyproject.toml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/setup.cfg +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/conftest.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/test_cli.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/test_cuda.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/test_engine.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/test_exports.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/test_integrations.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/test_python.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/tests/test_solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/assets/bus.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/assets/zidane.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/default.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/annotator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/augment.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/base.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/build.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/converter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/dataset.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/loaders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/scripts/download_weights.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/scripts/get_coco.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/split.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/split_dota.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/data/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/predictor.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/results.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/trainer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/tuner.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/engine/validator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/hub/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/hub/auth.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/hub/google/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/hub/session.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/hub/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/fastsam/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/fastsam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/fastsam/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/fastsam/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/fastsam/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/nas/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/nas/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/nas/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/nas/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/rtdetr/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/rtdetr/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/rtdetr/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/rtdetr/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/rtdetr/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/amg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/build.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/blocks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/decoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/encoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/sam.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/sam/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/classify/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/classify/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/classify/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/detect/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/detect/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/detect/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/obb/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/obb/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/obb/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/pose/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/pose/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/pose/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/segment/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/segment/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/segment/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/world/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/world/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/world/train_world.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/modules/activation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/modules/block.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/modules/conv.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/tasks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/nn/text_model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/ai_gym.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/analytics.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/config.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/distance_calculation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/heatmap.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/instance_segmentation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/object_blurrer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/object_counter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/object_cropper.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/parking_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/queue_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/region_counter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/security_alarm.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/similarity_search.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/speed_estimation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/streamlit_inference.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/trackzone.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/solutions/vision_eye.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/basetrack.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/bot_sort.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/byte_tracker.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/track.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/utils/gmc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/trackers/utils/matching.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/autobatch.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/autodevice.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/benchmarks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/base.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/clearml.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/comet.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/dvc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/hub.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/neptune.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/raytune.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/callbacks/wb.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/checks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/dist.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/downloads.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/errors.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/export.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/files.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/instance.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/patches.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/plotting.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/tal.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/torch_utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/ultralytics/utils/triton.py +0 -0
- {dgenerate_ultralytics_headless-8.3.165 → dgenerate_ultralytics_headless-8.3.167}/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.167
|
4
4
|
Summary: Automatically built Ultralytics package with python-opencv-headless dependency instead of python-opencv
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: dgenerate-ultralytics-headless
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.167
|
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>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── Argoverse
|
9
|
+
# └── Argoverse ← downloads here (31.5 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: Argoverse # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota1.5
|
9
|
+
# └── dota1.5 ← downloads here (2GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: DOTAv1.5 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota1
|
9
|
+
# └── dota1 ← downloads here (2GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: DOTAv1 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── GlobalWheat2020
|
9
|
+
# └── GlobalWheat2020 ← downloads here (7.0 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: GlobalWheat2020 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── homeobjects-3K
|
9
|
+
# └── homeobjects-3K ← downloads here (390 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: homeobjects-3K # dataset root dir
|
@@ -7,7 +7,7 @@
|
|
7
7
|
# parent
|
8
8
|
# ├── ultralytics
|
9
9
|
# └── datasets
|
10
|
-
# └── imagenet
|
10
|
+
# └── imagenet ← downloads here (144 GB)
|
11
11
|
|
12
12
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
13
13
|
path: imagenet # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── Objects365
|
9
|
+
# └── Objects365 ← downloads here (712 GB = 367G data + 345G zips)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: Objects365 # dataset root dir
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── SKU-110K
|
9
|
+
# └── SKU-110K ← downloads here (13.6 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: SKU-110K # dataset root dir
|
13
|
-
train: train.txt # train images (relative to 'path')
|
14
|
-
val: val.txt # val images (relative to 'path')
|
15
|
-
test: test.txt # test images (optional)
|
13
|
+
train: train.txt # train images (relative to 'path') 8219 images
|
14
|
+
val: val.txt # val images (relative to 'path') 588 images
|
15
|
+
test: test.txt # test images (optional) 2936 images
|
16
16
|
|
17
17
|
# Classes
|
18
18
|
names:
|
@@ -6,16 +6,16 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── VOC
|
9
|
+
# └── VOC ← downloads here (2.8 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: VOC
|
13
|
-
train: # train images (relative to 'path')
|
13
|
+
train: # train images (relative to 'path') 16551 images
|
14
14
|
- images/train2012
|
15
15
|
- images/train2007
|
16
16
|
- images/val2012
|
17
17
|
- images/val2007
|
18
|
-
val: # val images (relative to 'path')
|
18
|
+
val: # val images (relative to 'path') 4952 images
|
19
19
|
- images/test2007
|
20
20
|
test: # test images (optional)
|
21
21
|
- images/test2007
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
# VisDrone2019-DET dataset https://github.com/VisDrone/VisDrone-Dataset by Tianjin University
|
4
|
+
# Documentation: https://docs.ultralytics.com/datasets/detect/visdrone/
|
5
|
+
# Example usage: yolo train data=VisDrone.yaml
|
6
|
+
# parent
|
7
|
+
# ├── ultralytics
|
8
|
+
# └── datasets
|
9
|
+
# └── VisDrone ← downloads here (2.3 GB)
|
10
|
+
|
11
|
+
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
+
path: VisDrone # dataset root dir
|
13
|
+
train: images/train # train images (relative to 'path') 6471 images
|
14
|
+
val: images/val # val images (relative to 'path') 548 images
|
15
|
+
test: images/test # test-dev images (optional) 1610 images
|
16
|
+
|
17
|
+
# Classes
|
18
|
+
names:
|
19
|
+
0: pedestrian
|
20
|
+
1: people
|
21
|
+
2: bicycle
|
22
|
+
3: car
|
23
|
+
4: van
|
24
|
+
5: truck
|
25
|
+
6: tricycle
|
26
|
+
7: awning-tricycle
|
27
|
+
8: bus
|
28
|
+
9: motor
|
29
|
+
|
30
|
+
# Download script/URL (optional) ---------------------------------------------------------------------------------------
|
31
|
+
download: |
|
32
|
+
import os
|
33
|
+
from pathlib import Path
|
34
|
+
import shutil
|
35
|
+
|
36
|
+
from ultralytics.utils.downloads import download
|
37
|
+
|
38
|
+
|
39
|
+
def visdrone2yolo(dir, split, source_name=None):
|
40
|
+
"""Convert VisDrone annotations to YOLO format with images/{split} and labels/{split} structure."""
|
41
|
+
from PIL import Image
|
42
|
+
from tqdm import tqdm
|
43
|
+
|
44
|
+
source_dir = dir / (source_name or f"VisDrone2019-DET-{split}")
|
45
|
+
images_dir = dir / "images" / split
|
46
|
+
labels_dir = dir / "labels" / split
|
47
|
+
labels_dir.mkdir(parents=True, exist_ok=True)
|
48
|
+
|
49
|
+
# Move images to new structure
|
50
|
+
if (source_images_dir := source_dir / "images").exists():
|
51
|
+
images_dir.mkdir(parents=True, exist_ok=True)
|
52
|
+
for img in source_images_dir.glob("*.jpg"):
|
53
|
+
img.rename(images_dir / img.name)
|
54
|
+
|
55
|
+
for f in tqdm((source_dir / "annotations").glob("*.txt"), desc=f"Converting {split}"):
|
56
|
+
img_size = Image.open(images_dir / f.with_suffix(".jpg").name).size
|
57
|
+
dw, dh = 1.0 / img_size[0], 1.0 / img_size[1]
|
58
|
+
lines = []
|
59
|
+
|
60
|
+
with open(f, encoding="utf-8") as file:
|
61
|
+
for row in [x.split(",") for x in file.read().strip().splitlines()]:
|
62
|
+
if row[4] != "0": # Skip ignored regions
|
63
|
+
x, y, w, h = map(int, row[:4])
|
64
|
+
cls = int(row[5]) - 1
|
65
|
+
# Convert to YOLO format
|
66
|
+
x_center, y_center = (x + w / 2) * dw, (y + h / 2) * dh
|
67
|
+
w_norm, h_norm = w * dw, h * dh
|
68
|
+
lines.append(f"{cls} {x_center:.6f} {y_center:.6f} {w_norm:.6f} {h_norm:.6f}\n")
|
69
|
+
|
70
|
+
(labels_dir / f.name).write_text("".join(lines), encoding="utf-8")
|
71
|
+
|
72
|
+
|
73
|
+
# Download (ignores test-challenge split)
|
74
|
+
dir = Path(yaml["path"]) # dataset root dir
|
75
|
+
urls = [
|
76
|
+
"https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-train.zip",
|
77
|
+
"https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-val.zip",
|
78
|
+
"https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-dev.zip",
|
79
|
+
# "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip",
|
80
|
+
]
|
81
|
+
download(urls, dir=dir, curl=True, threads=4)
|
82
|
+
|
83
|
+
# Convert
|
84
|
+
splits = {"VisDrone2019-DET-train": "train", "VisDrone2019-DET-val": "val", "VisDrone2019-DET-test-dev": "test"}
|
85
|
+
for folder, split in splits.items():
|
86
|
+
visdrone2yolo(dir, split, folder) # convert VisDrone annotations to YOLO labels
|
87
|
+
shutil.rmtree(dir / folder) # cleanup original directory
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── african-wildlife
|
9
|
+
# └── african-wildlife ← downloads here (100 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: african-wildlife # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── brain-tumor
|
9
|
+
# └── brain-tumor ← downloads here (4.21 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: brain-tumor # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── carparts-seg
|
9
|
+
# └── carparts-seg ← downloads here (133 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: carparts-seg # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco-pose
|
9
|
+
# └── coco-pose ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco-pose # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco
|
9
|
+
# └── coco ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco128-seg
|
9
|
+
# └── coco128-seg ← downloads here (7 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco128-seg # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco128
|
9
|
+
# └── coco128 ← downloads here (7 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco128 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-grayscale
|
9
|
+
# └── coco8-grayscale ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-grayscale # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-multispectral
|
9
|
+
# └── coco8-multispectral ← downloads here (20.2 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-multispectral # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-pose
|
9
|
+
# └── coco8-pose ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-pose # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-seg
|
9
|
+
# └── coco8-seg ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-seg # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8
|
9
|
+
# └── coco8 ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── crack-seg
|
9
|
+
# └── crack-seg ← downloads here (91.6 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: crack-seg # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dog-pose
|
9
|
+
# └── dog-pose ← downloads here (337 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: dog-pose # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota8-multispectral
|
9
|
+
# └── dota8-multispectral ← downloads here (37.3MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: dota8-multispectral # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota8
|
9
|
+
# └── dota8 ← downloads here (1MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: dota8 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── hand-keypoints
|
9
|
+
# └── hand-keypoints ← downloads here (369 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: hand-keypoints # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── lvis
|
9
|
+
# └── lvis ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: lvis # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── medical-pills
|
9
|
+
# └── medical-pills ← downloads here (8.19 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: medical-pills # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── open-images-v7
|
9
|
+
# └── open-images-v7 ← downloads here (561 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: open-images-v7 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── package-seg
|
9
|
+
# └── package-seg ← downloads here (103 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: package-seg # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── signature
|
9
|
+
# └── signature ← downloads here (11.3 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: signature # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── tiger-pose
|
9
|
+
# └── tiger-pose ← downloads here (49.8 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: tiger-pose # dataset root dir
|
@@ -7,7 +7,7 @@
|
|
7
7
|
# parent
|
8
8
|
# ├── ultralytics
|
9
9
|
# └── datasets
|
10
|
-
# └── xView
|
10
|
+
# └── xView ← downloads here (20.7 GB)
|
11
11
|
|
12
12
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
13
13
|
path: xView # dataset root dir
|
@@ -142,7 +142,7 @@ def export_formats():
|
|
142
142
|
["PaddlePaddle", "paddle", "_paddle_model", True, True, ["batch"]],
|
143
143
|
["MNN", "mnn", ".mnn", True, True, ["batch", "half", "int8"]],
|
144
144
|
["NCNN", "ncnn", "_ncnn_model", True, True, ["batch", "half"]],
|
145
|
-
["IMX", "imx", "_imx_model", True, True, ["int8", "fraction"]],
|
145
|
+
["IMX", "imx", "_imx_model", True, True, ["int8", "fraction", "nms"]],
|
146
146
|
["RKNN", "rknn", "_rknn_model", False, False, ["batch", "name"]],
|
147
147
|
]
|
148
148
|
return dict(zip(["Format", "Argument", "Suffix", "CPU", "GPU", "Arguments"], zip(*x)))
|
@@ -313,8 +313,11 @@ class Exporter:
|
|
313
313
|
if not self.args.int8:
|
314
314
|
LOGGER.warning("IMX export requires int8=True, setting int8=True.")
|
315
315
|
self.args.int8 = True
|
316
|
-
if
|
317
|
-
|
316
|
+
if not self.args.nms:
|
317
|
+
LOGGER.warning("IMX export requires nms=True, setting nms=True.")
|
318
|
+
self.args.nms = True
|
319
|
+
if model.task not in {"detect", "pose"}:
|
320
|
+
raise ValueError("IMX export only supported for detection and pose estimation models.")
|
318
321
|
if not hasattr(model, "names"):
|
319
322
|
model.names = default_class_names()
|
320
323
|
model.names = check_class_names(model.names)
|
@@ -428,7 +431,7 @@ class Exporter:
|
|
428
431
|
|
429
432
|
y = None
|
430
433
|
for _ in range(2): # dry runs
|
431
|
-
y = NMSModel(model, self.args)(im) if self.args.nms and not coreml else model(im)
|
434
|
+
y = NMSModel(model, self.args)(im) if self.args.nms and not (coreml or imx) else model(im)
|
432
435
|
if self.args.half and onnx and self.device.type != "cpu":
|
433
436
|
im, model = im.half(), model.half() # to FP16
|
434
437
|
|
@@ -1166,15 +1169,14 @@ class Exporter:
|
|
1166
1169
|
)
|
1167
1170
|
if getattr(self.model, "end2end", False):
|
1168
1171
|
raise ValueError("IMX export is not supported for end2end models.")
|
1169
|
-
check_requirements(
|
1170
|
-
("model-compression-toolkit>=2.3.0,<2.4.1", "sony-custom-layers>=0.3.0", "edge-mdt-tpc>=1.1.0")
|
1171
|
-
)
|
1172
|
+
check_requirements(("model-compression-toolkit>=2.4.1", "sony-custom-layers>=0.3.0", "edge-mdt-tpc>=1.1.0"))
|
1172
1173
|
check_requirements("imx500-converter[pt]>=3.16.1") # Separate requirements for imx500-converter
|
1174
|
+
check_requirements("mct-quantizers>=1.6.0") # Separate for compatibility with model-compression-toolkit
|
1173
1175
|
|
1174
1176
|
import model_compression_toolkit as mct
|
1175
1177
|
import onnx
|
1176
1178
|
from edgemdt_tpc import get_target_platform_capabilities
|
1177
|
-
from sony_custom_layers.pytorch import
|
1179
|
+
from sony_custom_layers.pytorch import multiclass_nms_with_indices
|
1178
1180
|
|
1179
1181
|
LOGGER.info(f"\n{prefix} starting export with model_compression_toolkit {mct.__version__}...")
|
1180
1182
|
|
@@ -1198,13 +1200,23 @@ class Exporter:
|
|
1198
1200
|
|
1199
1201
|
bit_cfg = mct.core.BitWidthConfig()
|
1200
1202
|
if "C2PSA" in self.model.__str__(): # YOLO11
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1203
|
+
if self.model.task == "detect":
|
1204
|
+
layer_names = ["sub", "mul_2", "add_14", "cat_21"]
|
1205
|
+
weights_memory = 2585350.2439
|
1206
|
+
n_layers = 238 # 238 layers for fused YOLO11n
|
1207
|
+
elif self.model.task == "pose":
|
1208
|
+
layer_names = ["sub", "mul_2", "add_14", "cat_22", "cat_23", "mul_4", "add_15"]
|
1209
|
+
weights_memory = 2437771.67
|
1210
|
+
n_layers = 257 # 257 layers for fused YOLO11n-pose
|
1204
1211
|
else: # YOLOv8
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1212
|
+
if self.model.task == "detect":
|
1213
|
+
layer_names = ["sub", "mul", "add_6", "cat_17"]
|
1214
|
+
weights_memory = 2550540.8
|
1215
|
+
n_layers = 168 # 168 layers for fused YOLOv8n
|
1216
|
+
elif self.model.task == "pose":
|
1217
|
+
layer_names = ["add_7", "mul_2", "cat_19", "mul", "sub", "add_6", "cat_18"]
|
1218
|
+
weights_memory = 2482451.85
|
1219
|
+
n_layers = 187 # 187 layers for fused YOLO11n-pose
|
1208
1220
|
|
1209
1221
|
# Check if the model has the expected number of layers
|
1210
1222
|
if len(list(self.model.modules())) != n_layers:
|
@@ -1251,6 +1263,7 @@ class Exporter:
|
|
1251
1263
|
score_threshold: float = 0.001,
|
1252
1264
|
iou_threshold: float = 0.7,
|
1253
1265
|
max_detections: int = 300,
|
1266
|
+
task: str = "detect",
|
1254
1267
|
):
|
1255
1268
|
"""
|
1256
1269
|
Initialize NMSWrapper with PyTorch Module and NMS parameters.
|
@@ -1260,34 +1273,40 @@ class Exporter:
|
|
1260
1273
|
score_threshold (float): Score threshold for non-maximum suppression.
|
1261
1274
|
iou_threshold (float): Intersection over union threshold for non-maximum suppression.
|
1262
1275
|
max_detections (int): The number of detections to return.
|
1276
|
+
task (str): Task type, either 'detect' or 'pose'.
|
1263
1277
|
"""
|
1264
1278
|
super().__init__()
|
1265
1279
|
self.model = model
|
1266
1280
|
self.score_threshold = score_threshold
|
1267
1281
|
self.iou_threshold = iou_threshold
|
1268
1282
|
self.max_detections = max_detections
|
1283
|
+
self.task = task
|
1269
1284
|
|
1270
1285
|
def forward(self, images):
|
1271
1286
|
"""Forward pass with model inference and NMS post-processing."""
|
1272
1287
|
# model inference
|
1273
1288
|
outputs = self.model(images)
|
1274
1289
|
|
1275
|
-
boxes = outputs[0]
|
1276
|
-
|
1277
|
-
nms = multiclass_nms(
|
1290
|
+
boxes, scores = outputs[0], outputs[1]
|
1291
|
+
nms_outputs = multiclass_nms_with_indices(
|
1278
1292
|
boxes=boxes,
|
1279
1293
|
scores=scores,
|
1280
1294
|
score_threshold=self.score_threshold,
|
1281
1295
|
iou_threshold=self.iou_threshold,
|
1282
1296
|
max_detections=self.max_detections,
|
1283
1297
|
)
|
1284
|
-
|
1298
|
+
if self.task == "pose":
|
1299
|
+
kpts = outputs[2] # (bs, max_detections, kpts 17*3)
|
1300
|
+
out_kpts = torch.gather(kpts, 1, nms_outputs.indices.unsqueeze(-1).expand(-1, -1, kpts.size(-1)))
|
1301
|
+
return nms_outputs.boxes, nms_outputs.scores, nms_outputs.labels, out_kpts
|
1302
|
+
return nms_outputs
|
1285
1303
|
|
1286
1304
|
quant_model = NMSWrapper(
|
1287
1305
|
model=quant_model,
|
1288
1306
|
score_threshold=self.args.conf or 0.001,
|
1289
1307
|
iou_threshold=self.args.iou,
|
1290
1308
|
max_detections=self.args.max_det,
|
1309
|
+
task=self.model.task,
|
1291
1310
|
).to(self.device)
|
1292
1311
|
|
1293
1312
|
f = Path(str(self.file).replace(self.file.suffix, "_imx_model"))
|
@@ -243,10 +243,6 @@ class YOLOE(Model):
|
|
243
243
|
"""
|
244
244
|
super().__init__(model=model, task=task, verbose=verbose)
|
245
245
|
|
246
|
-
# Assign default COCO class names when there are no custom names
|
247
|
-
if not hasattr(self.model, "names"):
|
248
|
-
self.model.names = YAML.load(ROOT / "cfg/datasets/coco8.yaml").get("names")
|
249
|
-
|
250
246
|
@property
|
251
247
|
def task_map(self) -> Dict[str, Dict[str, Any]]:
|
252
248
|
"""Map head to model, validator, and predictor classes."""
|
@@ -287,7 +283,7 @@ class YOLOE(Model):
|
|
287
283
|
Examples:
|
288
284
|
>>> model = YOLOE("yoloe-11s-seg.pt")
|
289
285
|
>>> img = torch.rand(1, 3, 640, 640)
|
290
|
-
>>> visual_features =
|
286
|
+
>>> visual_features = torch.rand(1, 1, 80, 80)
|
291
287
|
>>> pe = model.get_visual_pe(img, visual_features)
|
292
288
|
"""
|
293
289
|
assert isinstance(self.model, YOLOEModel)
|