ultralytics 8.3.35__tar.gz → 8.3.36__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.35/ultralytics.egg-info → ultralytics-8.3.36}/PKG-INFO +2 -2
- {ultralytics-8.3.35 → ultralytics-8.3.36}/README.md +1 -1
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_solutions.py +1 -1
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/solutions/default.yaml +1 -1
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/exporter.py +2 -3
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/tasks.py +4 -14
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/object_counter.py +21 -25
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/solutions.py +1 -1
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/torch_utils.py +1 -1
- {ultralytics-8.3.35 → ultralytics-8.3.36/ultralytics.egg-info}/PKG-INFO +2 -2
- {ultralytics-8.3.35 → ultralytics-8.3.36}/LICENSE +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/pyproject.toml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/setup.cfg +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/conftest.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_cli.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_engine.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_exports.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/tests/test_python.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.36
|
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>
|
@@ -96,7 +96,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
96
96
|
|
97
97
|
<div>
|
98
98
|
<a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="Ultralytics CI"></a>
|
99
|
-
<a href="https://
|
99
|
+
<a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
|
100
100
|
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
|
101
101
|
<a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
|
102
102
|
<a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
<div>
|
10
10
|
<a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="Ultralytics CI"></a>
|
11
|
-
<a href="https://
|
11
|
+
<a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
|
12
12
|
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
|
13
13
|
<a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
|
14
14
|
<a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
|
@@ -16,7 +16,7 @@ def test_major_solutions():
|
|
16
16
|
safe_download(url=MAJOR_SOLUTIONS_DEMO)
|
17
17
|
cap = cv2.VideoCapture("solutions_ci_demo.mp4")
|
18
18
|
assert cap.isOpened(), "Error reading video file"
|
19
|
-
region_points = [(20, 400), (1080,
|
19
|
+
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
|
20
20
|
counter = solutions.ObjectCounter(region=region_points, model="yolo11n.pt", show=False) # Test object counter
|
21
21
|
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, model="yolo11n.pt", show=False) # Test heatmaps
|
22
22
|
speed = solutions.SpeedEstimator(region=region_points, model="yolo11n.pt", show=False) # Test queue manager
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# Configuration for Ultralytics Solutions
|
3
3
|
|
4
4
|
# Object counting settings
|
5
|
-
region: # Object counting, queue or speed estimation region points. Default region points are [(20, 400), (1080,
|
5
|
+
region: # Object counting, queue or speed estimation region points. Default region points are [(20, 400), (1080, 400), (1080, 360), (20, 360)]
|
6
6
|
show_in: True # Flag to display objects moving *into* the defined region
|
7
7
|
show_out: True # Flag to display objects moving *out of* the defined region
|
8
8
|
|
@@ -501,8 +501,7 @@ class Exporter:
|
|
501
501
|
@try_export
|
502
502
|
def export_openvino(self, prefix=colorstr("OpenVINO:")):
|
503
503
|
"""YOLO OpenVINO export."""
|
504
|
-
|
505
|
-
check_requirements(f'openvino{"<=2024.0.0" if ARM64 else ">=2024.0.0"}') # fix OpenVINO issue on ARM64
|
504
|
+
check_requirements("openvino>=2024.5.0")
|
506
505
|
import openvino as ov
|
507
506
|
|
508
507
|
LOGGER.info(f"\n{prefix} starting export with openvino {ov.__version__}...")
|
@@ -530,7 +529,7 @@ class Exporter:
|
|
530
529
|
if self.args.int8:
|
531
530
|
fq = str(self.file).replace(self.file.suffix, f"_int8_openvino_model{os.sep}")
|
532
531
|
fq_ov = str(Path(fq) / self.file.with_suffix(".xml").name)
|
533
|
-
check_requirements("nncf>=2.
|
532
|
+
check_requirements("nncf>=2.14.0")
|
534
533
|
import nncf
|
535
534
|
|
536
535
|
def transform_fn(data_item) -> np.ndarray:
|
@@ -960,10 +960,8 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
|
|
960
960
|
m = getattr(torch.nn, m[3:]) if "nn." in m else globals()[m] # get module
|
961
961
|
for j, a in enumerate(args):
|
962
962
|
if isinstance(a, str):
|
963
|
-
|
963
|
+
with contextlib.suppress(ValueError):
|
964
964
|
args[j] = locals()[a] if a in locals() else ast.literal_eval(a)
|
965
|
-
except ValueError:
|
966
|
-
pass
|
967
965
|
n = n_ = max(round(n * depth), 1) if n > 1 else n # depth gain
|
968
966
|
if m in {
|
969
967
|
Classify,
|
@@ -1141,24 +1139,16 @@ def guess_model_task(model):
|
|
1141
1139
|
|
1142
1140
|
# Guess from model cfg
|
1143
1141
|
if isinstance(model, dict):
|
1144
|
-
|
1142
|
+
with contextlib.suppress(Exception):
|
1145
1143
|
return cfg2task(model)
|
1146
|
-
except Exception:
|
1147
|
-
pass
|
1148
|
-
|
1149
1144
|
# Guess from PyTorch model
|
1150
1145
|
if isinstance(model, nn.Module): # PyTorch model
|
1151
1146
|
for x in "model.args", "model.model.args", "model.model.model.args":
|
1152
|
-
|
1147
|
+
with contextlib.suppress(Exception):
|
1153
1148
|
return eval(x)["task"]
|
1154
|
-
except Exception:
|
1155
|
-
pass
|
1156
1149
|
for x in "model.yaml", "model.model.yaml", "model.model.model.yaml":
|
1157
|
-
|
1150
|
+
with contextlib.suppress(Exception):
|
1158
1151
|
return cfg2task(eval(x))
|
1159
|
-
except Exception:
|
1160
|
-
pass
|
1161
|
-
|
1162
1152
|
for m in model.modules():
|
1163
1153
|
if isinstance(m, Segment):
|
1164
1154
|
return "segment"
|
@@ -80,37 +80,33 @@ class ObjectCounter(BaseSolution):
|
|
80
80
|
else: # Moving left
|
81
81
|
self.out_count += 1
|
82
82
|
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
83
|
+
# Horizontal region: Compare y-coordinates to determine direction
|
84
|
+
elif current_centroid[1] > prev_position[1]: # Moving downward
|
85
|
+
self.in_count += 1
|
86
|
+
self.classwise_counts[self.names[cls]]["IN"] += 1
|
87
|
+
else: # Moving upward
|
88
|
+
self.out_count += 1
|
89
|
+
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
91
90
|
self.counted_ids.append(track_id)
|
92
91
|
|
93
92
|
elif len(self.region) > 2: # Polygonal region
|
94
93
|
polygon = self.Polygon(self.region)
|
95
94
|
if polygon.contains(self.Point(current_centroid)):
|
96
95
|
# Determine motion direction for vertical or horizontal polygons
|
97
|
-
region_width = max(
|
98
|
-
region_height = max(
|
99
|
-
|
100
|
-
if
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
else: # Moving upward
|
112
|
-
self.out_count += 1
|
113
|
-
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
96
|
+
region_width = max(p[0] for p in self.region) - min(p[0] for p in self.region)
|
97
|
+
region_height = max(p[1] for p in self.region) - min(p[1] for p in self.region)
|
98
|
+
|
99
|
+
if (
|
100
|
+
region_width < region_height
|
101
|
+
and current_centroid[0] > prev_position[0]
|
102
|
+
or region_width >= region_height
|
103
|
+
and current_centroid[1] > prev_position[1]
|
104
|
+
): # Moving right
|
105
|
+
self.in_count += 1
|
106
|
+
self.classwise_counts[self.names[cls]]["IN"] += 1
|
107
|
+
else: # Moving left
|
108
|
+
self.out_count += 1
|
109
|
+
self.classwise_counts[self.names[cls]]["OUT"] += 1
|
114
110
|
self.counted_ids.append(track_id)
|
115
111
|
|
116
112
|
def store_classwise_counts(self, cls):
|
@@ -135,7 +135,7 @@ class BaseSolution:
|
|
135
135
|
def initialize_region(self):
|
136
136
|
"""Initialize the counting region and line segment based on configuration settings."""
|
137
137
|
if self.region is None:
|
138
|
-
self.region = [(20, 400), (1080,
|
138
|
+
self.region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
|
139
139
|
self.r_s = (
|
140
140
|
self.Polygon(self.region) if len(self.region) >= 3 else self.LineString(self.region)
|
141
141
|
) # region or line
|
@@ -675,7 +675,7 @@ def profile(input, ops, n=10, device=None, max_num_obj=0):
|
|
675
675
|
torch.randn(
|
676
676
|
x.shape[0],
|
677
677
|
max_num_obj,
|
678
|
-
int(sum(
|
678
|
+
int(sum((x.shape[-1] / s) * (x.shape[-2] / s) for s in m.stride.tolist())),
|
679
679
|
device=device,
|
680
680
|
dtype=torch.float32,
|
681
681
|
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.36
|
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>
|
@@ -96,7 +96,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
96
96
|
|
97
97
|
<div>
|
98
98
|
<a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="Ultralytics CI"></a>
|
99
|
-
<a href="https://
|
99
|
+
<a href="https://pepy.tech/projects/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a>
|
100
100
|
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="Ultralytics YOLO Citation"></a>
|
101
101
|
<a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
|
102
102
|
<a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a>
|
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
|
{ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.35 → ultralytics-8.3.36}/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.35 → ultralytics-8.3.36}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.35 → ultralytics-8.3.36}/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
|
{ultralytics-8.3.35 → ultralytics-8.3.36}/ultralytics/models/sam/modules/memory_attention.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|