dgenerate-ultralytics-headless 8.3.182__tar.gz → 8.3.184__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.182 → dgenerate_ultralytics_headless-8.3.184}/PKG-INFO +1 -1
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/dgenerate_ultralytics_headless.egg-info/PKG-INFO +1 -1
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/dgenerate_ultralytics_headless.egg-info/SOURCES.txt +2 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_cuda.py +2 -2
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_python.py +9 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/__init__.py +1 -1
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/converter.py +113 -1
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/trainer.py +11 -2
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/yoloe/val.py +1 -1
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/__init__.py +3 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/base.py +3 -2
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/hub.py +1 -1
- dgenerate_ultralytics_headless-8.3.184/ultralytics/utils/callbacks/platform.py +72 -0
- dgenerate_ultralytics_headless-8.3.184/ultralytics/utils/logger.py +408 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/metrics.py +3 -1
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/LICENSE +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/README.md +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/dgenerate_ultralytics_headless.egg-info/dependency_links.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/dgenerate_ultralytics_headless.egg-info/entry_points.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/dgenerate_ultralytics_headless.egg-info/requires.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/dgenerate_ultralytics_headless.egg-info/top_level.txt +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/pyproject.toml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/setup.cfg +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/conftest.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_cli.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_engine.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_exports.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_integrations.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/assets/bus.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/assets/zidane.jpg +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/default.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/annotator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/augment.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/base.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/build.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/dataset.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/loaders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/scripts/download_weights.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/scripts/get_coco.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/split.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/split_dota.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/data/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/exporter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/predictor.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/results.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/tuner.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/engine/validator.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/hub/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/hub/auth.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/hub/google/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/hub/session.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/hub/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/fastsam/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/fastsam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/fastsam/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/fastsam/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/fastsam/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/nas/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/nas/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/nas/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/nas/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/rtdetr/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/rtdetr/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/rtdetr/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/rtdetr/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/rtdetr/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/amg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/build.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/blocks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/decoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/encoders.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/sam.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/sam/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/classify/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/classify/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/classify/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/detect/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/detect/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/detect/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/obb/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/obb/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/obb/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/pose/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/pose/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/pose/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/segment/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/segment/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/segment/val.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/world/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/world/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/world/train_world.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/autobackend.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/modules/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/modules/activation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/modules/block.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/modules/conv.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/modules/head.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/modules/transformer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/modules/utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/tasks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/nn/text_model.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/py.typed +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/ai_gym.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/analytics.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/config.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/distance_calculation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/heatmap.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/instance_segmentation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/object_blurrer.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/object_counter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/object_cropper.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/parking_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/queue_management.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/region_counter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/security_alarm.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/similarity_search.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/solutions.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/speed_estimation.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/streamlit_inference.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/trackzone.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/solutions/vision_eye.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/basetrack.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/bot_sort.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/byte_tracker.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/track.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/utils/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/utils/gmc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/trackers/utils/matching.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/autobatch.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/autodevice.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/benchmarks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/__init__.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/clearml.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/comet.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/dvc.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/neptune.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/raytune.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/callbacks/wb.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/checks.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/dist.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/downloads.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/errors.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/export.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/files.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/instance.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/loss.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/ops.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/patches.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/plotting.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/tal.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/torch_utils.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/ultralytics/utils/triton.py +0 -0
- {dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/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.184
|
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.184
|
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>
|
@@ -262,6 +262,7 @@ ultralytics/utils/errors.py
|
|
262
262
|
ultralytics/utils/export.py
|
263
263
|
ultralytics/utils/files.py
|
264
264
|
ultralytics/utils/instance.py
|
265
|
+
ultralytics/utils/logger.py
|
265
266
|
ultralytics/utils/loss.py
|
266
267
|
ultralytics/utils/metrics.py
|
267
268
|
ultralytics/utils/ops.py
|
@@ -279,6 +280,7 @@ ultralytics/utils/callbacks/dvc.py
|
|
279
280
|
ultralytics/utils/callbacks/hub.py
|
280
281
|
ultralytics/utils/callbacks/mlflow.py
|
281
282
|
ultralytics/utils/callbacks/neptune.py
|
283
|
+
ultralytics/utils/callbacks/platform.py
|
282
284
|
ultralytics/utils/callbacks/raytune.py
|
283
285
|
ultralytics/utils/callbacks/tensorboard.py
|
284
286
|
ultralytics/utils/callbacks/wb.py
|
{dgenerate_ultralytics_headless-8.3.182 → dgenerate_ultralytics_headless-8.3.184}/tests/test_cuda.py
RENAMED
@@ -67,7 +67,7 @@ def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
|
|
67
67
|
half=half,
|
68
68
|
batch=batch,
|
69
69
|
simplify=simplify,
|
70
|
-
nms=nms,
|
70
|
+
nms=nms and task != "obb", # disable NMS for OBB task for now on T4 instance
|
71
71
|
device=DEVICES[0],
|
72
72
|
)
|
73
73
|
YOLO(file)([SOURCE] * batch, imgsz=64 if dynamic else 32, device=DEVICES[0]) # exported model inference
|
@@ -163,7 +163,7 @@ def test_autobatch():
|
|
163
163
|
|
164
164
|
|
165
165
|
@pytest.mark.slow
|
166
|
-
@pytest.mark.skipif(
|
166
|
+
@pytest.mark.skipif(True, reason="Skip for now since T4 instance does not support TensorRT > 10.0")
|
167
167
|
def test_utils_benchmarks():
|
168
168
|
"""Profile YOLO models for performance benchmarks."""
|
169
169
|
from ultralytics.utils.benchmarks import ProfileModels
|
@@ -228,6 +228,15 @@ def test_train_scratch():
|
|
228
228
|
model(SOURCE)
|
229
229
|
|
230
230
|
|
231
|
+
@pytest.mark.skipif(not ONLINE, reason="environment is offline")
|
232
|
+
def test_train_ndjson():
|
233
|
+
"""Test training the YOLO model using NDJSON format dataset."""
|
234
|
+
model = YOLO(WEIGHTS_DIR / "yolo11n.pt")
|
235
|
+
model.train(
|
236
|
+
data="https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-ndjson.ndjson", epochs=1, imgsz=32
|
237
|
+
)
|
238
|
+
|
239
|
+
|
231
240
|
@pytest.mark.parametrize("scls", [False, True])
|
232
241
|
def test_train_pretrained(scls):
|
233
242
|
"""Test training of the YOLO model starting from a pre-trained checkpoint."""
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
2
|
|
3
|
+
import asyncio
|
3
4
|
import json
|
4
5
|
import random
|
5
6
|
import shutil
|
@@ -12,7 +13,8 @@ import cv2
|
|
12
13
|
import numpy as np
|
13
14
|
from PIL import Image
|
14
15
|
|
15
|
-
from ultralytics.utils import DATASETS_DIR, LOGGER, NUM_THREADS, TQDM
|
16
|
+
from ultralytics.utils import DATASETS_DIR, LOGGER, NUM_THREADS, TQDM, YAML
|
17
|
+
from ultralytics.utils.checks import check_file, check_requirements
|
16
18
|
from ultralytics.utils.downloads import download, zip_directory
|
17
19
|
from ultralytics.utils.files import increment_path
|
18
20
|
|
@@ -754,3 +756,113 @@ def convert_to_multispectral(path: Union[str, Path], n_channels: int = 10, repla
|
|
754
756
|
multispectral = f(target_wavelengths)
|
755
757
|
cv2.imwritemulti(str(output_path), np.clip(multispectral, 0, 255).astype(np.uint8).transpose(2, 0, 1))
|
756
758
|
LOGGER.info(f"Converted {output_path}")
|
759
|
+
|
760
|
+
|
761
|
+
async def convert_ndjson_to_yolo(ndjson_path: Union[str, Path], output_path: Optional[Union[str, Path]] = None) -> Path:
|
762
|
+
"""
|
763
|
+
Convert NDJSON dataset format to Ultralytics YOLO11 dataset structure.
|
764
|
+
|
765
|
+
This function converts datasets stored in NDJSON (Newline Delimited JSON) format to the standard YOLO
|
766
|
+
format with separate directories for images and labels. It supports parallel processing for efficient
|
767
|
+
conversion of large datasets and can download images from URLs if they don't exist locally.
|
768
|
+
|
769
|
+
The NDJSON format consists of:
|
770
|
+
- First line: Dataset metadata with class names and configuration
|
771
|
+
- Subsequent lines: Individual image records with annotations and optional URLs
|
772
|
+
|
773
|
+
Args:
|
774
|
+
ndjson_path (Union[str, Path]): Path to the input NDJSON file containing dataset information.
|
775
|
+
output_path (Optional[Union[str, Path]], optional): Directory where the converted YOLO dataset
|
776
|
+
will be saved. If None, uses the parent directory of the NDJSON file. Defaults to None.
|
777
|
+
|
778
|
+
Returns:
|
779
|
+
(Path): Path to the generated data.yaml file that can be used for YOLO training.
|
780
|
+
|
781
|
+
Examples:
|
782
|
+
Convert a local NDJSON file:
|
783
|
+
>>> yaml_path = convert_ndjson_to_yolo("dataset.ndjson")
|
784
|
+
>>> print(f"Dataset converted to: {yaml_path}")
|
785
|
+
|
786
|
+
Convert with custom output directory:
|
787
|
+
>>> yaml_path = convert_ndjson_to_yolo("dataset.ndjson", output_path="./converted_datasets")
|
788
|
+
|
789
|
+
Use with YOLO training
|
790
|
+
>>> from ultralytics import YOLO
|
791
|
+
>>> model = YOLO("yolo11n.pt")
|
792
|
+
>>> model.train(data="https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-ndjson.ndjson")
|
793
|
+
"""
|
794
|
+
check_requirements("aiohttp")
|
795
|
+
import aiohttp
|
796
|
+
|
797
|
+
ndjson_path = Path(check_file(ndjson_path))
|
798
|
+
output_path = Path(output_path or DATASETS_DIR)
|
799
|
+
with open(ndjson_path) as f:
|
800
|
+
lines = [json.loads(line.strip()) for line in f if line.strip()]
|
801
|
+
|
802
|
+
dataset_record, image_records = lines[0], lines[1:]
|
803
|
+
dataset_dir = output_path / ndjson_path.stem
|
804
|
+
splits = {record["split"] for record in image_records}
|
805
|
+
|
806
|
+
# Create directories and prepare YAML structure
|
807
|
+
dataset_dir.mkdir(parents=True, exist_ok=True)
|
808
|
+
data_yaml = dict(dataset_record)
|
809
|
+
data_yaml["names"] = {int(k): v for k, v in dataset_record.get("class_names", {}).items()}
|
810
|
+
data_yaml.pop("class_names")
|
811
|
+
|
812
|
+
for split in sorted(splits):
|
813
|
+
(dataset_dir / "images" / split).mkdir(parents=True, exist_ok=True)
|
814
|
+
(dataset_dir / "labels" / split).mkdir(parents=True, exist_ok=True)
|
815
|
+
data_yaml[split] = f"images/{split}"
|
816
|
+
|
817
|
+
async def process_record(session, semaphore, record):
|
818
|
+
"""Process single image record with async session."""
|
819
|
+
async with semaphore:
|
820
|
+
split, original_name = record["split"], record["file"]
|
821
|
+
label_path = dataset_dir / "labels" / split / f"{Path(original_name).stem}.txt"
|
822
|
+
image_path = dataset_dir / "images" / split / original_name
|
823
|
+
|
824
|
+
annotations = record.get("annotations", {})
|
825
|
+
lines_to_write = []
|
826
|
+
for key in annotations.keys():
|
827
|
+
lines_to_write = [" ".join(map(str, item)) for item in annotations[key]]
|
828
|
+
break
|
829
|
+
if "classification" in annotations:
|
830
|
+
lines_to_write = [str(cls) for cls in annotations["classification"]]
|
831
|
+
|
832
|
+
label_path.write_text("\n".join(lines_to_write) + "\n" if lines_to_write else "")
|
833
|
+
|
834
|
+
if http_url := record.get("url"):
|
835
|
+
if not image_path.exists():
|
836
|
+
try:
|
837
|
+
async with session.get(http_url, timeout=aiohttp.ClientTimeout(total=30)) as response:
|
838
|
+
response.raise_for_status()
|
839
|
+
with open(image_path, "wb") as f:
|
840
|
+
async for chunk in response.content.iter_chunked(8192):
|
841
|
+
f.write(chunk)
|
842
|
+
return True
|
843
|
+
except Exception as e:
|
844
|
+
LOGGER.warning(f"Failed to download {http_url}: {e}")
|
845
|
+
return False
|
846
|
+
return True
|
847
|
+
|
848
|
+
# Process all images with async downloads
|
849
|
+
semaphore = asyncio.Semaphore(64)
|
850
|
+
async with aiohttp.ClientSession() as session:
|
851
|
+
pbar = TQDM(
|
852
|
+
total=len(image_records),
|
853
|
+
desc=f"Converting {ndjson_path.name} → {dataset_dir} ({len(image_records)} images)",
|
854
|
+
)
|
855
|
+
|
856
|
+
async def tracked_process(record):
|
857
|
+
result = await process_record(session, semaphore, record)
|
858
|
+
pbar.update(1)
|
859
|
+
return result
|
860
|
+
|
861
|
+
await asyncio.gather(*[tracked_process(record) for record in image_records])
|
862
|
+
pbar.close()
|
863
|
+
|
864
|
+
# Write data.yaml
|
865
|
+
yaml_path = dataset_dir / "data.yaml"
|
866
|
+
YAML.save(yaml_path, data_yaml)
|
867
|
+
|
868
|
+
return yaml_path
|
@@ -174,6 +174,8 @@ class BaseTrainer:
|
|
174
174
|
self.callbacks = _callbacks or callbacks.get_default_callbacks()
|
175
175
|
if RANK in {-1, 0}:
|
176
176
|
callbacks.add_integration_callbacks(self)
|
177
|
+
# Start console logging immediately at trainer initialization
|
178
|
+
self.run_callbacks("on_pretrain_routine_start")
|
177
179
|
|
178
180
|
def add_callback(self, event: str, callback):
|
179
181
|
"""Append the given callback to the event's callback list."""
|
@@ -249,8 +251,6 @@ class BaseTrainer:
|
|
249
251
|
|
250
252
|
def _setup_train(self, world_size):
|
251
253
|
"""Build dataloaders and optimizer on correct rank process."""
|
252
|
-
# Model
|
253
|
-
self.run_callbacks("on_pretrain_routine_start")
|
254
254
|
ckpt = self.setup_model()
|
255
255
|
self.model = self.model.to(self.device)
|
256
256
|
self.set_model_attributes()
|
@@ -598,6 +598,15 @@ class BaseTrainer:
|
|
598
598
|
try:
|
599
599
|
if self.args.task == "classify":
|
600
600
|
data = check_cls_dataset(self.args.data)
|
601
|
+
elif self.args.data.rsplit(".", 1)[-1] == "ndjson":
|
602
|
+
# Convert NDJSON to YOLO format
|
603
|
+
import asyncio
|
604
|
+
|
605
|
+
from ultralytics.data.converter import convert_ndjson_to_yolo
|
606
|
+
|
607
|
+
yaml_path = asyncio.run(convert_ndjson_to_yolo(self.args.data))
|
608
|
+
self.args.data = str(yaml_path)
|
609
|
+
data = check_det_dataset(self.args.data)
|
601
610
|
elif self.args.data.rsplit(".", 1)[-1] in {"yaml", "yml"} or self.args.task in {
|
602
611
|
"detect",
|
603
612
|
"segment",
|
@@ -181,7 +181,7 @@ class YOLOEDetectValidator(DetectionValidator):
|
|
181
181
|
else:
|
182
182
|
if refer_data is not None:
|
183
183
|
assert load_vp, "Refer data is only used for visual prompt validation."
|
184
|
-
self.device = select_device(self.args.device)
|
184
|
+
self.device = select_device(self.args.device, verbose=False)
|
185
185
|
|
186
186
|
if isinstance(model, (str, Path)):
|
187
187
|
from ultralytics.nn.tasks import attempt_load_weights
|
@@ -170,6 +170,7 @@ class TQDM(rich.tqdm if TQDM_RICH else tqdm.tqdm):
|
|
170
170
|
Notes:
|
171
171
|
- The progress bar is disabled if VERBOSE is False or if 'disable' is explicitly set to True in kwargs.
|
172
172
|
- The default bar format is set to TQDM_BAR_FORMAT unless overridden in kwargs.
|
173
|
+
- In GitHub Actions, progress bars only update at completion to keep CI logs clean.
|
173
174
|
|
174
175
|
Examples:
|
175
176
|
>>> from ultralytics.utils import TQDM
|
@@ -178,6 +179,8 @@ class TQDM(rich.tqdm if TQDM_RICH else tqdm.tqdm):
|
|
178
179
|
... pass
|
179
180
|
"""
|
180
181
|
warnings.filterwarnings("ignore", category=tqdm.TqdmExperimentalWarning) # suppress tqdm.rich warning
|
182
|
+
if is_github_action_running():
|
183
|
+
kwargs["mininterval"] = 60 # only update every 60 seconds
|
181
184
|
kwargs["disable"] = not VERBOSE or kwargs.get("disable", False) or LOGGER.getEffectiveLevel() > 20
|
182
185
|
kwargs.setdefault("bar_format", TQDM_BAR_FORMAT) # override default value if passed
|
183
186
|
super().__init__(*args, **kwargs)
|
@@ -209,10 +209,11 @@ def add_integration_callbacks(instance):
|
|
209
209
|
>>> trainer = BaseTrainer()
|
210
210
|
>>> add_integration_callbacks(trainer)
|
211
211
|
"""
|
212
|
-
# Load HUB callbacks
|
213
212
|
from .hub import callbacks as hub_cb
|
213
|
+
from .platform import callbacks as platform_cb
|
214
214
|
|
215
|
-
|
215
|
+
# Load Ultralytics callbacks
|
216
|
+
callbacks_list = [hub_cb, platform_cb]
|
216
217
|
|
217
218
|
# Load training callbacks
|
218
219
|
if "Trainer" in instance.__class__.__name__:
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
2
|
+
|
3
|
+
from ultralytics.utils import RANK, SETTINGS
|
4
|
+
from ultralytics.utils.logger import DEFAULT_LOG_PATH, ConsoleLogger, SystemLogger
|
5
|
+
|
6
|
+
|
7
|
+
def on_pretrain_routine_start(trainer):
|
8
|
+
"""Initialize and start console logging immediately at the very beginning."""
|
9
|
+
if RANK in {-1, 0}:
|
10
|
+
trainer.system_logger = SystemLogger()
|
11
|
+
trainer.console_logger = ConsoleLogger(DEFAULT_LOG_PATH)
|
12
|
+
trainer.console_logger.start_capture()
|
13
|
+
|
14
|
+
|
15
|
+
def on_pretrain_routine_end(trainer):
|
16
|
+
"""Handle pre-training routine completion event."""
|
17
|
+
pass
|
18
|
+
|
19
|
+
|
20
|
+
def on_fit_epoch_end(trainer):
|
21
|
+
"""Handle end of training epoch event and collect system metrics."""
|
22
|
+
if RANK in {-1, 0} and hasattr(trainer, "system_logger"):
|
23
|
+
system_metrics = trainer.system_logger.get_metrics()
|
24
|
+
print(system_metrics) # for debug
|
25
|
+
|
26
|
+
|
27
|
+
def on_model_save(trainer):
|
28
|
+
"""Handle model checkpoint save event."""
|
29
|
+
pass
|
30
|
+
|
31
|
+
|
32
|
+
def on_train_end(trainer):
|
33
|
+
"""Stop console capture and finalize logs."""
|
34
|
+
if logger := getattr(trainer, "console_logger", None):
|
35
|
+
logger.stop_capture()
|
36
|
+
|
37
|
+
|
38
|
+
def on_train_start(trainer):
|
39
|
+
"""Handle training start event."""
|
40
|
+
pass
|
41
|
+
|
42
|
+
|
43
|
+
def on_val_start(validator):
|
44
|
+
"""Handle validation start event."""
|
45
|
+
pass
|
46
|
+
|
47
|
+
|
48
|
+
def on_predict_start(predictor):
|
49
|
+
"""Handle prediction start event."""
|
50
|
+
pass
|
51
|
+
|
52
|
+
|
53
|
+
def on_export_start(exporter):
|
54
|
+
"""Handle model export start event."""
|
55
|
+
pass
|
56
|
+
|
57
|
+
|
58
|
+
callbacks = (
|
59
|
+
{
|
60
|
+
"on_pretrain_routine_start": on_pretrain_routine_start,
|
61
|
+
"on_pretrain_routine_end": on_pretrain_routine_end,
|
62
|
+
"on_fit_epoch_end": on_fit_epoch_end,
|
63
|
+
"on_model_save": on_model_save,
|
64
|
+
"on_train_end": on_train_end,
|
65
|
+
"on_train_start": on_train_start,
|
66
|
+
"on_val_start": on_val_start,
|
67
|
+
"on_predict_start": on_predict_start,
|
68
|
+
"on_export_start": on_export_start,
|
69
|
+
}
|
70
|
+
if SETTINGS.get("platform", False) is True # disabled for debugging
|
71
|
+
else {}
|
72
|
+
)
|