ultralytics 8.3.160__tar.gz → 8.3.161__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.
- {ultralytics-8.3.160/ultralytics.egg-info → ultralytics-8.3.161}/PKG-INFO +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/test_python.py +2 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/Argoverse.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/ImageNet.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/Objects365.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/SKU-110K.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/VOC.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/VisDrone.yaml +6 -3
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/african-wildlife.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/brain-tumor.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/carparts-seg.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco-pose.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco128-seg.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco128.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco8-grayscale.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco8-multispectral.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco8-pose.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco8-seg.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco8.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/crack-seg.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/dog-pose.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/dota8-multispectral.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/dota8.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/hand-keypoints.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/lvis.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/medical-pills.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/open-images-v7.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/package-seg.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/signature.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/tiger-pose.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/xView.yaml +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/converter.py +3 -5
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/dataset.py +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/split.py +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/exporter.py +10 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/results.py +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/world/train_world.py +6 -6
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/autobackend.py +7 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/similarity_search.py +11 -12
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/solutions.py +53 -54
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/metrics.py +6 -6
- {ultralytics-8.3.160 → ultralytics-8.3.161/ultralytics.egg-info}/PKG-INFO +1 -1
- {ultralytics-8.3.160 → ultralytics-8.3.161}/LICENSE +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/README.md +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/pyproject.toml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/setup.cfg +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/conftest.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/test_cli.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/test_engine.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/test_exports.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/scripts/download_weights.sh +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/scripts/get_coco.sh +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/nn/text_model.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/config.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/instance_segmentation.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/object_blurrer.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/object_cropper.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/security_alarm.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/trackzone.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/solutions/vision_eye.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/autodevice.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/export.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.161
|
4
4
|
Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
@@ -16,6 +16,7 @@ from tests import CFG, MODEL, MODELS, SOURCE, SOURCES_LIST, TASK_MODEL_DATA, TMP
|
|
16
16
|
from ultralytics import RTDETR, YOLO
|
17
17
|
from ultralytics.cfg import TASK2DATA, TASKS
|
18
18
|
from ultralytics.data.build import load_inference_source
|
19
|
+
from ultralytics.data.utils import check_det_dataset
|
19
20
|
from ultralytics.utils import (
|
20
21
|
ARM64,
|
21
22
|
ASSETS,
|
@@ -720,7 +721,7 @@ def test_grayscale(task: str, model: str, data: str) -> None:
|
|
720
721
|
if task == "classify": # not support grayscale classification yet
|
721
722
|
return
|
722
723
|
grayscale_data = Path(TMP) / f"{Path(data).stem}-grayscale.yaml"
|
723
|
-
data =
|
724
|
+
data = check_det_dataset(data)
|
724
725
|
data["channels"] = 1 # add additional channels key for grayscale
|
725
726
|
YAML.save(grayscale_data, data)
|
726
727
|
# remove npy files in train/val splits if exists, might be created by previous tests
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── Argoverse ← downloads here (31.5 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: Argoverse # dataset root dir
|
13
13
|
train: Argoverse-1.1/images/train/ # train images (relative to 'path') 39384 images
|
14
14
|
val: Argoverse-1.1/images/val/ # val images (relative to 'path') 15062 images
|
15
15
|
test: Argoverse-1.1/images/test/ # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── dota1.5 ← downloads here (2GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: DOTAv1.5 # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 1411 images
|
14
14
|
val: images/val # val images (relative to 'path') 458 images
|
15
15
|
test: images/test # test images (optional) 937 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── dota1 ← downloads here (2GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: DOTAv1 # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 1411 images
|
14
14
|
val: images/val # val images (relative to 'path') 458 images
|
15
15
|
test: images/test # test images (optional) 937 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── GlobalWheat2020 ← downloads here (7.0 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: GlobalWheat2020 # dataset root dir
|
13
13
|
train: # train images (relative to 'path') 3422 images
|
14
14
|
- images/arvalis_1
|
15
15
|
- images/arvalis_2
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── homeobjects-3K ← downloads here (390 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: homeobjects-3K # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 2285 images
|
14
14
|
val: valid/images # val images (relative to 'path') 404 images
|
15
15
|
test: # test images (relative to 'path')
|
@@ -10,7 +10,7 @@
|
|
10
10
|
# └── imagenet ← downloads here (144 GB)
|
11
11
|
|
12
12
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
13
|
-
path:
|
13
|
+
path: imagenet # dataset root dir
|
14
14
|
train: train # train images (relative to 'path') 1281167 images
|
15
15
|
val: val # val images (relative to 'path') 50000 images
|
16
16
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── Objects365 ← downloads here (712 GB = 367G data + 345G zips)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: Objects365 # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 1742289 images
|
14
14
|
val: images/val # val images (relative to 'path') 80000 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── SKU-110K ← downloads here (13.6 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: SKU-110K # dataset root dir
|
13
13
|
train: train.txt # train images (relative to 'path') 8219 images
|
14
14
|
val: val.txt # val images (relative to 'path') 588 images
|
15
15
|
test: test.txt # test images (optional) 2936 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── VOC ← downloads here (2.8 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: VOC
|
13
13
|
train: # train images (relative to 'path') 16551 images
|
14
14
|
- images/train2012
|
15
15
|
- images/train2007
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── VisDrone ← downloads here (2.3 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: VisDrone # dataset root dir
|
13
13
|
train: VisDrone2019-DET-train/images # train images (relative to 'path') 6471 images
|
14
14
|
val: VisDrone2019-DET-val/images # val images (relative to 'path') 548 images
|
15
15
|
test: VisDrone2019-DET-test-dev/images # test images (optional) 1610 images
|
@@ -58,8 +58,11 @@ download: |
|
|
58
58
|
cls = int(row[5]) - 1
|
59
59
|
box = convert_box(img_size, tuple(map(int, row[:4])))
|
60
60
|
lines.append(f"{cls} {' '.join(f'{x:.6f}' for x in box)}\n")
|
61
|
-
|
62
|
-
|
61
|
+
|
62
|
+
label_file = str(f).replace(f"{os.sep}annotations{os.sep}", f"{os.sep}labels{os.sep}")
|
63
|
+
with open(label_file, "w", encoding="utf-8") as fl:
|
64
|
+
fl.writelines(lines)
|
65
|
+
|
63
66
|
|
64
67
|
|
65
68
|
# Download
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── african-wildlife ← downloads here (100 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: african-wildlife # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 1052 images
|
14
14
|
val: valid/images # val images (relative to 'path') 225 images
|
15
15
|
test: test/images # test images (relative to 'path') 227 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── brain-tumor ← downloads here (4.05 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: brain-tumor # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 893 images
|
14
14
|
val: valid/images # val images (relative to 'path') 223 images
|
15
15
|
test: # test images (relative to 'path')
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── carparts-seg ← downloads here (132 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: carparts-seg # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 3516 images
|
14
14
|
val: valid/images # val images (relative to 'path') 276 images
|
15
15
|
test: test/images # test images (relative to 'path') 401 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco-pose ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco-pose # dataset root dir
|
13
13
|
train: train2017.txt # train images (relative to 'path') 56599 images
|
14
14
|
val: val2017.txt # val images (relative to 'path') 2346 images
|
15
15
|
test: test-dev2017.txt # 20288 of 40670 images, submit to https://codalab.lisn.upsaclay.fr/competitions/7403
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco # dataset root dir
|
13
13
|
train: train2017.txt # train images (relative to 'path') 118287 images
|
14
14
|
val: val2017.txt # val images (relative to 'path') 5000 images
|
15
15
|
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco128-seg ← downloads here (7 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco128-seg # dataset root dir
|
13
13
|
train: images/train2017 # train images (relative to 'path') 128 images
|
14
14
|
val: images/train2017 # val images (relative to 'path') 128 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco128 ← downloads here (7 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco128 # dataset root dir
|
13
13
|
train: images/train2017 # train images (relative to 'path') 128 images
|
14
14
|
val: images/train2017 # val images (relative to 'path') 128 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco8-grayscale ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco8-grayscale # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 4 images
|
14
14
|
val: images/val # val images (relative to 'path') 4 images
|
15
15
|
test: # test images (optional)
|
{ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/coco8-multispectral.yaml
RENAMED
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco8-multispectral ← downloads here (20.2 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco8-multispectral # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 4 images
|
14
14
|
val: images/val # val images (relative to 'path') 4 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco8-pose ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco8-pose # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 4 images
|
14
14
|
val: images/val # val images (relative to 'path') 4 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco8-seg ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco8-seg # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 4 images
|
14
14
|
val: images/val # val images (relative to 'path') 4 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── coco8 ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: coco8 # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 4 images
|
14
14
|
val: images/val # val images (relative to 'path') 4 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── crack-seg ← downloads here (91.2 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: crack-seg # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 3717 images
|
14
14
|
val: valid/images # val images (relative to 'path') 112 images
|
15
15
|
test: test/images # test images (relative to 'path') 200 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── dog-pose ← downloads here (337 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: dog-pose # dataset root dir
|
13
13
|
train: train # train images (relative to 'path') 6773 images
|
14
14
|
val: val # val images (relative to 'path') 1703 images
|
15
15
|
|
{ultralytics-8.3.160 → ultralytics-8.3.161}/ultralytics/cfg/datasets/dota8-multispectral.yaml
RENAMED
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── dota8-multispectral ← downloads here (37.3MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: dota8-multispectral # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 4 images
|
14
14
|
val: images/val # val images (relative to 'path') 4 images
|
15
15
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── dota8 ← downloads here (1MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: dota8 # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 4 images
|
14
14
|
val: images/val # val images (relative to 'path') 4 images
|
15
15
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── hand-keypoints ← downloads here (369 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: hand-keypoints # dataset root dir
|
13
13
|
train: train # train images (relative to 'path') 18776 images
|
14
14
|
val: val # val images (relative to 'path') 7992 images
|
15
15
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── lvis ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: lvis # dataset root dir
|
13
13
|
train: train.txt # train images (relative to 'path') 100170 images
|
14
14
|
val: val.txt # val images (relative to 'path') 19809 images
|
15
15
|
minival: minival.txt # minival images (relative to 'path') 5000 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── medical-pills ← downloads here (8.19 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: medical-pills # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 92 images
|
14
14
|
val: valid/images # val images (relative to 'path') 23 images
|
15
15
|
test: # test images (relative to 'path')
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── open-images-v7 ← downloads here (561 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: open-images-v7 # dataset root dir
|
13
13
|
train: images/train # train images (relative to 'path') 1743042 images
|
14
14
|
val: images/val # val images (relative to 'path') 41620 images
|
15
15
|
test: # test images (optional)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── package-seg ← downloads here (102 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: package-seg # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 1920 images
|
14
14
|
val: valid/images # val images (relative to 'path') 89 images
|
15
15
|
test: test/images # test images (relative to 'path') 188 images
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── signature ← downloads here (11.2 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: signature # dataset root dir
|
13
13
|
train: train/images # train images (relative to 'path') 143 images
|
14
14
|
val: valid/images # val images (relative to 'path') 35 images
|
15
15
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# └── tiger-pose ← downloads here (75.3 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
|
-
path:
|
12
|
+
path: tiger-pose # dataset root dir
|
13
13
|
train: train # train images (relative to 'path') 210 images
|
14
14
|
val: val # val images (relative to 'path') 53 images
|
15
15
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
# └── xView ← downloads here (20.7 GB)
|
11
11
|
|
12
12
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
13
|
-
path:
|
13
|
+
path: xView # dataset root dir
|
14
14
|
train: images/autosplit_train.txt # train images (relative to 'path') 90% of 847 train images
|
15
15
|
val: images/autosplit_val.txt # train images (relative to 'path') 10% of 847 train images
|
16
16
|
|
@@ -248,12 +248,10 @@ def convert_coco(
|
|
248
248
|
>>> from ultralytics.data.converter import convert_coco
|
249
249
|
|
250
250
|
Convert COCO annotations to YOLO format
|
251
|
-
>>> convert_coco("
|
251
|
+
>>> convert_coco("coco/annotations/", use_segments=True, use_keypoints=False, cls91to80=False)
|
252
252
|
|
253
253
|
Convert LVIS annotations to YOLO format
|
254
|
-
>>> convert_coco(
|
255
|
-
... "../datasets/lvis/annotations/", use_segments=True, use_keypoints=False, cls91to80=False, lvis=True
|
256
|
-
... )
|
254
|
+
>>> convert_coco("lvis/annotations/", use_segments=True, use_keypoints=False, cls91to80=False, lvis=True)
|
257
255
|
"""
|
258
256
|
# Create dataset directory
|
259
257
|
save_dir = increment_path(save_dir) # increment if save directory already exists
|
@@ -724,7 +722,7 @@ def convert_to_multispectral(path: Union[str, Path], n_channels: int = 10, repla
|
|
724
722
|
>>> convert_to_multispectral("path/to/image.jpg", n_channels=10)
|
725
723
|
|
726
724
|
Convert a dataset
|
727
|
-
>>> convert_to_multispectral("
|
725
|
+
>>> convert_to_multispectral("coco8", n_channels=10)
|
728
726
|
"""
|
729
727
|
from scipy.interpolate import interp1d
|
730
728
|
|
@@ -482,7 +482,7 @@ class GroundingDataset(YOLODataset):
|
|
482
482
|
a warning is logged and verification is skipped.
|
483
483
|
"""
|
484
484
|
expected_counts = {
|
485
|
-
"final_mixed_train_no_coco_segm":
|
485
|
+
"final_mixed_train_no_coco_segm": 3662412,
|
486
486
|
"final_mixed_train_no_coco": 3681235,
|
487
487
|
"final_flickr_separateGT_train_segm": 638214,
|
488
488
|
"final_flickr_separateGT_train": 640704,
|
@@ -706,7 +706,16 @@ class Exporter:
|
|
706
706
|
def export_paddle(self, prefix=colorstr("PaddlePaddle:")):
|
707
707
|
"""Export YOLO model to PaddlePaddle format."""
|
708
708
|
assert not IS_JETSON, "Jetson Paddle exports not supported yet"
|
709
|
-
check_requirements(
|
709
|
+
check_requirements(
|
710
|
+
(
|
711
|
+
"paddlepaddle-gpu"
|
712
|
+
if torch.cuda.is_available()
|
713
|
+
else "paddlepaddle==3.0.0" # pin 3.0.0 for ARM64
|
714
|
+
if ARM64
|
715
|
+
else "paddlepaddle>=3.0.0",
|
716
|
+
"x2paddle",
|
717
|
+
)
|
718
|
+
)
|
710
719
|
import x2paddle # noqa
|
711
720
|
from x2paddle.convert import pytorch2paddle # noqa
|
712
721
|
|
@@ -800,7 +800,7 @@ class Results(SimpleClass, DataExportMixin):
|
|
800
800
|
decimals (int): Number of decimal places to round the output values to.
|
801
801
|
|
802
802
|
Returns:
|
803
|
-
(List[Dict]): A list of dictionaries, each containing summarized information for a single detection
|
803
|
+
(List[Dict[str, Any]]): A list of dictionaries, each containing summarized information for a single detection
|
804
804
|
or classification result. The structure of each dictionary varies based on the task type
|
805
805
|
(classification or detection) and available information (boxes, masks, keypoints).
|
806
806
|
|
@@ -35,12 +35,12 @@ class WorldTrainerFromScratch(WorldTrainer):
|
|
35
35
|
... yolo_data=["Objects365.yaml"],
|
36
36
|
... grounding_data=[
|
37
37
|
... dict(
|
38
|
-
... img_path="
|
39
|
-
... json_file="
|
38
|
+
... img_path="flickr30k/images",
|
39
|
+
... json_file="flickr30k/final_flickr_separateGT_train.json",
|
40
40
|
... ),
|
41
41
|
... dict(
|
42
|
-
... img_path="
|
43
|
-
... json_file="
|
42
|
+
... img_path="GQA/images",
|
43
|
+
... json_file="GQA/final_mixed_train_no_coco.json",
|
44
44
|
... ),
|
45
45
|
... ],
|
46
46
|
... ),
|
@@ -70,8 +70,8 @@ class WorldTrainerFromScratch(WorldTrainer):
|
|
70
70
|
... yolo_data=["Objects365.yaml"],
|
71
71
|
... grounding_data=[
|
72
72
|
... dict(
|
73
|
-
... img_path="
|
74
|
-
... json_file="
|
73
|
+
... img_path="flickr30k/images",
|
74
|
+
... json_file="flickr30k/final_flickr_separateGT_train.json",
|
75
75
|
... ),
|
76
76
|
... ],
|
77
77
|
... ),
|
@@ -487,7 +487,13 @@ class AutoBackend(nn.Module):
|
|
487
487
|
# PaddlePaddle
|
488
488
|
elif paddle:
|
489
489
|
LOGGER.info(f"Loading {w} for PaddlePaddle inference...")
|
490
|
-
check_requirements(
|
490
|
+
check_requirements(
|
491
|
+
"paddlepaddle-gpu"
|
492
|
+
if torch.cuda.is_available()
|
493
|
+
else "paddlepaddle==3.0.0" # pin 3.0.0 for ARM64
|
494
|
+
if ARM64
|
495
|
+
else "paddlepaddle>=3.0.0"
|
496
|
+
)
|
491
497
|
import paddle.inference as pdi # noqa
|
492
498
|
|
493
499
|
w = Path(w)
|
@@ -9,14 +9,14 @@ from PIL import Image
|
|
9
9
|
|
10
10
|
from ultralytics.data.utils import IMG_FORMATS
|
11
11
|
from ultralytics.nn.text_model import build_text_model
|
12
|
-
from ultralytics.
|
12
|
+
from ultralytics.utils import LOGGER
|
13
13
|
from ultralytics.utils.checks import check_requirements
|
14
14
|
from ultralytics.utils.torch_utils import select_device
|
15
15
|
|
16
16
|
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE" # Avoid OpenMP conflict on some systems
|
17
17
|
|
18
18
|
|
19
|
-
class VisualAISearch
|
19
|
+
class VisualAISearch:
|
20
20
|
"""
|
21
21
|
A semantic image search system that leverages OpenCLIP for generating high-quality image and text embeddings and
|
22
22
|
FAISS for fast similarity-based retrieval.
|
@@ -48,19 +48,18 @@ class VisualAISearch(BaseSolution):
|
|
48
48
|
|
49
49
|
def __init__(self, **kwargs: Any) -> None:
|
50
50
|
"""Initialize the VisualAISearch class with FAISS index and CLIP model."""
|
51
|
-
super().__init__(**kwargs)
|
52
51
|
check_requirements("faiss-cpu")
|
53
52
|
|
54
53
|
self.faiss = __import__("faiss")
|
55
54
|
self.faiss_index = "faiss.index"
|
56
55
|
self.data_path_npy = "paths.npy"
|
57
|
-
self.data_dir = Path(
|
58
|
-
self.device = select_device(
|
56
|
+
self.data_dir = Path(kwargs.get("data", "images"))
|
57
|
+
self.device = select_device(kwargs.get("device", "cpu"))
|
59
58
|
|
60
59
|
if not self.data_dir.exists():
|
61
60
|
from ultralytics.utils import ASSETS_URL
|
62
61
|
|
63
|
-
|
62
|
+
LOGGER.warning(f"{self.data_dir} not found. Downloading images.zip from {ASSETS_URL}/images.zip")
|
64
63
|
from ultralytics.utils.downloads import safe_download
|
65
64
|
|
66
65
|
safe_download(url=f"{ASSETS_URL}/images.zip", unzip=True, retry=3)
|
@@ -91,13 +90,13 @@ class VisualAISearch(BaseSolution):
|
|
91
90
|
"""
|
92
91
|
# Check if the FAISS index and corresponding image paths already exist
|
93
92
|
if Path(self.faiss_index).exists() and Path(self.data_path_npy).exists():
|
94
|
-
|
93
|
+
LOGGER.info("Loading existing FAISS index...")
|
95
94
|
self.index = self.faiss.read_index(self.faiss_index) # Load the FAISS index from disk
|
96
95
|
self.image_paths = np.load(self.data_path_npy) # Load the saved image path list
|
97
96
|
return # Exit the function as the index is successfully loaded
|
98
97
|
|
99
98
|
# If the index doesn't exist, start building it from scratch
|
100
|
-
|
99
|
+
LOGGER.info("Building FAISS index from images...")
|
101
100
|
vectors = [] # List to store feature vectors of images
|
102
101
|
|
103
102
|
# Iterate over all image files in the data directory
|
@@ -110,7 +109,7 @@ class VisualAISearch(BaseSolution):
|
|
110
109
|
vectors.append(self.extract_image_feature(file))
|
111
110
|
self.image_paths.append(file.name) # Store the corresponding image name
|
112
111
|
except Exception as e:
|
113
|
-
|
112
|
+
LOGGER.warning(f"Skipping {file.name}: {e}")
|
114
113
|
|
115
114
|
# If no vectors were successfully created, raise an error
|
116
115
|
if not vectors:
|
@@ -124,7 +123,7 @@ class VisualAISearch(BaseSolution):
|
|
124
123
|
self.faiss.write_index(self.index, self.faiss_index) # Save the newly built FAISS index to disk
|
125
124
|
np.save(self.data_path_npy, np.array(self.image_paths)) # Save the list of image paths to disk
|
126
125
|
|
127
|
-
|
126
|
+
LOGGER.info(f"Indexed {len(self.image_paths)} images.")
|
128
127
|
|
129
128
|
def search(self, query: str, k: int = 30, similarity_thresh: float = 0.1) -> List[str]:
|
130
129
|
"""
|
@@ -152,9 +151,9 @@ class VisualAISearch(BaseSolution):
|
|
152
151
|
]
|
153
152
|
results.sort(key=lambda x: x[1], reverse=True)
|
154
153
|
|
155
|
-
|
154
|
+
LOGGER.info("\nRanked Results:")
|
156
155
|
for name, score in results:
|
157
|
-
|
156
|
+
LOGGER.info(f" - {name} | Similarity: {score:.4f}")
|
158
157
|
|
159
158
|
return [r[0] for r in results]
|
160
159
|
|