dgenerate-ultralytics-headless 8.3.234__tar.gz → 8.3.235__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.234 → dgenerate_ultralytics_headless-8.3.235}/PKG-INFO +2 -2
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/dgenerate_ultralytics_headless.egg-info/PKG-INFO +2 -2
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/dgenerate_ultralytics_headless.egg-info/requires.txt +1 -1
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/pyproject.toml +1 -1
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_exports.py +5 -3
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/__init__.py +1 -1
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/exporter.py +25 -15
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/autobackend.py +12 -7
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/clearml.py +3 -9
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/neptune.py +3 -9
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/checks.py +3 -1
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/export/imx.py +28 -7
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/patches.py +19 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/LICENSE +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/README.md +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/dgenerate_ultralytics_headless.egg-info/SOURCES.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/dgenerate_ultralytics_headless.egg-info/dependency_links.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/dgenerate_ultralytics_headless.egg-info/entry_points.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/dgenerate_ultralytics_headless.egg-info/top_level.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/setup.cfg +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/conftest.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_cli.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_cuda.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_engine.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_integrations.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_python.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/assets/bus.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/assets/zidane.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/construction-ppe.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/kitti.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/default.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/annotator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/augment.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/base.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/build.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/converter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/dataset.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/loaders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/scripts/download_weights.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/scripts/get_coco.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/split.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/split_dota.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/data/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/predictor.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/results.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/trainer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/tuner.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/engine/validator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/hub/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/hub/auth.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/hub/google/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/hub/session.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/hub/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/fastsam/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/fastsam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/fastsam/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/fastsam/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/fastsam/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/nas/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/nas/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/nas/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/nas/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/rtdetr/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/rtdetr/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/rtdetr/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/rtdetr/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/rtdetr/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/amg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/build.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/blocks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/decoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/encoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/sam.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/sam/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/classify/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/classify/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/classify/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/detect/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/detect/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/detect/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/obb/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/obb/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/obb/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/pose/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/pose/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/pose/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/segment/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/segment/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/segment/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/world/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/world/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/world/train_world.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/modules/activation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/modules/block.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/modules/conv.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/modules/head.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/tasks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/nn/text_model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/py.typed +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/ai_gym.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/analytics.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/config.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/distance_calculation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/heatmap.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/instance_segmentation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/object_blurrer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/object_counter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/object_cropper.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/parking_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/queue_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/region_counter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/security_alarm.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/similarity_search.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/speed_estimation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/streamlit_inference.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/trackzone.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/solutions/vision_eye.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/basetrack.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/bot_sort.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/byte_tracker.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/track.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/utils/gmc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/trackers/utils/matching.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/autobatch.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/autodevice.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/benchmarks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/base.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/comet.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/dvc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/hub.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/platform.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/raytune.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/callbacks/wb.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/cpu.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/dist.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/downloads.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/errors.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/events.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/export/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/export/engine.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/export/tensorflow.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/files.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/git.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/instance.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/logger.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/metrics.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/nms.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/plotting.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/tal.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/torch_utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/tqdm.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/ultralytics/utils/triton.py +0 -0
- {dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/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.235
|
|
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>
|
|
@@ -57,7 +57,7 @@ Provides-Extra: export
|
|
|
57
57
|
Requires-Dist: numpy<2.0.0; extra == "export"
|
|
58
58
|
Requires-Dist: onnx>=1.12.0; platform_system != "Darwin" and extra == "export"
|
|
59
59
|
Requires-Dist: onnx<1.18.0,>=1.12.0; platform_system == "Darwin" and extra == "export"
|
|
60
|
-
Requires-Dist: coremltools>=
|
|
60
|
+
Requires-Dist: coremltools>=9.0; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
|
|
61
61
|
Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
|
|
62
62
|
Requires-Dist: openvino>=2024.0.0; extra == "export"
|
|
63
63
|
Requires-Dist: tensorflow<=2.19.0,>=2.0.0; extra == "export"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dgenerate-ultralytics-headless
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.235
|
|
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>
|
|
@@ -57,7 +57,7 @@ Provides-Extra: export
|
|
|
57
57
|
Requires-Dist: numpy<2.0.0; extra == "export"
|
|
58
58
|
Requires-Dist: onnx>=1.12.0; platform_system != "Darwin" and extra == "export"
|
|
59
59
|
Requires-Dist: onnx<1.18.0,>=1.12.0; platform_system == "Darwin" and extra == "export"
|
|
60
|
-
Requires-Dist: coremltools>=
|
|
60
|
+
Requires-Dist: coremltools>=9.0; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
|
|
61
61
|
Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
|
|
62
62
|
Requires-Dist: openvino>=2024.0.0; extra == "export"
|
|
63
63
|
Requires-Dist: tensorflow<=2.19.0,>=2.0.0; extra == "export"
|
{dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/pyproject.toml
RENAMED
|
@@ -91,7 +91,7 @@ export = [
|
|
|
91
91
|
"numpy<2.0.0", # TF 2.20 compatibility
|
|
92
92
|
"onnx>=1.12.0; platform_system != 'Darwin'", # ONNX export
|
|
93
93
|
"onnx>=1.12.0,<1.18.0; platform_system == 'Darwin'", # TF inference hanging on MacOS
|
|
94
|
-
"coremltools>=
|
|
94
|
+
"coremltools>=9.0; platform_system != 'Windows' and python_version <= '3.13'", # CoreML supported on macOS and Linux
|
|
95
95
|
"scikit-learn>=1.3.2; platform_system != 'Windows' and python_version <= '3.13'", # CoreML k-means quantization
|
|
96
96
|
"openvino>=2024.0.0", # OpenVINO export
|
|
97
97
|
"tensorflow>=2.0.0,<=2.19.0", # TF bug https://github.com/ultralytics/ultralytics/issues/5161
|
|
@@ -248,11 +248,13 @@ def test_export_ncnn_matrix(task, half, batch):
|
|
|
248
248
|
shutil.rmtree(file, ignore_errors=True) # retry in case of potential lingering multi-threaded file usage errors
|
|
249
249
|
|
|
250
250
|
|
|
251
|
-
@pytest.mark.skipif(
|
|
252
|
-
@pytest.mark.skipif(not
|
|
251
|
+
@pytest.mark.skipif(not TORCH_2_9, reason="IMX export requires torch>=2.9.0")
|
|
252
|
+
@pytest.mark.skipif(not checks.IS_PYTHON_MINIMUM_3_9, reason="Requires Python>=3.9")
|
|
253
|
+
@pytest.mark.skipif(WINDOWS or MACOS, reason="Skipping test on Windows and Macos")
|
|
254
|
+
@pytest.mark.skipif(ARM64, reason="IMX export is not supported on ARM64 architectures.")
|
|
253
255
|
def test_export_imx():
|
|
254
256
|
"""Test YOLO export to IMX format."""
|
|
255
|
-
model = YOLO(
|
|
257
|
+
model = YOLO(MODEL)
|
|
256
258
|
file = model.export(format="imx", imgsz=32)
|
|
257
259
|
YOLO(file)(SOURCE, imgsz=32)
|
|
258
260
|
|
|
@@ -103,7 +103,7 @@ from ultralytics.utils import (
|
|
|
103
103
|
get_default_args,
|
|
104
104
|
)
|
|
105
105
|
from ultralytics.utils.checks import (
|
|
106
|
-
|
|
106
|
+
IS_PYTHON_MINIMUM_3_9,
|
|
107
107
|
check_imgsz,
|
|
108
108
|
check_requirements,
|
|
109
109
|
check_version,
|
|
@@ -365,11 +365,13 @@ class Exporter:
|
|
|
365
365
|
if not self.args.int8:
|
|
366
366
|
LOGGER.warning("IMX export requires int8=True, setting int8=True.")
|
|
367
367
|
self.args.int8 = True
|
|
368
|
-
if not self.args.nms and model.task in {"detect", "pose"}:
|
|
368
|
+
if not self.args.nms and model.task in {"detect", "pose", "segment"}:
|
|
369
369
|
LOGGER.warning("IMX export requires nms=True, setting nms=True.")
|
|
370
370
|
self.args.nms = True
|
|
371
|
-
if model.task not in {"detect", "pose", "classify"}:
|
|
372
|
-
raise ValueError(
|
|
371
|
+
if model.task not in {"detect", "pose", "classify", "segment"}:
|
|
372
|
+
raise ValueError(
|
|
373
|
+
"IMX export only supported for detection, pose estimation, classification, and segmentation models."
|
|
374
|
+
)
|
|
373
375
|
if not hasattr(model, "names"):
|
|
374
376
|
model.names = default_class_names()
|
|
375
377
|
model.names = check_class_names(model.names)
|
|
@@ -858,7 +860,9 @@ class Exporter:
|
|
|
858
860
|
def export_coreml(self, prefix=colorstr("CoreML:")):
|
|
859
861
|
"""Export YOLO model to CoreML format."""
|
|
860
862
|
mlmodel = self.args.format.lower() == "mlmodel" # legacy *.mlmodel export format requested
|
|
861
|
-
check_requirements(
|
|
863
|
+
check_requirements(
|
|
864
|
+
["coremltools>=9.0", "numpy>=1.14.5,<=2.3.5"]
|
|
865
|
+
) # latest numpy 2.4.0rc1 breaks coremltools exports
|
|
862
866
|
import coremltools as ct
|
|
863
867
|
|
|
864
868
|
LOGGER.info(f"\n{prefix} starting export with coremltools {ct.__version__}...")
|
|
@@ -1086,7 +1090,7 @@ class Exporter:
|
|
|
1086
1090
|
# TorchAO release compatibility table bug https://github.com/pytorch/ao/issues/2919
|
|
1087
1091
|
# Setuptools bug: https://github.com/pypa/setuptools/issues/4483
|
|
1088
1092
|
check_requirements("setuptools<71.0.0") # Setuptools bug: https://github.com/pypa/setuptools/issues/4483
|
|
1089
|
-
check_requirements(("executorch==1.0.
|
|
1093
|
+
check_requirements(("executorch==1.0.1", "flatbuffers"))
|
|
1090
1094
|
|
|
1091
1095
|
import torch
|
|
1092
1096
|
from executorch.backends.xnnpack.partition.xnnpack_partitioner import XnnpackPartitioner
|
|
@@ -1177,18 +1181,24 @@ class Exporter:
|
|
|
1177
1181
|
def export_imx(self, prefix=colorstr("IMX:")):
|
|
1178
1182
|
"""Export YOLO model to IMX format."""
|
|
1179
1183
|
assert LINUX, (
|
|
1180
|
-
"
|
|
1181
|
-
"See https://developer.aitrios.sony-semicon.com/en/
|
|
1184
|
+
"Export only supported on Linux."
|
|
1185
|
+
"See https://developer.aitrios.sony-semicon.com/en/docs/raspberry-pi-ai-camera/imx500-converter?version=3.17.3&progLang="
|
|
1182
1186
|
)
|
|
1183
|
-
assert not
|
|
1184
|
-
assert
|
|
1187
|
+
assert not ARM64, "IMX export is not supported on ARM64 architectures."
|
|
1188
|
+
assert IS_PYTHON_MINIMUM_3_9, "IMX export is only supported on Python 3.9 or above."
|
|
1189
|
+
|
|
1185
1190
|
if getattr(self.model, "end2end", False):
|
|
1186
1191
|
raise ValueError("IMX export is not supported for end2end models.")
|
|
1187
1192
|
check_requirements(
|
|
1188
|
-
(
|
|
1193
|
+
(
|
|
1194
|
+
"model-compression-toolkit>=2.4.1",
|
|
1195
|
+
"edge-mdt-cl<1.1.0",
|
|
1196
|
+
"edge-mdt-tpc>=1.2.0",
|
|
1197
|
+
"pydantic<=2.11.7",
|
|
1198
|
+
)
|
|
1189
1199
|
)
|
|
1190
|
-
|
|
1191
|
-
check_requirements("
|
|
1200
|
+
|
|
1201
|
+
check_requirements("imx500-converter[pt]>=3.17.3")
|
|
1192
1202
|
|
|
1193
1203
|
# Install Java>=17
|
|
1194
1204
|
try:
|
|
@@ -1200,10 +1210,10 @@ class Exporter:
|
|
|
1200
1210
|
cmd = None
|
|
1201
1211
|
if IS_UBUNTU or IS_DEBIAN_TRIXIE:
|
|
1202
1212
|
LOGGER.info(f"\n{prefix} installing Java 21 for Ubuntu...")
|
|
1203
|
-
cmd = (["sudo"] if is_sudo_available() else []) + ["apt", "install", "-y", "openjdk-21-jre"]
|
|
1213
|
+
cmd = (["sudo"] if is_sudo_available() else []) + ["apt-get", "install", "-y", "openjdk-21-jre"]
|
|
1204
1214
|
elif IS_RASPBERRYPI or IS_DEBIAN_BOOKWORM:
|
|
1205
1215
|
LOGGER.info(f"\n{prefix} installing Java 17 for Raspberry Pi or Debian ...")
|
|
1206
|
-
cmd = (["sudo"] if is_sudo_available() else []) + ["apt", "install", "-y", "openjdk-17-jre"]
|
|
1216
|
+
cmd = (["sudo"] if is_sudo_available() else []) + ["apt-get", "install", "-y", "openjdk-17-jre"]
|
|
1207
1217
|
|
|
1208
1218
|
if cmd:
|
|
1209
1219
|
subprocess.run(cmd, check=True)
|
|
@@ -254,13 +254,11 @@ class AutoBackend(nn.Module):
|
|
|
254
254
|
if onnx:
|
|
255
255
|
session = onnxruntime.InferenceSession(w, providers=providers)
|
|
256
256
|
else:
|
|
257
|
-
check_requirements(
|
|
258
|
-
("model-compression-toolkit>=2.4.1", "sony-custom-layers[torch]>=0.3.0", "onnxruntime-extensions")
|
|
259
|
-
)
|
|
257
|
+
check_requirements(("model-compression-toolkit>=2.4.1", "edge-mdt-cl<1.1.0", "onnxruntime-extensions"))
|
|
260
258
|
w = next(Path(w).glob("*.onnx"))
|
|
261
259
|
LOGGER.info(f"Loading {w} for ONNX IMX inference...")
|
|
262
260
|
import mct_quantizers as mctq
|
|
263
|
-
from
|
|
261
|
+
from edgemdt_cl.pytorch.nms import nms_ort # noqa - register custom NMS ops
|
|
264
262
|
|
|
265
263
|
session_options = mctq.get_ort_session_options()
|
|
266
264
|
session_options.enable_mem_reuse = False # fix the shape mismatch from onnxruntime
|
|
@@ -402,7 +400,9 @@ class AutoBackend(nn.Module):
|
|
|
402
400
|
|
|
403
401
|
# CoreML
|
|
404
402
|
elif coreml:
|
|
405
|
-
check_requirements(
|
|
403
|
+
check_requirements(
|
|
404
|
+
["coremltools>=9.0", "numpy>=1.14.5,<=2.3.5"]
|
|
405
|
+
) # latest numpy 2.4.0rc1 breaks coremltools exports
|
|
406
406
|
LOGGER.info(f"Loading {w} for CoreML inference...")
|
|
407
407
|
import coremltools as ct
|
|
408
408
|
|
|
@@ -575,7 +575,7 @@ class AutoBackend(nn.Module):
|
|
|
575
575
|
LOGGER.info(f"Loading {w} for ExecuTorch inference...")
|
|
576
576
|
# TorchAO release compatibility table bug https://github.com/pytorch/ao/issues/2919
|
|
577
577
|
check_requirements("setuptools<71.0.0") # Setuptools bug: https://github.com/pypa/setuptools/issues/4483
|
|
578
|
-
check_requirements(("executorch==1.0.
|
|
578
|
+
check_requirements(("executorch==1.0.1", "flatbuffers"))
|
|
579
579
|
from executorch.runtime import Runtime
|
|
580
580
|
|
|
581
581
|
w = Path(w)
|
|
@@ -691,7 +691,12 @@ class AutoBackend(nn.Module):
|
|
|
691
691
|
y = np.concatenate([y[0], y[1][:, :, None], y[2][:, :, None]], axis=-1)
|
|
692
692
|
elif self.task == "pose":
|
|
693
693
|
# boxes, conf, kpts
|
|
694
|
-
y = np.concatenate([y[0], y[1][:, :, None], y[2][:, :, None], y[3]], axis=-1)
|
|
694
|
+
y = np.concatenate([y[0], y[1][:, :, None], y[2][:, :, None], y[3]], axis=-1, dtype=y[0].dtype)
|
|
695
|
+
elif self.task == "segment":
|
|
696
|
+
y = (
|
|
697
|
+
np.concatenate([y[0], y[1][:, :, None], y[2][:, :, None], y[3]], axis=-1, dtype=y[0].dtype),
|
|
698
|
+
y[4],
|
|
699
|
+
)
|
|
695
700
|
|
|
696
701
|
# OpenVINO
|
|
697
702
|
elif self.xml:
|
|
@@ -123,15 +123,9 @@ def on_train_end(trainer) -> None:
|
|
|
123
123
|
"""Log final model and training results on training completion."""
|
|
124
124
|
if task := Task.current_task():
|
|
125
125
|
# Log final results, confusion matrix and PR plots
|
|
126
|
-
|
|
127
|
-
"
|
|
128
|
-
|
|
129
|
-
"confusion_matrix_normalized.png",
|
|
130
|
-
*(f"{x}_curve.png" for x in ("F1", "PR", "P", "R")),
|
|
131
|
-
]
|
|
132
|
-
files = [(trainer.save_dir / f) for f in files if (trainer.save_dir / f).exists()] # filter existing files
|
|
133
|
-
for f in files:
|
|
134
|
-
_log_plot(title=f.stem, plot_path=f)
|
|
126
|
+
for f in [*trainer.plots.keys(), *trainer.validator.plots.keys()]:
|
|
127
|
+
if "batch" not in f.name:
|
|
128
|
+
_log_plot(title=f.stem, plot_path=f)
|
|
135
129
|
# Report final metrics
|
|
136
130
|
for k, v in trainer.validator.metrics.results_dict.items():
|
|
137
131
|
task.get_logger().report_single_value(k, v)
|
|
@@ -106,15 +106,9 @@ def on_train_end(trainer) -> None:
|
|
|
106
106
|
"""Log final results, plots, and model weights at the end of training."""
|
|
107
107
|
if run:
|
|
108
108
|
# Log final results, CM matrix + PR plots
|
|
109
|
-
|
|
110
|
-
"
|
|
111
|
-
|
|
112
|
-
"confusion_matrix_normalized.png",
|
|
113
|
-
*(f"{x}_curve.png" for x in ("F1", "PR", "P", "R")),
|
|
114
|
-
]
|
|
115
|
-
files = [(trainer.save_dir / f) for f in files if (trainer.save_dir / f).exists()] # filter
|
|
116
|
-
for f in files:
|
|
117
|
-
_log_plot(title=f.stem, plot_path=f)
|
|
109
|
+
for f in [*trainer.plots.keys(), *trainer.validator.plots.keys()]:
|
|
110
|
+
if "batch" not in f.name:
|
|
111
|
+
_log_plot(title=f.stem, plot_path=f)
|
|
118
112
|
# Log the final model
|
|
119
113
|
run[f"weights/{trainer.args.name or trainer.args.task}/{trainer.best.name}"].upload(File(str(trainer.best)))
|
|
120
114
|
|
|
@@ -410,7 +410,7 @@ def check_requirements(requirements=ROOT.parent / "requirements.txt", exclude=()
|
|
|
410
410
|
if use_uv:
|
|
411
411
|
base = (
|
|
412
412
|
f"uv pip install --no-cache-dir {packages} {commands} "
|
|
413
|
-
f"--index-strategy=unsafe-best-match --break-system-packages
|
|
413
|
+
f"--index-strategy=unsafe-best-match --break-system-packages"
|
|
414
414
|
)
|
|
415
415
|
try:
|
|
416
416
|
return subprocess.check_output(base, shell=True, stderr=subprocess.STDOUT, text=True)
|
|
@@ -947,8 +947,10 @@ check_torchvision() # check torch-torchvision compatibility
|
|
|
947
947
|
|
|
948
948
|
# Define constants
|
|
949
949
|
IS_PYTHON_3_8 = PYTHON_VERSION.startswith("3.8")
|
|
950
|
+
IS_PYTHON_3_9 = PYTHON_VERSION.startswith("3.9")
|
|
950
951
|
IS_PYTHON_3_12 = PYTHON_VERSION.startswith("3.12")
|
|
951
952
|
IS_PYTHON_3_13 = PYTHON_VERSION.startswith("3.13")
|
|
952
953
|
|
|
954
|
+
IS_PYTHON_MINIMUM_3_9 = check_python("3.9", hard=False)
|
|
953
955
|
IS_PYTHON_MINIMUM_3_10 = check_python("3.10", hard=False)
|
|
954
956
|
IS_PYTHON_MINIMUM_3_12 = check_python("3.12", hard=False)
|
|
@@ -9,8 +9,9 @@ from pathlib import Path
|
|
|
9
9
|
import numpy as np
|
|
10
10
|
import torch
|
|
11
11
|
|
|
12
|
-
from ultralytics.nn.modules import Detect, Pose
|
|
12
|
+
from ultralytics.nn.modules import Detect, Pose, Segment
|
|
13
13
|
from ultralytics.utils import LOGGER
|
|
14
|
+
from ultralytics.utils.patches import onnx_export_patch
|
|
14
15
|
from ultralytics.utils.tal import make_anchors
|
|
15
16
|
from ultralytics.utils.torch_utils import copy_attr
|
|
16
17
|
|
|
@@ -28,6 +29,7 @@ MCT_CONFIG = {
|
|
|
28
29
|
"n_layers": 257,
|
|
29
30
|
},
|
|
30
31
|
"classify": {"layer_names": [], "weights_memory": np.inf, "n_layers": 112},
|
|
32
|
+
"segment": {"layer_names": ["sub", "mul_2", "add_14", "cat_22"], "weights_memory": 2466604.8, "n_layers": 265},
|
|
31
33
|
},
|
|
32
34
|
"YOLOv8": {
|
|
33
35
|
"detect": {"layer_names": ["sub", "mul", "add_6", "cat_17"], "weights_memory": 2550540.8, "n_layers": 168},
|
|
@@ -37,6 +39,7 @@ MCT_CONFIG = {
|
|
|
37
39
|
"n_layers": 187,
|
|
38
40
|
},
|
|
39
41
|
"classify": {"layer_names": [], "weights_memory": np.inf, "n_layers": 73},
|
|
42
|
+
"segment": {"layer_names": ["sub", "mul", "add_6", "cat_18"], "weights_memory": 2580060.0, "n_layers": 195},
|
|
40
43
|
},
|
|
41
44
|
}
|
|
42
45
|
|
|
@@ -92,6 +95,8 @@ class FXModel(torch.nn.Module):
|
|
|
92
95
|
)
|
|
93
96
|
if type(m) is Pose:
|
|
94
97
|
m.forward = types.MethodType(pose_forward, m) # bind method to Detect
|
|
98
|
+
if type(m) is Segment:
|
|
99
|
+
m.forward = types.MethodType(segment_forward, m) # bind method to Detect
|
|
95
100
|
x = m(x) # run
|
|
96
101
|
y.append(x) # save output
|
|
97
102
|
return x
|
|
@@ -114,8 +119,17 @@ def pose_forward(self, x: list[torch.Tensor]) -> tuple[torch.Tensor, torch.Tenso
|
|
|
114
119
|
return (*x, pred_kpt.permute(0, 2, 1))
|
|
115
120
|
|
|
116
121
|
|
|
122
|
+
def segment_forward(self, x: list[torch.Tensor]) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]:
|
|
123
|
+
"""Forward pass for imx segmentation."""
|
|
124
|
+
p = self.proto(x[0]) # mask protos
|
|
125
|
+
bs = p.shape[0] # batch size
|
|
126
|
+
mc = torch.cat([self.cv4[i](x[i]).view(bs, self.nm, -1) for i in range(self.nl)], 2) # mask coefficients
|
|
127
|
+
x = Detect.forward(self, x)
|
|
128
|
+
return (*x, mc.transpose(1, 2), p)
|
|
129
|
+
|
|
130
|
+
|
|
117
131
|
class NMSWrapper(torch.nn.Module):
|
|
118
|
-
"""Wrap PyTorch Module with multiclass_nms layer from
|
|
132
|
+
"""Wrap PyTorch Module with multiclass_nms layer from edge-mdt-cl."""
|
|
119
133
|
|
|
120
134
|
def __init__(
|
|
121
135
|
self,
|
|
@@ -143,7 +157,7 @@ class NMSWrapper(torch.nn.Module):
|
|
|
143
157
|
|
|
144
158
|
def forward(self, images):
|
|
145
159
|
"""Forward pass with model inference and NMS post-processing."""
|
|
146
|
-
from
|
|
160
|
+
from edgemdt_cl.pytorch.nms.nms_with_indices import multiclass_nms_with_indices
|
|
147
161
|
|
|
148
162
|
# model inference
|
|
149
163
|
outputs = self.model(images)
|
|
@@ -159,6 +173,10 @@ class NMSWrapper(torch.nn.Module):
|
|
|
159
173
|
kpts = outputs[2] # (bs, max_detections, kpts 17*3)
|
|
160
174
|
out_kpts = torch.gather(kpts, 1, nms_outputs.indices.unsqueeze(-1).expand(-1, -1, kpts.size(-1)))
|
|
161
175
|
return nms_outputs.boxes, nms_outputs.scores, nms_outputs.labels, out_kpts
|
|
176
|
+
if self.task == "segment":
|
|
177
|
+
mc, proto = outputs[2], outputs[3]
|
|
178
|
+
out_mc = torch.gather(mc, 1, nms_outputs.indices.unsqueeze(-1).expand(-1, -1, mc.size(-1)))
|
|
179
|
+
return nms_outputs.boxes, nms_outputs.scores, nms_outputs.labels, out_mc, proto
|
|
162
180
|
return nms_outputs.boxes, nms_outputs.scores, nms_outputs.labels, nms_outputs.n_valid
|
|
163
181
|
|
|
164
182
|
|
|
@@ -202,7 +220,7 @@ def torch2imx(
|
|
|
202
220
|
>>> path, _ = export_imx(model, "model.imx", conf=0.25, iou=0.45, max_det=300)
|
|
203
221
|
|
|
204
222
|
Notes:
|
|
205
|
-
- Requires model_compression_toolkit, onnx, edgemdt_tpc, and
|
|
223
|
+
- Requires model_compression_toolkit, onnx, edgemdt_tpc, and edge-mdt-cl packages
|
|
206
224
|
- Only supports YOLOv8n and YOLO11n models (detection and pose tasks)
|
|
207
225
|
- Output includes quantized ONNX model, IMX binary, and labels.txt file
|
|
208
226
|
"""
|
|
@@ -218,6 +236,7 @@ def torch2imx(
|
|
|
218
236
|
img = img / 255.0
|
|
219
237
|
yield [img]
|
|
220
238
|
|
|
239
|
+
# NOTE: need tpc_version to be "4.0" for IMX500 Pose estimation models
|
|
221
240
|
tpc = get_target_platform_capabilities(tpc_version="4.0", device_type="imx500")
|
|
222
241
|
|
|
223
242
|
bit_cfg = mct.core.BitWidthConfig()
|
|
@@ -271,9 +290,11 @@ def torch2imx(
|
|
|
271
290
|
f = Path(str(file).replace(file.suffix, "_imx_model"))
|
|
272
291
|
f.mkdir(exist_ok=True)
|
|
273
292
|
onnx_model = f / Path(str(file.name).replace(file.suffix, "_imx.onnx")) # js dir
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
293
|
+
|
|
294
|
+
with onnx_export_patch():
|
|
295
|
+
mct.exporter.pytorch_export_model(
|
|
296
|
+
model=quant_model, save_model_path=onnx_model, repr_dataset=representative_dataset_gen
|
|
297
|
+
)
|
|
277
298
|
|
|
278
299
|
model_onnx = onnx.load(onnx_model) # load onnx model
|
|
279
300
|
for k, v in metadata.items():
|
|
@@ -159,6 +159,25 @@ def arange_patch(args):
|
|
|
159
159
|
yield
|
|
160
160
|
|
|
161
161
|
|
|
162
|
+
@contextmanager
|
|
163
|
+
def onnx_export_patch():
|
|
164
|
+
"""Workaround for ONNX export issues in PyTorch 2.9+ with Dynamo enabled."""
|
|
165
|
+
from ultralytics.utils.torch_utils import TORCH_2_9
|
|
166
|
+
|
|
167
|
+
if TORCH_2_9:
|
|
168
|
+
func = torch.onnx.export
|
|
169
|
+
|
|
170
|
+
def torch_export(*args, **kwargs):
|
|
171
|
+
"""Return a 1-D tensor of size with values from the interval and common difference."""
|
|
172
|
+
return func(*args, **kwargs, dynamo=False) # cast to dtype instead of passing dtype
|
|
173
|
+
|
|
174
|
+
torch.onnx.export = torch_export # patch
|
|
175
|
+
yield
|
|
176
|
+
torch.onnx.export = func # unpatch
|
|
177
|
+
else:
|
|
178
|
+
yield
|
|
179
|
+
|
|
180
|
+
|
|
162
181
|
@contextmanager
|
|
163
182
|
def override_configs(args, overrides: dict[str, Any] | None = None):
|
|
164
183
|
"""Context manager to temporarily override configurations in args.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/__init__.py
RENAMED
|
File without changes
|
{dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/conftest.py
RENAMED
|
File without changes
|
{dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_cli.py
RENAMED
|
File without changes
|
{dgenerate_ultralytics_headless-8.3.234 → dgenerate_ultralytics_headless-8.3.235}/tests/test_cuda.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|