ultralytics 8.3.68__tar.gz → 8.3.70__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.68/ultralytics.egg-info → ultralytics-8.3.70}/PKG-INFO +3 -4
- {ultralytics-8.3.68 → ultralytics-8.3.70}/pyproject.toml +2 -3
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/model.py +3 -1
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/results.py +69 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/utils/ops.py +1 -1
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/autobackend.py +6 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/benchmarks.py +19 -4
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/checks.py +2 -2
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/torch_utils.py +1 -1
- {ultralytics-8.3.68 → ultralytics-8.3.70/ultralytics.egg-info}/PKG-INFO +3 -4
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics.egg-info/requires.txt +2 -5
- {ultralytics-8.3.68 → ultralytics-8.3.70}/LICENSE +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/README.md +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/setup.cfg +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/conftest.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/test_cli.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/test_engine.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/test_exports.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/test_python.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/solutions/default.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/security_alarm.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/solutions.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/solutions/trackzone.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.70
|
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>
|
@@ -32,8 +32,7 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
32
32
|
Requires-Python: >=3.8
|
33
33
|
Description-Content-Type: text/markdown
|
34
34
|
License-File: LICENSE
|
35
|
-
Requires-Dist: numpy
|
36
|
-
Requires-Dist: numpy<2.0.0; sys_platform == "darwin"
|
35
|
+
Requires-Dist: numpy<=2.1.1,>=1.23.0
|
37
36
|
Requires-Dist: matplotlib>=3.3.0
|
38
37
|
Requires-Dist: opencv-python>=4.6.0
|
39
38
|
Requires-Dist: pillow>=7.1.2
|
@@ -58,7 +57,7 @@ Requires-Dist: mkdocs>=1.6.0; extra == "dev"
|
|
58
57
|
Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
|
59
58
|
Requires-Dist: mkdocstrings[python]; extra == "dev"
|
60
59
|
Requires-Dist: mkdocs-redirects; extra == "dev"
|
61
|
-
Requires-Dist: mkdocs-ultralytics-plugin>=0.1.
|
60
|
+
Requires-Dist: mkdocs-ultralytics-plugin>=0.1.16; extra == "dev"
|
62
61
|
Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
|
63
62
|
Provides-Extra: export
|
64
63
|
Requires-Dist: onnx>=1.12.0; extra == "export"
|
@@ -61,8 +61,7 @@ classifiers = [
|
|
61
61
|
|
62
62
|
# Required dependencies ------------------------------------------------------------------------------------------------
|
63
63
|
dependencies = [
|
64
|
-
"numpy>=1.23.0",
|
65
|
-
"numpy<2.0.0; sys_platform == 'darwin'", # macOS OpenVINO errors https://github.com/ultralytics/ultralytics/pull/17221
|
64
|
+
"numpy>=1.23.0,<=2.1.1", # OpenVINO and TFLite errors on '--slow' CI Tests https://github.com/ultralytics/ultralytics/pull/18943
|
66
65
|
"matplotlib>=3.3.0",
|
67
66
|
"opencv-python>=4.6.0",
|
68
67
|
"pillow>=7.1.2",
|
@@ -91,7 +90,7 @@ dev = [
|
|
91
90
|
"mkdocs-material>=9.5.9",
|
92
91
|
"mkdocstrings[python]",
|
93
92
|
"mkdocs-redirects", # 301 redirects
|
94
|
-
"mkdocs-ultralytics-plugin>=0.1.
|
93
|
+
"mkdocs-ultralytics-plugin>=0.1.16", # for meta descriptions and images, dates and authors
|
95
94
|
"mkdocs-macros-plugin>=1.0.5" # duplicating content (i.e. export tables) in multiple places
|
96
95
|
]
|
97
96
|
export = [
|
@@ -661,6 +661,7 @@ class Model(nn.Module):
|
|
661
661
|
- int8 (bool): Whether to use int8 precision mode.
|
662
662
|
- device (str): Device to run the benchmark on (e.g., 'cpu', 'cuda').
|
663
663
|
- verbose (bool): Whether to print detailed benchmark information.
|
664
|
+
- format (str): Export format name for specific benchmarking
|
664
665
|
|
665
666
|
Returns:
|
666
667
|
(Dict): A dictionary containing the results of the benchmarking process, including metrics for
|
@@ -686,7 +687,8 @@ class Model(nn.Module):
|
|
686
687
|
half=args["half"],
|
687
688
|
int8=args["int8"],
|
688
689
|
device=args["device"],
|
689
|
-
verbose=kwargs.get("verbose"),
|
690
|
+
verbose=kwargs.get("verbose", False),
|
691
|
+
format=kwargs.get("format", ""),
|
690
692
|
)
|
691
693
|
|
692
694
|
def export(
|
@@ -937,6 +937,75 @@ class Results(SimpleClass):
|
|
937
937
|
|
938
938
|
return json.dumps(self.summary(normalize=normalize, decimals=decimals), indent=2)
|
939
939
|
|
940
|
+
def to_sql(self, table_name="results", normalize=False, decimals=5, db_path="results.db"):
|
941
|
+
"""
|
942
|
+
Converts detection results to an SQL-compatible format.
|
943
|
+
|
944
|
+
This method serializes the detection results into a format compatible with SQL databases.
|
945
|
+
It includes information about detected objects such as bounding boxes, class names, confidence scores,
|
946
|
+
and optionally segmentation masks, keypoints or oriented bounding boxes.
|
947
|
+
|
948
|
+
Args:
|
949
|
+
table_name (str): Name of the SQL table where the data will be inserted. Defaults to "detection_results".
|
950
|
+
normalize (bool): Whether to normalize the bounding box coordinates by the image dimensions.
|
951
|
+
If True, coordinates will be returned as float values between 0 and 1. Defaults to False.
|
952
|
+
decimals (int): Number of decimal places to round the bounding boxes values to. Defaults to 5.
|
953
|
+
db_path (str): Path to the SQLite database file. Defaults to "results.db".
|
954
|
+
|
955
|
+
Examples:
|
956
|
+
>>> results = model("path/to/image.jpg")
|
957
|
+
>>> results[0].to_sql()
|
958
|
+
>>> print("SQL data written successfully.")
|
959
|
+
"""
|
960
|
+
import json
|
961
|
+
import sqlite3
|
962
|
+
|
963
|
+
# Convert results to a list of dictionaries
|
964
|
+
data = self.summary(normalize=normalize, decimals=decimals)
|
965
|
+
if not data:
|
966
|
+
LOGGER.warning("⚠️ No results to save to SQL. Results dict is empty")
|
967
|
+
return
|
968
|
+
|
969
|
+
# Connect to the SQLite database
|
970
|
+
conn = sqlite3.connect(db_path)
|
971
|
+
cursor = conn.cursor()
|
972
|
+
|
973
|
+
# Create table if it doesn't exist
|
974
|
+
columns = (
|
975
|
+
"id INTEGER PRIMARY KEY AUTOINCREMENT, class_name TEXT, confidence REAL, "
|
976
|
+
"box TEXT, masks TEXT, kpts TEXT, obb TEXT"
|
977
|
+
)
|
978
|
+
cursor.execute(f"CREATE TABLE IF NOT EXISTS {table_name} ({columns})")
|
979
|
+
|
980
|
+
# Insert data into the table
|
981
|
+
for i, item in enumerate(data):
|
982
|
+
detect, obb = None, None # necessary to reinit these variables inside for loop to avoid duplication
|
983
|
+
class_name = item.get("name")
|
984
|
+
box = item.get("box", {})
|
985
|
+
# Serialize the box as JSON for 'detect' and 'obb' based on key presence
|
986
|
+
if all(key in box for key in ["x1", "y1", "x2", "y2"]) and not any(key in box for key in ["x3", "x4"]):
|
987
|
+
detect = json.dumps(box)
|
988
|
+
if all(key in box for key in ["x1", "y1", "x2", "y2", "x3", "x4"]):
|
989
|
+
obb = json.dumps(box)
|
990
|
+
|
991
|
+
cursor.execute(
|
992
|
+
f"INSERT INTO {table_name} (class_name, confidence, box, masks, kpts, obb) VALUES (?, ?, ?, ?, ?, ?)",
|
993
|
+
(
|
994
|
+
class_name,
|
995
|
+
item.get("confidence"),
|
996
|
+
detect,
|
997
|
+
json.dumps(item.get("segments", {}).get("x", [])),
|
998
|
+
json.dumps(item.get("keypoints", {}).get("x", [])),
|
999
|
+
obb,
|
1000
|
+
),
|
1001
|
+
)
|
1002
|
+
|
1003
|
+
# Commit and close the connection
|
1004
|
+
conn.commit()
|
1005
|
+
conn.close()
|
1006
|
+
|
1007
|
+
LOGGER.info(f"✅ Detection results successfully written to SQL table '{table_name}' in database '{db_path}'.")
|
1008
|
+
|
940
1009
|
|
941
1010
|
class Boxes(BaseTensor):
|
942
1011
|
"""
|
@@ -172,7 +172,7 @@ def get_cdn_group(
|
|
172
172
|
bounding boxes, attention mask and meta information for denoising. If not in training mode or 'num_dn'
|
173
173
|
is less than or equal to 0, the function returns None for all elements in the tuple.
|
174
174
|
"""
|
175
|
-
if (not training) or num_dn <= 0:
|
175
|
+
if (not training) or num_dn <= 0 or batch is None:
|
176
176
|
return None, None, None, None
|
177
177
|
gt_groups = batch["gt_groups"]
|
178
178
|
total_num = sum(gt_groups)
|
@@ -293,6 +293,12 @@ class AutoBackend(nn.Module):
|
|
293
293
|
except UnicodeDecodeError:
|
294
294
|
f.seek(0) # engine file may lack embedded Ultralytics metadata
|
295
295
|
model = runtime.deserialize_cuda_engine(f.read()) # read engine
|
296
|
+
if "dla" in str(device.type):
|
297
|
+
dla_core = int(device.type.split(":")[1])
|
298
|
+
assert dla_core in {0, 1}, (
|
299
|
+
"Expected device type for inference in DLA is 'dla:0' or 'dla:1', but received '{device.type}'"
|
300
|
+
)
|
301
|
+
runtime.DLA_core = dla_core
|
296
302
|
|
297
303
|
# Model context
|
298
304
|
try:
|
@@ -42,7 +42,7 @@ from ultralytics import YOLO, YOLOWorld
|
|
42
42
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
43
43
|
from ultralytics.engine.exporter import export_formats
|
44
44
|
from ultralytics.utils import ARM64, ASSETS, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
45
|
-
from ultralytics.utils.checks import IS_PYTHON_3_12, check_requirements, check_yolo, is_rockchip
|
45
|
+
from ultralytics.utils.checks import IS_PYTHON_3_12, check_imgsz, check_requirements, check_yolo, is_rockchip
|
46
46
|
from ultralytics.utils.downloads import safe_download
|
47
47
|
from ultralytics.utils.files import file_size
|
48
48
|
from ultralytics.utils.torch_utils import get_cpu_info, select_device
|
@@ -57,6 +57,7 @@ def benchmark(
|
|
57
57
|
device="cpu",
|
58
58
|
verbose=False,
|
59
59
|
eps=1e-3,
|
60
|
+
format="",
|
60
61
|
):
|
61
62
|
"""
|
62
63
|
Benchmark a YOLO model across different formats for speed and accuracy.
|
@@ -70,6 +71,7 @@ def benchmark(
|
|
70
71
|
device (str): Device to run the benchmark on, either 'cpu' or 'cuda'.
|
71
72
|
verbose (bool | float): If True or a float, assert benchmarks pass with given metric.
|
72
73
|
eps (float): Epsilon value for divide by zero prevention.
|
74
|
+
format (str): Export format for benchmarking. If not supplied all formats are benchmarked.
|
73
75
|
|
74
76
|
Returns:
|
75
77
|
(pandas.DataFrame): A pandas DataFrame with benchmark results for each format, including file size, metric,
|
@@ -80,6 +82,9 @@ def benchmark(
|
|
80
82
|
>>> from ultralytics.utils.benchmarks import benchmark
|
81
83
|
>>> benchmark(model="yolo11n.pt", imgsz=640)
|
82
84
|
"""
|
85
|
+
imgsz = check_imgsz(imgsz)
|
86
|
+
assert imgsz[0] == imgsz[1] if isinstance(imgsz, list) else True, "benchmark() only supports square imgsz."
|
87
|
+
|
83
88
|
import pandas as pd # scope for faster 'import ultralytics'
|
84
89
|
|
85
90
|
pd.options.display.max_columns = 10
|
@@ -91,9 +96,17 @@ def benchmark(
|
|
91
96
|
|
92
97
|
y = []
|
93
98
|
t0 = time.time()
|
99
|
+
|
100
|
+
format_arg = format.lower()
|
101
|
+
if format_arg:
|
102
|
+
formats = frozenset(export_formats()["Argument"])
|
103
|
+
assert format in formats, f"Expected format to be one of {formats}, but got '{format_arg}'."
|
94
104
|
for i, (name, format, suffix, cpu, gpu, _) in enumerate(zip(*export_formats().values())):
|
95
105
|
emoji, filename = "❌", None # export defaults
|
96
106
|
try:
|
107
|
+
if format_arg and format_arg != format:
|
108
|
+
continue
|
109
|
+
|
97
110
|
# Checks
|
98
111
|
if i == 7: # TF GraphDef
|
99
112
|
assert model.task != "obb", "TensorFlow GraphDef not supported for OBB task"
|
@@ -148,14 +161,14 @@ def benchmark(
|
|
148
161
|
assert i != 5 or platform.system() == "Darwin", "inference only supported on macOS>=10.13" # CoreML
|
149
162
|
if i in {13}:
|
150
163
|
assert not is_end2end, "End-to-end torch.topk operation is not supported for NCNN prediction yet"
|
151
|
-
exported_model.predict(ASSETS / "bus.jpg", imgsz=imgsz, device=device, half=half)
|
164
|
+
exported_model.predict(ASSETS / "bus.jpg", imgsz=imgsz, device=device, half=half, verbose=False)
|
152
165
|
|
153
166
|
# Validate
|
154
167
|
data = data or TASK2DATA[model.task] # task to dataset, i.e. coco8.yaml for task=detect
|
155
|
-
key = TASK2METRIC[model.task] # task to metric, i.e. metrics/mAP50-95(B) for task=detect
|
156
168
|
results = exported_model.val(
|
157
169
|
data=data, batch=1, imgsz=imgsz, plots=False, device=device, half=half, int8=int8, verbose=False
|
158
170
|
)
|
171
|
+
key = TASK2METRIC[model.task] # task to metric, i.e. metrics/mAP50-95(B) for task=detect
|
159
172
|
metric, speed = results.results_dict[key], results.speed["inference"]
|
160
173
|
fps = round(1000 / (speed + eps), 2) # frames per second
|
161
174
|
y.append([name, "✅", round(file_size(filename), 1), round(metric, 4), round(speed, 2), fps])
|
@@ -170,7 +183,9 @@ def benchmark(
|
|
170
183
|
df = pd.DataFrame(y, columns=["Format", "Status❔", "Size (MB)", key, "Inference time (ms/im)", "FPS"])
|
171
184
|
|
172
185
|
name = model.model_name
|
173
|
-
|
186
|
+
dt = time.time() - t0
|
187
|
+
legend = "Benchmarks legend: - ✅ Success - ❎ Export passed but validation failed - ❌️ Export failed"
|
188
|
+
s = f"\nBenchmarks complete for {name} on {data} at imgsz={imgsz} ({dt:.2f}s)\n{legend}\n{df.fillna('-')}\n"
|
174
189
|
LOGGER.info(s)
|
175
190
|
with open("benchmarks.log", "a", errors="ignore", encoding="utf-8") as f:
|
176
191
|
f.write(s)
|
@@ -433,8 +433,8 @@ def check_torchvision():
|
|
433
433
|
The compatibility table is a dictionary where the keys are PyTorch versions and the values are lists of compatible
|
434
434
|
Torchvision versions.
|
435
435
|
"""
|
436
|
-
# Compatibility table
|
437
436
|
compatibility_table = {
|
437
|
+
"2.6": ["0.21"],
|
438
438
|
"2.5": ["0.20"],
|
439
439
|
"2.4": ["0.19"],
|
440
440
|
"2.3": ["0.18"],
|
@@ -445,7 +445,7 @@ def check_torchvision():
|
|
445
445
|
"1.12": ["0.13"],
|
446
446
|
}
|
447
447
|
|
448
|
-
#
|
448
|
+
# Check major and minor versions
|
449
449
|
v_torch = ".".join(torch.__version__.split("+")[0].split(".")[:2])
|
450
450
|
if v_torch in compatibility_table:
|
451
451
|
compatible_versions = compatibility_table[v_torch]
|
@@ -667,7 +667,7 @@ def profile(input, ops, n=10, device=None, max_num_obj=0):
|
|
667
667
|
m = m.half() if hasattr(m, "half") and isinstance(x, torch.Tensor) and x.dtype is torch.float16 else m
|
668
668
|
tf, tb, t = 0, 0, [0, 0, 0] # dt forward, backward
|
669
669
|
try:
|
670
|
-
flops = thop.profile(m, inputs=[x], verbose=False)[0] / 1e9 * 2 # GFLOPs
|
670
|
+
flops = thop.profile(deepcopy(m), inputs=[x], verbose=False)[0] / 1e9 * 2 # GFLOPs
|
671
671
|
except Exception:
|
672
672
|
flops = 0
|
673
673
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.70
|
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>
|
@@ -32,8 +32,7 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
32
32
|
Requires-Python: >=3.8
|
33
33
|
Description-Content-Type: text/markdown
|
34
34
|
License-File: LICENSE
|
35
|
-
Requires-Dist: numpy
|
36
|
-
Requires-Dist: numpy<2.0.0; sys_platform == "darwin"
|
35
|
+
Requires-Dist: numpy<=2.1.1,>=1.23.0
|
37
36
|
Requires-Dist: matplotlib>=3.3.0
|
38
37
|
Requires-Dist: opencv-python>=4.6.0
|
39
38
|
Requires-Dist: pillow>=7.1.2
|
@@ -58,7 +57,7 @@ Requires-Dist: mkdocs>=1.6.0; extra == "dev"
|
|
58
57
|
Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
|
59
58
|
Requires-Dist: mkdocstrings[python]; extra == "dev"
|
60
59
|
Requires-Dist: mkdocs-redirects; extra == "dev"
|
61
|
-
Requires-Dist: mkdocs-ultralytics-plugin>=0.1.
|
60
|
+
Requires-Dist: mkdocs-ultralytics-plugin>=0.1.16; extra == "dev"
|
62
61
|
Requires-Dist: mkdocs-macros-plugin>=1.0.5; extra == "dev"
|
63
62
|
Provides-Extra: export
|
64
63
|
Requires-Dist: onnx>=1.12.0; extra == "export"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
numpy
|
1
|
+
numpy<=2.1.1,>=1.23.0
|
2
2
|
matplotlib>=3.3.0
|
3
3
|
opencv-python>=4.6.0
|
4
4
|
pillow>=7.1.2
|
@@ -14,9 +14,6 @@ pandas>=1.1.4
|
|
14
14
|
seaborn>=0.11.0
|
15
15
|
ultralytics-thop>=2.0.0
|
16
16
|
|
17
|
-
[:sys_platform == "darwin"]
|
18
|
-
numpy<2.0.0
|
19
|
-
|
20
17
|
[:sys_platform == "win32"]
|
21
18
|
torch!=2.4.0,>=1.8.0
|
22
19
|
|
@@ -29,7 +26,7 @@ mkdocs>=1.6.0
|
|
29
26
|
mkdocs-material>=9.5.9
|
30
27
|
mkdocstrings[python]
|
31
28
|
mkdocs-redirects
|
32
|
-
mkdocs-ultralytics-plugin>=0.1.
|
29
|
+
mkdocs-ultralytics-plugin>=0.1.16
|
33
30
|
mkdocs-macros-plugin>=1.0.5
|
34
31
|
|
35
32
|
[export]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.68 → ultralytics-8.3.70}/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
|
{ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.68 → ultralytics-8.3.70}/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
|
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.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.68 → ultralytics-8.3.70}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.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
|
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
|