ultralytics 8.3.116__tar.gz → 8.3.117__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.116/ultralytics.egg-info → ultralytics-8.3.117}/PKG-INFO +3 -4
- {ultralytics-8.3.116 → ultralytics-8.3.117}/pyproject.toml +2 -3
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/__init__.py +1 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/base.py +2 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/dataset.py +2 -3
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/loaders.py +2 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/exporter.py +17 -7
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/trainer.py +2 -2
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/session.py +3 -2
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/utils.py +1 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/predict.py +1 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/val.py +1 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/val.py +1 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/autobackend.py +8 -4
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/text_model.py +2 -4
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/__init__.py +1 -1
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/benchmarks.py +3 -4
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/checks.py +4 -2
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/torch_utils.py +4 -3
- {ultralytics-8.3.116 → ultralytics-8.3.117/ultralytics.egg-info}/PKG-INFO +3 -4
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/requires.txt +4 -3
- {ultralytics-8.3.116 → ultralytics-8.3.117}/LICENSE +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/README.md +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/setup.cfg +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_cli.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_engine.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_exports.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_python.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/solutions/default.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/download_weights.sh +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/get_coco.sh +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/split.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/instance_segmentation.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/object_blurrer.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/object_cropper.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/security_alarm.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/solutions.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/trackzone.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/solutions/vision_eye.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/export.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.116 → ultralytics-8.3.117}/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.117
|
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>
|
@@ -60,14 +60,13 @@ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.17; extra == "dev"
|
|
60
60
|
Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
|
61
61
|
Provides-Extra: export
|
62
62
|
Requires-Dist: onnx>=1.12.0; extra == "export"
|
63
|
-
Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.
|
63
|
+
Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
|
64
64
|
Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
|
65
65
|
Requires-Dist: openvino>=2024.0.0; extra == "export"
|
66
66
|
Requires-Dist: tensorflow>=2.0.0; extra == "export"
|
67
|
-
Requires-Dist: tensorflowjs>=
|
67
|
+
Requires-Dist: tensorflowjs>=2.0.0; extra == "export"
|
68
68
|
Requires-Dist: tensorstore>=0.1.63; (platform_machine == "aarch64" and python_version >= "3.9") and extra == "export"
|
69
69
|
Requires-Dist: keras; extra == "export"
|
70
|
-
Requires-Dist: flatbuffers<100,>=23.5.26; platform_machine == "aarch64" and extra == "export"
|
71
70
|
Requires-Dist: h5py!=3.11.0; platform_machine == "aarch64" and extra == "export"
|
72
71
|
Provides-Extra: solutions
|
73
72
|
Requires-Dist: shapely<2.1.0,>=2.0.0; extra == "solutions"
|
@@ -94,14 +94,13 @@ dev = [
|
|
94
94
|
]
|
95
95
|
export = [
|
96
96
|
"onnx>=1.12.0", # ONNX export
|
97
|
-
"coremltools>=8.0; platform_system != 'Windows' and python_version <= '3.
|
97
|
+
"coremltools>=8.0; platform_system != 'Windows' and python_version <= '3.13'", # CoreML supported on macOS and Linux
|
98
98
|
"scikit-learn>=1.3.2; platform_system != 'Windows' and python_version <= '3.12'", # CoreML k-means quantization
|
99
99
|
"openvino>=2024.0.0", # OpenVINO export
|
100
100
|
"tensorflow>=2.0.0", # TF bug https://github.com/ultralytics/ultralytics/issues/5161
|
101
|
-
"tensorflowjs>=
|
101
|
+
"tensorflowjs>=2.0.0", # TF.js export, automatically installs tensorflow
|
102
102
|
"tensorstore>=0.1.63; platform_machine == 'aarch64' and python_version >= '3.9'", # for TF Raspberry Pi exports
|
103
103
|
"keras", # not installed automatically by tensorflow>=2.16
|
104
|
-
"flatbuffers>=23.5.26,<100; platform_machine == 'aarch64'", # update old 'flatbuffers' included inside tensorflow package
|
105
104
|
"h5py!=3.11.0; platform_machine == 'aarch64'", # fix h5py build issues due to missing aarch64 wheels in 3.11 release
|
106
105
|
]
|
107
106
|
solutions = [
|
@@ -9,6 +9,7 @@ from typing import Any, Dict, List, Union
|
|
9
9
|
|
10
10
|
import cv2
|
11
11
|
|
12
|
+
from ultralytics import __version__
|
12
13
|
from ultralytics.utils import (
|
13
14
|
ASSETS,
|
14
15
|
DEFAULT_CFG,
|
@@ -24,7 +25,6 @@ from ultralytics.utils import (
|
|
24
25
|
SETTINGS_FILE,
|
25
26
|
TESTS_RUNNING,
|
26
27
|
IterableSimpleNamespace,
|
27
|
-
__version__,
|
28
28
|
checks,
|
29
29
|
colorstr,
|
30
30
|
deprecation_warn,
|
@@ -15,7 +15,8 @@ import psutil
|
|
15
15
|
from torch.utils.data import Dataset
|
16
16
|
|
17
17
|
from ultralytics.data.utils import FORMATS_HELP_MSG, HELP_URL, IMG_FORMATS, check_file_speeds
|
18
|
-
from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM
|
18
|
+
from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM
|
19
|
+
from ultralytics.utils.patches import imread
|
19
20
|
|
20
21
|
|
21
22
|
class BaseDataset(Dataset):
|
@@ -12,14 +12,14 @@ import torch
|
|
12
12
|
from PIL import Image
|
13
13
|
from torch.utils.data import ConcatDataset
|
14
14
|
|
15
|
-
from ultralytics.utils import LOCAL_RANK, NUM_THREADS, TQDM, colorstr
|
15
|
+
from ultralytics.utils import LOCAL_RANK, LOGGER, NUM_THREADS, TQDM, colorstr
|
16
|
+
from ultralytics.utils.instance import Instances
|
16
17
|
from ultralytics.utils.ops import resample_segments, segments2boxes
|
17
18
|
from ultralytics.utils.torch_utils import TORCHVISION_0_18
|
18
19
|
|
19
20
|
from .augment import (
|
20
21
|
Compose,
|
21
22
|
Format,
|
22
|
-
Instances,
|
23
23
|
LetterBox,
|
24
24
|
RandomLoadText,
|
25
25
|
classify_augmentations,
|
@@ -30,7 +30,6 @@ from .base import BaseDataset
|
|
30
30
|
from .converter import merge_multi_segment
|
31
31
|
from .utils import (
|
32
32
|
HELP_URL,
|
33
|
-
LOGGER,
|
34
33
|
check_file_speeds,
|
35
34
|
get_hash,
|
36
35
|
img2label_paths,
|
@@ -16,8 +16,9 @@ import torch
|
|
16
16
|
from PIL import Image
|
17
17
|
|
18
18
|
from ultralytics.data.utils import FORMATS_HELP_MSG, IMG_FORMATS, VID_FORMATS
|
19
|
-
from ultralytics.utils import IS_COLAB, IS_KAGGLE, LOGGER,
|
19
|
+
from ultralytics.utils import IS_COLAB, IS_KAGGLE, LOGGER, ops
|
20
20
|
from ultralytics.utils.checks import check_requirements
|
21
|
+
from ultralytics.utils.patches import imread
|
21
22
|
|
22
23
|
|
23
24
|
@dataclass
|
@@ -70,6 +70,7 @@ from pathlib import Path
|
|
70
70
|
import numpy as np
|
71
71
|
import torch
|
72
72
|
|
73
|
+
from ultralytics import __version__
|
73
74
|
from ultralytics.cfg import TASK2DATA, get_cfg
|
74
75
|
from ultralytics.data import build_dataloader
|
75
76
|
from ultralytics.data.dataset import YOLODataset
|
@@ -81,7 +82,6 @@ from ultralytics.utils import (
|
|
81
82
|
ARM64,
|
82
83
|
DEFAULT_CFG,
|
83
84
|
IS_COLAB,
|
84
|
-
IS_JETSON,
|
85
85
|
LINUX,
|
86
86
|
LOGGER,
|
87
87
|
MACOS,
|
@@ -89,13 +89,13 @@ from ultralytics.utils import (
|
|
89
89
|
RKNN_CHIPS,
|
90
90
|
ROOT,
|
91
91
|
WINDOWS,
|
92
|
-
__version__,
|
93
92
|
callbacks,
|
94
93
|
colorstr,
|
95
94
|
get_default_args,
|
96
95
|
yaml_save,
|
97
96
|
)
|
98
97
|
from ultralytics.utils.checks import (
|
98
|
+
IS_PYTHON_MINIMUM_3_12,
|
99
99
|
check_imgsz,
|
100
100
|
check_is_path_safe,
|
101
101
|
check_requirements,
|
@@ -384,7 +384,7 @@ class Exporter:
|
|
384
384
|
m.export = True
|
385
385
|
m.format = self.args.format
|
386
386
|
m.max_det = self.args.max_det
|
387
|
-
m.xyxy = self.args.nms
|
387
|
+
m.xyxy = self.args.nms and not coreml
|
388
388
|
elif isinstance(m, C2f) and not is_tf_format:
|
389
389
|
# EdgeTPU does not support FlexSplitV while split provides cleaner ONNX graph
|
390
390
|
m.forward = m.forward_split
|
@@ -925,10 +925,8 @@ class Exporter:
|
|
925
925
|
"onnx>=1.12.0",
|
926
926
|
"onnx2tf>=1.26.3",
|
927
927
|
"onnxslim>=0.1.31",
|
928
|
-
"tflite_support<=0.4.3" if IS_JETSON else "tflite_support", # fix ImportError 'GLIBCXX_3.4.29'
|
929
|
-
"flatbuffers>=23.5.26,<100", # update old 'flatbuffers' included inside tensorflow package
|
930
928
|
"onnxruntime-gpu" if cuda else "onnxruntime",
|
931
|
-
"protobuf>=5",
|
929
|
+
"protobuf>=5",
|
932
930
|
),
|
933
931
|
cmds="--extra-index-url https://pypi.ngc.nvidia.com", # onnx_graphsurgeon only on NVIDIA
|
934
932
|
)
|
@@ -1279,8 +1277,20 @@ class Exporter:
|
|
1279
1277
|
|
1280
1278
|
return f, None
|
1281
1279
|
|
1282
|
-
def _add_tflite_metadata(self, file):
|
1280
|
+
def _add_tflite_metadata(self, file, use_flatbuffers=False):
|
1283
1281
|
"""Add metadata to *.tflite models per https://ai.google.dev/edge/litert/models/metadata."""
|
1282
|
+
if not use_flatbuffers:
|
1283
|
+
import zipfile
|
1284
|
+
|
1285
|
+
with zipfile.ZipFile(file, "a", zipfile.ZIP_DEFLATED) as zf:
|
1286
|
+
zf.writestr("metadata.json", json.dumps(self.metadata, indent=2))
|
1287
|
+
return
|
1288
|
+
|
1289
|
+
if IS_PYTHON_MINIMUM_3_12:
|
1290
|
+
LOGGER.warning(f"TFLite Support package may not be compatible with Python>=3.12 environments for {file}")
|
1291
|
+
|
1292
|
+
# Update old 'flatbuffers' included inside tensorflow package
|
1293
|
+
check_requirements(("tflite_support", "flatbuffers>=23.5.26,<100; platform_machine == 'aarch64'"))
|
1284
1294
|
import flatbuffers
|
1285
1295
|
|
1286
1296
|
try:
|
@@ -21,6 +21,7 @@ import torch
|
|
21
21
|
from torch import distributed as dist
|
22
22
|
from torch import nn, optim
|
23
23
|
|
24
|
+
from ultralytics import __version__
|
24
25
|
from ultralytics.cfg import get_cfg, get_save_dir
|
25
26
|
from ultralytics.data.utils import check_cls_dataset, check_det_dataset
|
26
27
|
from ultralytics.nn.tasks import attempt_load_one_weight, attempt_load_weights
|
@@ -30,7 +31,6 @@ from ultralytics.utils import (
|
|
30
31
|
LOGGER,
|
31
32
|
RANK,
|
32
33
|
TQDM,
|
33
|
-
__version__,
|
34
34
|
callbacks,
|
35
35
|
clean_url,
|
36
36
|
colorstr,
|
@@ -268,7 +268,7 @@ class BaseTrainer:
|
|
268
268
|
self.amp = torch.tensor(check_amp(self.model), device=self.device)
|
269
269
|
callbacks.default_callbacks = callbacks_backup # restore callbacks
|
270
270
|
if RANK > -1 and world_size > 1: # DDP
|
271
|
-
dist.broadcast(self.amp, src=0) # broadcast
|
271
|
+
dist.broadcast(self.amp.int(), src=0) # broadcast from rank 0 to all other ranks; gloo errors with boolean
|
272
272
|
self.amp = bool(self.amp) # as boolean
|
273
273
|
self.scaler = (
|
274
274
|
torch.amp.GradScaler("cuda", enabled=self.amp) if TORCH_2_4 else torch.cuda.amp.GradScaler(enabled=self.amp)
|
@@ -9,8 +9,9 @@ from urllib.parse import parse_qs, urlparse
|
|
9
9
|
|
10
10
|
import requests
|
11
11
|
|
12
|
-
from ultralytics
|
13
|
-
from ultralytics.utils import
|
12
|
+
from ultralytics import __version__
|
13
|
+
from ultralytics.hub.utils import HELP_MSG, HUB_WEB_ROOT, PREFIX
|
14
|
+
from ultralytics.utils import IS_COLAB, LOGGER, SETTINGS, TQDM, checks, emojis
|
14
15
|
from ultralytics.utils.errors import HUBModelError
|
15
16
|
|
16
17
|
AGENT_NAME = f"python-{__version__}-colab" if IS_COLAB else f"python-{__version__}-local"
|
@@ -9,6 +9,7 @@ from pathlib import Path
|
|
9
9
|
|
10
10
|
import requests
|
11
11
|
|
12
|
+
from ultralytics import __version__
|
12
13
|
from ultralytics.utils import (
|
13
14
|
ARGV,
|
14
15
|
ENVIRONMENT,
|
@@ -22,7 +23,6 @@ from ultralytics.utils import (
|
|
22
23
|
TESTS_RUNNING,
|
23
24
|
TQDM,
|
24
25
|
TryExcept,
|
25
|
-
__version__,
|
26
26
|
colorstr,
|
27
27
|
get_git_origin_url,
|
28
28
|
)
|
@@ -59,7 +59,7 @@ class DetectionPredictor(BasePredictor):
|
|
59
59
|
self.args.classes,
|
60
60
|
self.args.agnostic_nms,
|
61
61
|
max_det=self.args.max_det,
|
62
|
-
nc=len(self.model.names),
|
62
|
+
nc=0 if self.args.task == "detect" else len(self.model.names),
|
63
63
|
end2end=getattr(self.model, "end2end", False),
|
64
64
|
rotated=self.args.task == "obb",
|
65
65
|
return_idxs=save_feats,
|
@@ -124,7 +124,7 @@ class DetectionValidator(BaseValidator):
|
|
124
124
|
preds,
|
125
125
|
self.args.conf,
|
126
126
|
self.args.iou,
|
127
|
-
nc=self.nc,
|
127
|
+
nc=0 if self.args.task == "detect" else self.nc,
|
128
128
|
multi_label=True,
|
129
129
|
agnostic=self.args.single_cls or self.args.agnostic_nms,
|
130
130
|
max_det=self.args.max_det,
|
@@ -9,9 +9,9 @@ from ultralytics.data import YOLOConcatDataset, build_dataloader, build_yolo_dat
|
|
9
9
|
from ultralytics.data.augment import LoadVisualPrompt
|
10
10
|
from ultralytics.data.utils import check_det_dataset
|
11
11
|
from ultralytics.models.yolo.detect import DetectionValidator
|
12
|
-
from ultralytics.models.yolo.model import YOLOEModel
|
13
12
|
from ultralytics.models.yolo.segment import SegmentationValidator
|
14
13
|
from ultralytics.nn.modules.head import YOLOEDetect
|
14
|
+
from ultralytics.nn.tasks import YOLOEModel
|
15
15
|
from ultralytics.utils import LOGGER, TQDM
|
16
16
|
from ultralytics.utils.torch_utils import select_device, smart_inference_mode
|
17
17
|
|
@@ -432,10 +432,14 @@ class AutoBackend(nn.Module):
|
|
432
432
|
output_details = interpreter.get_output_details() # outputs
|
433
433
|
# Load metadata
|
434
434
|
try:
|
435
|
-
with zipfile.ZipFile(w, "r") as
|
436
|
-
|
437
|
-
|
438
|
-
|
435
|
+
with zipfile.ZipFile(w, "r") as zf:
|
436
|
+
name = zf.namelist()[0]
|
437
|
+
contents = zf.read(name).decode("utf-8")
|
438
|
+
if name == "metadata.json": # Custom Ultralytics metadata dict for Python>=3.12
|
439
|
+
metadata = json.loads(contents)
|
440
|
+
else:
|
441
|
+
metadata = ast.literal_eval(contents) # Default tflite-support metadata for Python<=3.11
|
442
|
+
except (zipfile.BadZipFile, SyntaxError, ValueError, json.JSONDecodeError):
|
439
443
|
pass
|
440
444
|
|
441
445
|
# TF.js
|
@@ -23,10 +23,8 @@ try:
|
|
23
23
|
warnings.filterwarnings("ignore", category=FutureWarning)
|
24
24
|
import mobileclip
|
25
25
|
except ImportError:
|
26
|
-
# MobileCLIP repo has
|
27
|
-
|
28
|
-
checks.check_requirements(["open-clip-torch>=2.20.0", "timm>=0.9.5"])
|
29
|
-
checks.check_requirements("git+https://github.com/apple/ml-mobileclip.git", cmds="--no-deps")
|
26
|
+
# Ultralytics fork preferred since Apple MobileCLIP repo has incorrect version of torchvision
|
27
|
+
checks.check_requirements("git+https://github.com/ultralytics/mobileclip.git")
|
30
28
|
import mobileclip
|
31
29
|
|
32
30
|
|
@@ -120,10 +120,9 @@ def benchmark(
|
|
120
120
|
)
|
121
121
|
if i in {5}: # CoreML
|
122
122
|
assert not IS_PYTHON_3_13, "CoreML not supported on Python 3.13"
|
123
|
-
if i in {6, 7, 8}: # TF SavedModel, TF GraphDef, and TFLite
|
124
|
-
assert not isinstance(model, YOLOWorld), "YOLOWorldv2 TensorFlow exports not supported by onnx2tf yet"
|
125
|
-
if i in {9, 10}: # TF EdgeTPU and TF.js
|
123
|
+
if i in {6, 7, 8, 9, 10}: # TF SavedModel, TF GraphDef, and TFLite, TF EdgeTPU and TF.js
|
126
124
|
assert not isinstance(model, YOLOWorld), "YOLOWorldv2 TensorFlow exports not supported by onnx2tf yet"
|
125
|
+
# assert not IS_PYTHON_MINIMUM_3_12, "TFLite exports not supported on Python>=3.12 yet"
|
127
126
|
if i == 11: # Paddle
|
128
127
|
assert not isinstance(model, YOLOWorld), "YOLOWorldv2 Paddle exports not supported yet"
|
129
128
|
assert model.task != "obb", "Paddle OBB bug https://github.com/PaddlePaddle/Paddle/issues/72024"
|
@@ -178,7 +177,7 @@ def benchmark(
|
|
178
177
|
except Exception as e:
|
179
178
|
if verbose:
|
180
179
|
assert type(e) is AssertionError, f"Benchmark failure for {name}: {e}"
|
181
|
-
LOGGER.
|
180
|
+
LOGGER.error(f"Benchmark failure for {name}: {e}")
|
182
181
|
y.append([name, emoji, round(file_size(filename), 1), None, None, None]) # mAP, t_inference
|
183
182
|
|
184
183
|
# Print results
|
@@ -11,6 +11,7 @@ import subprocess
|
|
11
11
|
import time
|
12
12
|
from importlib import metadata
|
13
13
|
from pathlib import Path
|
14
|
+
from types import SimpleNamespace
|
14
15
|
from typing import Optional
|
15
16
|
|
16
17
|
import cv2
|
@@ -37,7 +38,6 @@ from ultralytics.utils import (
|
|
37
38
|
USER_CONFIG_DIR,
|
38
39
|
WINDOWS,
|
39
40
|
Retry,
|
40
|
-
SimpleNamespace,
|
41
41
|
ThreadingLocked,
|
42
42
|
TryExcept,
|
43
43
|
clean_url,
|
@@ -883,7 +883,9 @@ check_torchvision() # check torch-torchvision compatibility
|
|
883
883
|
|
884
884
|
# Define constants
|
885
885
|
IS_PYTHON_3_8 = PYTHON_VERSION.startswith("3.8")
|
886
|
-
IS_PYTHON_MINIMUM_3_10 = check_python("3.10", hard=False)
|
887
886
|
IS_PYTHON_3_11 = PYTHON_VERSION.startswith("3.11")
|
888
887
|
IS_PYTHON_3_12 = PYTHON_VERSION.startswith("3.12")
|
889
888
|
IS_PYTHON_3_13 = PYTHON_VERSION.startswith("3.13")
|
889
|
+
|
890
|
+
IS_PYTHON_MINIMUM_3_10 = check_python("3.10", hard=False)
|
891
|
+
IS_PYTHON_MINIMUM_3_12 = check_python("3.12", hard=False)
|
@@ -17,6 +17,7 @@ import torch.distributed as dist
|
|
17
17
|
import torch.nn as nn
|
18
18
|
import torch.nn.functional as F
|
19
19
|
|
20
|
+
from ultralytics import __version__
|
20
21
|
from ultralytics.utils import (
|
21
22
|
DEFAULT_CFG_DICT,
|
22
23
|
DEFAULT_CFG_KEYS,
|
@@ -25,7 +26,6 @@ from ultralytics.utils import (
|
|
25
26
|
PYTHON_VERSION,
|
26
27
|
TORCHVISION_VERSION,
|
27
28
|
WINDOWS,
|
28
|
-
__version__,
|
29
29
|
colorstr,
|
30
30
|
)
|
31
31
|
from ultralytics.utils.checks import check_version
|
@@ -55,12 +55,13 @@ if WINDOWS and check_version(torch.__version__, "==2.4.0"): # reject version 2.
|
|
55
55
|
def torch_distributed_zero_first(local_rank: int):
|
56
56
|
"""Ensures all processes in distributed training wait for the local master (rank 0) to complete a task first."""
|
57
57
|
initialized = dist.is_available() and dist.is_initialized()
|
58
|
+
use_ids = initialized and dist.get_backend() == "nccl"
|
58
59
|
|
59
60
|
if initialized and local_rank not in {-1, 0}:
|
60
|
-
dist.barrier(device_ids=[local_rank])
|
61
|
+
dist.barrier(device_ids=[local_rank]) if use_ids else dist.barrier()
|
61
62
|
yield
|
62
63
|
if initialized and local_rank == 0:
|
63
|
-
dist.barrier(device_ids=[local_rank])
|
64
|
+
dist.barrier(device_ids=[local_rank]) if use_ids else dist.barrier()
|
64
65
|
|
65
66
|
|
66
67
|
def smart_inference_mode():
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.117
|
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>
|
@@ -60,14 +60,13 @@ Requires-Dist: mkdocs-ultralytics-plugin>=0.1.17; extra == "dev"
|
|
60
60
|
Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
|
61
61
|
Provides-Extra: export
|
62
62
|
Requires-Dist: onnx>=1.12.0; extra == "export"
|
63
|
-
Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.
|
63
|
+
Requires-Dist: coremltools>=8.0; (platform_system != "Windows" and python_version <= "3.13") and extra == "export"
|
64
64
|
Requires-Dist: scikit-learn>=1.3.2; (platform_system != "Windows" and python_version <= "3.12") and extra == "export"
|
65
65
|
Requires-Dist: openvino>=2024.0.0; extra == "export"
|
66
66
|
Requires-Dist: tensorflow>=2.0.0; extra == "export"
|
67
|
-
Requires-Dist: tensorflowjs>=
|
67
|
+
Requires-Dist: tensorflowjs>=2.0.0; extra == "export"
|
68
68
|
Requires-Dist: tensorstore>=0.1.63; (platform_machine == "aarch64" and python_version >= "3.9") and extra == "export"
|
69
69
|
Requires-Dist: keras; extra == "export"
|
70
|
-
Requires-Dist: flatbuffers<100,>=23.5.26; platform_machine == "aarch64" and extra == "export"
|
71
70
|
Requires-Dist: h5py!=3.11.0; platform_machine == "aarch64" and extra == "export"
|
72
71
|
Provides-Extra: solutions
|
73
72
|
Requires-Dist: shapely<2.1.0,>=2.0.0; extra == "solutions"
|
@@ -32,20 +32,21 @@ mkdocs-macros-plugin>=1.0.5
|
|
32
32
|
onnx>=1.12.0
|
33
33
|
openvino>=2024.0.0
|
34
34
|
tensorflow>=2.0.0
|
35
|
-
tensorflowjs>=
|
35
|
+
tensorflowjs>=2.0.0
|
36
36
|
keras
|
37
37
|
|
38
38
|
[export:platform_machine == "aarch64"]
|
39
|
-
flatbuffers<100,>=23.5.26
|
40
39
|
h5py!=3.11.0
|
41
40
|
|
42
41
|
[export:platform_machine == "aarch64" and python_version >= "3.9"]
|
43
42
|
tensorstore>=0.1.63
|
44
43
|
|
45
44
|
[export:platform_system != "Windows" and python_version <= "3.12"]
|
46
|
-
coremltools>=8.0
|
47
45
|
scikit-learn>=1.3.2
|
48
46
|
|
47
|
+
[export:platform_system != "Windows" and python_version <= "3.13"]
|
48
|
+
coremltools>=8.0
|
49
|
+
|
49
50
|
[extra]
|
50
51
|
hub-sdk>=0.0.12
|
51
52
|
ipython
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/coco8-multispectral.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/datasets/dota8-multispectral.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.116 → ultralytics-8.3.117}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|