ultralytics 8.3.104__tar.gz → 8.3.105__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.104/ultralytics.egg-info → ultralytics-8.3.105}/PKG-INFO +1 -1
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_python.py +1 -1
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_solutions.py +1 -1
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/__init__.py +19 -17
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/default.yaml +0 -1
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/val.py +0 -16
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/head.py +7 -5
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/object_counter.py +2 -1
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/solutions.py +1 -3
- {ultralytics-8.3.104 → ultralytics-8.3.105/ultralytics.egg-info}/PKG-INFO +1 -1
- {ultralytics-8.3.104 → ultralytics-8.3.105}/LICENSE +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/README.md +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/pyproject.toml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/setup.cfg +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/conftest.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_cli.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_engine.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_exports.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/solutions/default.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/nn/text_model.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/instance_segmentation.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/object_blurrer.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/object_cropper.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/security_alarm.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/trackzone.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/solutions/vision_eye.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.3.104 → ultralytics-8.3.105}/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.105
|
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>
|
@@ -199,7 +199,7 @@ def test_track_stream():
|
|
199
199
|
|
200
200
|
def test_val():
|
201
201
|
"""Test the validation mode of the YOLO model."""
|
202
|
-
YOLO(MODEL).val(data="coco8.yaml", imgsz=32
|
202
|
+
YOLO(MODEL).val(data="coco8.yaml", imgsz=32)
|
203
203
|
|
204
204
|
|
205
205
|
def test_train_scratch():
|
@@ -20,7 +20,7 @@ PARKING_VIDEO = "solution_ci_parking_demo.mp4" # only for parking management so
|
|
20
20
|
PARKING_AREAS_JSON = "solution_ci_parking_areas.json" # only for parking management solution
|
21
21
|
PARKING_MODEL = "solutions_ci_parking_model.pt" # only for parking management solution
|
22
22
|
MODEL_FILE = "yolo11n.pt" # model file used for solutions, except parking management and instance segmentation
|
23
|
-
REGION = [(
|
23
|
+
REGION = [(10, 200), (540, 200), (540, 180), (10, 180)] # for object counting, speed estimation and queue management
|
24
24
|
|
25
25
|
# Test configs for each solution : (name, class, needs_frame_count, video, kwargs)
|
26
26
|
SOLUTIONS = [
|
@@ -214,7 +214,6 @@ CFG_BOOL_KEYS = frozenset(
|
|
214
214
|
"overlap_mask",
|
215
215
|
"val",
|
216
216
|
"save_json",
|
217
|
-
"save_hybrid",
|
218
217
|
"half",
|
219
218
|
"dnn",
|
220
219
|
"plots",
|
@@ -437,22 +436,25 @@ def _handle_deprecation(custom: Dict) -> Dict:
|
|
437
436
|
equivalents. It also handles value conversions where necessary, such as inverting boolean values for
|
438
437
|
'hide_labels' and 'hide_conf'.
|
439
438
|
"""
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
439
|
+
deprecated_mappings = {
|
440
|
+
"boxes": ("show_boxes", lambda v: v),
|
441
|
+
"hide_labels": ("show_labels", lambda v: not bool(v)),
|
442
|
+
"hide_conf": ("show_conf", lambda v: not bool(v)),
|
443
|
+
"line_thickness": ("line_width", lambda v: v),
|
444
|
+
}
|
445
|
+
removed_keys = {"label_smoothing", "save_hybrid"}
|
446
|
+
|
447
|
+
for old_key, (new_key, transform) in deprecated_mappings.items():
|
448
|
+
if old_key not in custom:
|
449
|
+
continue
|
450
|
+
deprecation_warn(old_key, new_key)
|
451
|
+
custom[new_key] = transform(custom.pop(old_key))
|
452
|
+
|
453
|
+
for key in removed_keys:
|
454
|
+
if key not in custom:
|
455
|
+
continue
|
456
|
+
deprecation_warn(key)
|
457
|
+
custom.pop(key)
|
456
458
|
|
457
459
|
return custom
|
458
460
|
|
@@ -47,7 +47,6 @@ dropout: 0.0 # (float) use dropout regularization (classify train only)
|
|
47
47
|
val: True # (bool) validate/test during training
|
48
48
|
split: val # (str) dataset split to use for validation, i.e. 'val', 'test' or 'train'
|
49
49
|
save_json: False # (bool) save results to JSON file
|
50
|
-
save_hybrid: False # (bool) save hybrid version of labels (labels + additional predictions)
|
51
50
|
conf: # (float, optional) object confidence threshold for detection (default 0.25 predict, 0.001 val)
|
52
51
|
iou: 0.7 # (float) intersection over union (IoU) threshold for NMS
|
53
52
|
max_det: 300 # (int) maximum number of detections per image
|
@@ -62,12 +62,6 @@ class DetectionValidator(BaseValidator):
|
|
62
62
|
self.metrics = DetMetrics(save_dir=self.save_dir)
|
63
63
|
self.iouv = torch.linspace(0.5, 0.95, 10) # IoU vector for mAP@0.5:0.95
|
64
64
|
self.niou = self.iouv.numel()
|
65
|
-
self.lb = [] # for autolabelling
|
66
|
-
if self.args.save_hybrid and self.args.task == "detect":
|
67
|
-
LOGGER.warning(
|
68
|
-
"WARNING ⚠️ 'save_hybrid=True' will append ground truth to predictions for autolabelling.\n"
|
69
|
-
"WARNING ⚠️ 'save_hybrid=True' will cause incorrect mAP.\n"
|
70
|
-
)
|
71
65
|
|
72
66
|
def preprocess(self, batch):
|
73
67
|
"""
|
@@ -84,15 +78,6 @@ class DetectionValidator(BaseValidator):
|
|
84
78
|
for k in ["batch_idx", "cls", "bboxes"]:
|
85
79
|
batch[k] = batch[k].to(self.device)
|
86
80
|
|
87
|
-
if self.args.save_hybrid and self.args.task == "detect":
|
88
|
-
height, width = batch["img"].shape[2:]
|
89
|
-
nb = len(batch["img"])
|
90
|
-
bboxes = batch["bboxes"] * torch.tensor((width, height, width, height), device=self.device)
|
91
|
-
self.lb = [
|
92
|
-
torch.cat([batch["cls"][batch["batch_idx"] == i], bboxes[batch["batch_idx"] == i]], dim=-1)
|
93
|
-
for i in range(nb)
|
94
|
-
]
|
95
|
-
|
96
81
|
return batch
|
97
82
|
|
98
83
|
def init_metrics(self, model):
|
@@ -139,7 +124,6 @@ class DetectionValidator(BaseValidator):
|
|
139
124
|
preds,
|
140
125
|
self.args.conf,
|
141
126
|
self.args.iou,
|
142
|
-
labels=self.lb,
|
143
127
|
nc=self.nc,
|
144
128
|
multi_label=True,
|
145
129
|
agnostic=self.args.single_cls or self.args.agnostic_nms,
|
@@ -369,8 +369,8 @@ class LRPCHead(nn.Module):
|
|
369
369
|
if self.enabled:
|
370
370
|
pf_score = self.pf(cls_feat)[0, 0].flatten(0)
|
371
371
|
mask = pf_score.sigmoid() > conf
|
372
|
-
|
373
|
-
cls_feat = self.vocab(cls_feat.
|
372
|
+
cls_feat = cls_feat.flatten(2).transpose(-1, -2)
|
373
|
+
cls_feat = self.vocab(cls_feat * mask.unsqueeze(-1).int() if not conf else cls_feat[:, mask])
|
374
374
|
return (self.loc(loc_feat), cls_feat.transpose(-1, -2)), mask
|
375
375
|
else:
|
376
376
|
cls_feat = self.vocab(cls_feat)
|
@@ -478,7 +478,9 @@ class YOLOEDetect(Detect):
|
|
478
478
|
cls_feat = self.cv3[i](x[i])
|
479
479
|
loc_feat = self.cv2[i](x[i])
|
480
480
|
assert isinstance(self.lrpc[i], LRPCHead)
|
481
|
-
x[i], mask = self.lrpc[i](
|
481
|
+
x[i], mask = self.lrpc[i](
|
482
|
+
cls_feat, loc_feat, 0 if self.export and not self.dynamic else getattr(self, "conf", 0.001)
|
483
|
+
)
|
482
484
|
masks.append(mask)
|
483
485
|
shape = x[0][0].shape
|
484
486
|
if self.dynamic or self.shape != shape:
|
@@ -499,7 +501,7 @@ class YOLOEDetect(Detect):
|
|
499
501
|
dbox = self.decode_bboxes(self.dfl(box), self.anchors.unsqueeze(0)) * self.strides
|
500
502
|
|
501
503
|
mask = torch.cat(masks)
|
502
|
-
y = torch.cat((dbox[
|
504
|
+
y = torch.cat((dbox if self.export and not self.dynamic else dbox[..., mask], cls.sigmoid()), 1)
|
503
505
|
|
504
506
|
if return_mask:
|
505
507
|
return (y, mask) if self.export else ((y, x), mask)
|
@@ -560,7 +562,7 @@ class YOLOESegment(YOLOEDetect):
|
|
560
562
|
return x, mc, p
|
561
563
|
|
562
564
|
if has_lrpc:
|
563
|
-
mc = mc
|
565
|
+
mc = (mc * mask.int()) if self.export and not self.dynamic else mc[..., mask]
|
564
566
|
|
565
567
|
return (torch.cat([x, mc], 1), p) if self.export else (torch.cat([x[0], mc], 1), (x[1], mc, p))
|
566
568
|
|
@@ -45,6 +45,7 @@ class ObjectCounter(BaseSolution):
|
|
45
45
|
|
46
46
|
self.show_in = self.CFG["show_in"]
|
47
47
|
self.show_out = self.CFG["show_out"]
|
48
|
+
self.margin = self.line_width * 2 # Scales the background rectangle size to display counts properly
|
48
49
|
|
49
50
|
def count_objects(self, current_centroid, track_id, prev_position, cls):
|
50
51
|
"""
|
@@ -144,7 +145,7 @@ class ObjectCounter(BaseSolution):
|
|
144
145
|
if value["IN"] != 0 or value["OUT"] != 0
|
145
146
|
}
|
146
147
|
if labels_dict:
|
147
|
-
self.annotator.display_analytics(plot_im, labels_dict, (104, 31, 17), (255, 255, 255),
|
148
|
+
self.annotator.display_analytics(plot_im, labels_dict, (104, 31, 17), (255, 255, 255), self.margin)
|
148
149
|
|
149
150
|
def process(self, im0):
|
150
151
|
"""
|
@@ -79,9 +79,7 @@ class BaseSolution:
|
|
79
79
|
self.LOGGER.info(f"Ultralytics Solutions: ✅ {DEFAULT_SOL_DICT}")
|
80
80
|
|
81
81
|
self.region = self.CFG["region"] # Store region data for other classes usage
|
82
|
-
self.line_width = (
|
83
|
-
self.CFG["line_width"] if self.CFG["line_width"] is not None else 2
|
84
|
-
) # Store line_width for usage
|
82
|
+
self.line_width = self.CFG["line_width"] if self.CFG["line_width"] not in (None, 0) else 2 # Store line_width
|
85
83
|
|
86
84
|
# Load Model and store classes names
|
87
85
|
if self.CFG["model"] is None:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.105
|
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>
|
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.104 → ultralytics-8.3.105}/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.104 → ultralytics-8.3.105}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.104 → ultralytics-8.3.105}/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
|
File without changes
|
File without changes
|
{ultralytics-8.3.104 → ultralytics-8.3.105}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.104 → ultralytics-8.3.105}/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
|
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
|