ultralytics 8.2.82__tar.gz → 8.2.84__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.
Potentially problematic release.
This version of ultralytics might be problematic. Click here for more details.
- {ultralytics-8.2.82/ultralytics.egg-info → ultralytics-8.2.84}/PKG-INFO +4 -3
- {ultralytics-8.2.82 → ultralytics-8.2.84}/README.md +3 -2
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/__init__.py +7 -5
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/loaders.py +1 -1
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/model.py +4 -2
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/hub/session.py +1 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/model.py +1 -1
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/encoders.py +6 -1
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/sam.py +24 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/tiny_encoder.py +22 -1
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/predict.py +16 -3
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/__init__.py +15 -1
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/metrics.py +1 -1
- {ultralytics-8.2.82 → ultralytics-8.2.84/ultralytics.egg-info}/PKG-INFO +4 -3
- {ultralytics-8.2.82 → ultralytics-8.2.84}/LICENSE +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/pyproject.toml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/setup.cfg +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/conftest.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_cli.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_cuda.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_engine.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_explorer.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_exports.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_integrations.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_python.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/tests/test_solutions.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/build.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.2.82 → ultralytics-8.2.84}/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.2.
|
|
3
|
+
Version: 8.2.84
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -96,6 +96,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
|
96
96
|
<a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Ultralytics Docker Pulls"></a>
|
|
97
97
|
<a href="https://ultralytics.com/discord"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
|
|
98
98
|
<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>
|
|
99
|
+
<a href="https://reddit.com/r/ultralytics"><img alt="Ultralytics Reddit" src="https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat&logo=reddit&logoColor=white&label=Reddit&color=blue"></a>
|
|
99
100
|
<br>
|
|
100
101
|
<a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
|
|
101
102
|
<a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
|
|
@@ -105,7 +106,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
|
105
106
|
|
|
106
107
|
[Ultralytics](https://ultralytics.com) [YOLOv8](https://github.com/ultralytics/ultralytics) is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks.
|
|
107
108
|
|
|
108
|
-
We hope that the resources here will help you get the most out of YOLOv8. Please browse the YOLOv8 <a href="https://docs.ultralytics.com/">Docs</a> for details, raise an issue on <a href="https://github.com/ultralytics/ultralytics/issues/new/choose">GitHub</a> for support,
|
|
109
|
+
We hope that the resources here will help you get the most out of YOLOv8. Please browse the YOLOv8 <a href="https://docs.ultralytics.com/">Docs</a> for details, raise an issue on <a href="https://github.com/ultralytics/ultralytics/issues/new/choose">GitHub</a> for support, questions, or discussions, become a member of the Ultralytics <a href="https://ultralytics.com/discord">Discord</a>, <a href="https://reddit.com/r/ultralytics">Reddit</a> and <a href="https://community.ultralytics.com">Forums</a>!
|
|
109
110
|
|
|
110
111
|
To request an Enterprise License please complete the form at [Ultralytics Licensing](https://ultralytics.com/license).
|
|
111
112
|
|
|
@@ -361,7 +362,7 @@ Ultralytics offers two licensing options to accommodate diverse use cases:
|
|
|
361
362
|
|
|
362
363
|
## <div align="center">Contact</div>
|
|
363
364
|
|
|
364
|
-
For Ultralytics bug reports and feature requests please visit [GitHub Issues](https://github.com/ultralytics/ultralytics/issues)
|
|
365
|
+
For Ultralytics bug reports and feature requests please visit [GitHub Issues](https://github.com/ultralytics/ultralytics/issues). Become a member of the Ultralytics [Discord](https://ultralytics.com/discord), [Reddit](https://reddit.com/r/ultralytics), or [Forums](https://community.ultralytics.com) for asking questions, sharing projects, learning discussions, or for help with all things Ultralytics!
|
|
365
366
|
|
|
366
367
|
<br>
|
|
367
368
|
<div align="center">
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
<a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Ultralytics Docker Pulls"></a>
|
|
13
13
|
<a href="https://ultralytics.com/discord"><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>
|
|
15
|
+
<a href="https://reddit.com/r/ultralytics"><img alt="Ultralytics Reddit" src="https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat&logo=reddit&logoColor=white&label=Reddit&color=blue"></a>
|
|
15
16
|
<br>
|
|
16
17
|
<a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
|
|
17
18
|
<a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
|
|
22
23
|
[Ultralytics](https://ultralytics.com) [YOLOv8](https://github.com/ultralytics/ultralytics) is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks.
|
|
23
24
|
|
|
24
|
-
We hope that the resources here will help you get the most out of YOLOv8. Please browse the YOLOv8 <a href="https://docs.ultralytics.com/">Docs</a> for details, raise an issue on <a href="https://github.com/ultralytics/ultralytics/issues/new/choose">GitHub</a> for support,
|
|
25
|
+
We hope that the resources here will help you get the most out of YOLOv8. Please browse the YOLOv8 <a href="https://docs.ultralytics.com/">Docs</a> for details, raise an issue on <a href="https://github.com/ultralytics/ultralytics/issues/new/choose">GitHub</a> for support, questions, or discussions, become a member of the Ultralytics <a href="https://ultralytics.com/discord">Discord</a>, <a href="https://reddit.com/r/ultralytics">Reddit</a> and <a href="https://community.ultralytics.com">Forums</a>!
|
|
25
26
|
|
|
26
27
|
To request an Enterprise License please complete the form at [Ultralytics Licensing](https://ultralytics.com/license).
|
|
27
28
|
|
|
@@ -277,7 +278,7 @@ Ultralytics offers two licensing options to accommodate diverse use cases:
|
|
|
277
278
|
|
|
278
279
|
## <div align="center">Contact</div>
|
|
279
280
|
|
|
280
|
-
For Ultralytics bug reports and feature requests please visit [GitHub Issues](https://github.com/ultralytics/ultralytics/issues)
|
|
281
|
+
For Ultralytics bug reports and feature requests please visit [GitHub Issues](https://github.com/ultralytics/ultralytics/issues). Become a member of the Ultralytics [Discord](https://ultralytics.com/discord), [Reddit](https://reddit.com/r/ultralytics), or [Forums](https://community.ultralytics.com) for asking questions, sharing projects, learning discussions, or for help with all things Ultralytics!
|
|
281
282
|
|
|
282
283
|
<br>
|
|
283
284
|
<div align="center">
|
|
@@ -13,6 +13,7 @@ from ultralytics.utils import (
|
|
|
13
13
|
DEFAULT_CFG,
|
|
14
14
|
DEFAULT_CFG_DICT,
|
|
15
15
|
DEFAULT_CFG_PATH,
|
|
16
|
+
IS_VSCODE,
|
|
16
17
|
LOGGER,
|
|
17
18
|
RANK,
|
|
18
19
|
ROOT,
|
|
@@ -25,6 +26,7 @@ from ultralytics.utils import (
|
|
|
25
26
|
checks,
|
|
26
27
|
colorstr,
|
|
27
28
|
deprecation_warn,
|
|
29
|
+
vscode_msg,
|
|
28
30
|
yaml_load,
|
|
29
31
|
yaml_print,
|
|
30
32
|
)
|
|
@@ -791,11 +793,7 @@ def entrypoint(debug=""):
|
|
|
791
793
|
from ultralytics import FastSAM
|
|
792
794
|
|
|
793
795
|
model = FastSAM(model)
|
|
794
|
-
elif "
|
|
795
|
-
from ultralytics import SAM2
|
|
796
|
-
|
|
797
|
-
model = SAM2(model)
|
|
798
|
-
elif "sam" in stem:
|
|
796
|
+
elif "sam_" in stem or "sam2_" in stem:
|
|
799
797
|
from ultralytics import SAM
|
|
800
798
|
|
|
801
799
|
model = SAM(model)
|
|
@@ -834,6 +832,10 @@ def entrypoint(debug=""):
|
|
|
834
832
|
# Show help
|
|
835
833
|
LOGGER.info(f"💡 Learn more at https://docs.ultralytics.com/modes/{mode}")
|
|
836
834
|
|
|
835
|
+
# Recommend VS Code extension
|
|
836
|
+
if IS_VSCODE and SETTINGS.get("vscode_msg", True):
|
|
837
|
+
LOGGER.info(vscode_msg())
|
|
838
|
+
|
|
837
839
|
|
|
838
840
|
# Special modes --------------------------------------------------------------------------------------------------------
|
|
839
841
|
def copy_default_cfg():
|
|
@@ -84,7 +84,7 @@ class LoadStreams:
|
|
|
84
84
|
# Start thread to read frames from video stream
|
|
85
85
|
st = f"{i + 1}/{n}: {s}... "
|
|
86
86
|
if urlparse(s).hostname in {"www.youtube.com", "youtube.com", "youtu.be"}: # if source is YouTube video
|
|
87
|
-
# YouTube format i.e. 'https://www.youtube.com/watch?v=
|
|
87
|
+
# YouTube format i.e. 'https://www.youtube.com/watch?v=Jsn8D3aC840' or 'https://youtu.be/Jsn8D3aC840'
|
|
88
88
|
s = get_best_youtube_url(s)
|
|
89
89
|
s = eval(s) if s.isnumeric() else s # i.e. s = '0' local webcam
|
|
90
90
|
if s == 0 and (IS_COLAB or IS_KAGGLE):
|
|
@@ -128,8 +128,10 @@ class Model(nn.Module):
|
|
|
128
128
|
if self.is_hub_model(model):
|
|
129
129
|
# Fetch model from HUB
|
|
130
130
|
checks.check_requirements("hub-sdk>=0.0.8")
|
|
131
|
-
|
|
132
|
-
model =
|
|
131
|
+
session = HUBTrainingSession.create_session(model)
|
|
132
|
+
model = session.model_file
|
|
133
|
+
if session.train_args: # training sent from HUB
|
|
134
|
+
self.session = session
|
|
133
135
|
|
|
134
136
|
# Check if Triton Server model
|
|
135
137
|
elif self.is_triton_model(model):
|
|
@@ -106,7 +106,7 @@ class SAM(Model):
|
|
|
106
106
|
... print(f"Detected {len(r.masks)} masks")
|
|
107
107
|
"""
|
|
108
108
|
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=1024)
|
|
109
|
-
kwargs
|
|
109
|
+
kwargs = {**overrides, **kwargs}
|
|
110
110
|
prompts = dict(bboxes=bboxes, points=points, labels=labels)
|
|
111
111
|
return super().predict(source, stream, prompts=prompts, **kwargs)
|
|
112
112
|
|
|
@@ -151,7 +151,12 @@ class ImageEncoderViT(nn.Module):
|
|
|
151
151
|
"""Processes input through patch embedding, positional embedding, transformer blocks, and neck module."""
|
|
152
152
|
x = self.patch_embed(x)
|
|
153
153
|
if self.pos_embed is not None:
|
|
154
|
-
|
|
154
|
+
pos_embed = (
|
|
155
|
+
F.interpolate(self.pos_embed.permute(0, 3, 1, 2), scale_factor=self.img_size / 1024).permute(0, 2, 3, 1)
|
|
156
|
+
if self.img_size != 1024
|
|
157
|
+
else self.pos_embed
|
|
158
|
+
)
|
|
159
|
+
x = x + pos_embed
|
|
155
160
|
for blk in self.blocks:
|
|
156
161
|
x = blk(x)
|
|
157
162
|
return self.neck(x.permute(0, 3, 1, 2))
|
|
@@ -90,6 +90,19 @@ class SAMModel(nn.Module):
|
|
|
90
90
|
self.register_buffer("pixel_mean", torch.Tensor(pixel_mean).view(-1, 1, 1), False)
|
|
91
91
|
self.register_buffer("pixel_std", torch.Tensor(pixel_std).view(-1, 1, 1), False)
|
|
92
92
|
|
|
93
|
+
def set_imgsz(self, imgsz):
|
|
94
|
+
"""
|
|
95
|
+
Set image size to make model compatible with different image sizes.
|
|
96
|
+
|
|
97
|
+
Args:
|
|
98
|
+
imgsz (Tuple[int, int]): The size of the input image.
|
|
99
|
+
"""
|
|
100
|
+
if hasattr(self.image_encoder, "set_imgsz"):
|
|
101
|
+
self.image_encoder.set_imgsz(imgsz)
|
|
102
|
+
self.prompt_encoder.input_image_size = imgsz
|
|
103
|
+
self.prompt_encoder.image_embedding_size = [x // 16 for x in imgsz] # 16 is fixed as patch size of ViT model
|
|
104
|
+
self.image_encoder.img_size = imgsz[0]
|
|
105
|
+
|
|
93
106
|
|
|
94
107
|
class SAM2Model(torch.nn.Module):
|
|
95
108
|
"""
|
|
@@ -940,3 +953,14 @@ class SAM2Model(torch.nn.Module):
|
|
|
940
953
|
# don't overlap (here sigmoid(-10.0)=4.5398e-05)
|
|
941
954
|
pred_masks = torch.where(keep, pred_masks, torch.clamp(pred_masks, max=-10.0))
|
|
942
955
|
return pred_masks
|
|
956
|
+
|
|
957
|
+
def set_imgsz(self, imgsz):
|
|
958
|
+
"""
|
|
959
|
+
Set image size to make model compatible with different image sizes.
|
|
960
|
+
|
|
961
|
+
Args:
|
|
962
|
+
imgsz (Tuple[int, int]): The size of the input image.
|
|
963
|
+
"""
|
|
964
|
+
self.image_size = imgsz[0]
|
|
965
|
+
self.sam_prompt_encoder.input_image_size = imgsz
|
|
966
|
+
self.sam_prompt_encoder.image_embedding_size = [x // 16 for x in imgsz] # fixed ViT patch size of 16
|
|
@@ -982,10 +982,31 @@ class TinyViT(nn.Module):
|
|
|
982
982
|
layer = self.layers[i]
|
|
983
983
|
x = layer(x)
|
|
984
984
|
batch, _, channel = x.shape
|
|
985
|
-
x = x.view(batch,
|
|
985
|
+
x = x.view(batch, self.patches_resolution[0] // 4, self.patches_resolution[1] // 4, channel)
|
|
986
986
|
x = x.permute(0, 3, 1, 2)
|
|
987
987
|
return self.neck(x)
|
|
988
988
|
|
|
989
989
|
def forward(self, x):
|
|
990
990
|
"""Performs the forward pass through the TinyViT model, extracting features from the input image."""
|
|
991
991
|
return self.forward_features(x)
|
|
992
|
+
|
|
993
|
+
def set_imgsz(self, imgsz=[1024, 1024]):
|
|
994
|
+
"""
|
|
995
|
+
Set image size to make model compatible with different image sizes.
|
|
996
|
+
|
|
997
|
+
Args:
|
|
998
|
+
imgsz (Tuple[int, int]): The size of the input image.
|
|
999
|
+
"""
|
|
1000
|
+
imgsz = [s // 4 for s in imgsz]
|
|
1001
|
+
self.patches_resolution = imgsz
|
|
1002
|
+
for i, layer in enumerate(self.layers):
|
|
1003
|
+
input_resolution = (
|
|
1004
|
+
imgsz[0] // (2 ** (i - 1 if i == 3 else i)),
|
|
1005
|
+
imgsz[1] // (2 ** (i - 1 if i == 3 else i)),
|
|
1006
|
+
)
|
|
1007
|
+
layer.input_resolution = input_resolution
|
|
1008
|
+
if layer.downsample is not None:
|
|
1009
|
+
layer.downsample.input_resolution = input_resolution
|
|
1010
|
+
if isinstance(layer, BasicLayer):
|
|
1011
|
+
for b in layer.blocks:
|
|
1012
|
+
b.input_resolution = input_resolution
|
|
@@ -95,7 +95,7 @@ class Predictor(BasePredictor):
|
|
|
95
95
|
"""
|
|
96
96
|
if overrides is None:
|
|
97
97
|
overrides = {}
|
|
98
|
-
overrides.update(dict(task="segment", mode="predict"
|
|
98
|
+
overrides.update(dict(task="segment", mode="predict"))
|
|
99
99
|
super().__init__(cfg, overrides, _callbacks)
|
|
100
100
|
self.args.retina_masks = True
|
|
101
101
|
self.im = None
|
|
@@ -455,8 +455,11 @@ class Predictor(BasePredictor):
|
|
|
455
455
|
cls = torch.arange(len(pred_masks), dtype=torch.int32, device=pred_masks.device)
|
|
456
456
|
pred_bboxes = torch.cat([pred_bboxes, pred_scores[:, None], cls[:, None]], dim=-1)
|
|
457
457
|
|
|
458
|
-
|
|
459
|
-
|
|
458
|
+
if len(masks) == 0:
|
|
459
|
+
masks = None
|
|
460
|
+
else:
|
|
461
|
+
masks = ops.scale_masks(masks[None].float(), orig_img.shape[:2], padding=False)[0]
|
|
462
|
+
masks = masks > self.model.mask_threshold # to bool
|
|
460
463
|
results.append(Results(orig_img, path=img_path, names=names, masks=masks, boxes=pred_bboxes))
|
|
461
464
|
# Reset segment-all mode.
|
|
462
465
|
self.segment_all = False
|
|
@@ -522,6 +525,10 @@ class Predictor(BasePredictor):
|
|
|
522
525
|
|
|
523
526
|
def get_im_features(self, im):
|
|
524
527
|
"""Extracts image features using the SAM model's image encoder for subsequent mask prediction."""
|
|
528
|
+
assert (
|
|
529
|
+
isinstance(self.imgsz, (tuple, list)) and self.imgsz[0] == self.imgsz[1]
|
|
530
|
+
), f"SAM models only support square image size, but got {self.imgsz}."
|
|
531
|
+
self.model.set_imgsz(self.imgsz)
|
|
525
532
|
return self.model.image_encoder(im)
|
|
526
533
|
|
|
527
534
|
def set_prompts(self, prompts):
|
|
@@ -761,6 +768,12 @@ class SAM2Predictor(Predictor):
|
|
|
761
768
|
|
|
762
769
|
def get_im_features(self, im):
|
|
763
770
|
"""Extracts image features from the SAM image encoder for subsequent processing."""
|
|
771
|
+
assert (
|
|
772
|
+
isinstance(self.imgsz, (tuple, list)) and self.imgsz[0] == self.imgsz[1]
|
|
773
|
+
), f"SAM 2 models only support square image size, but got {self.imgsz}."
|
|
774
|
+
self.model.set_imgsz(self.imgsz)
|
|
775
|
+
self._bb_feat_sizes = [[x // (4 * i) for x in self.imgsz] for i in [1, 2, 4]]
|
|
776
|
+
|
|
764
777
|
backbone_out = self.model.forward_image(im)
|
|
765
778
|
_, vision_feats, _, _ = self.model._prepare_backbone_features(backbone_out)
|
|
766
779
|
if self.model.directly_add_no_mem_embed:
|
|
@@ -46,6 +46,7 @@ ARM64 = platform.machine() in {"arm64", "aarch64"} # ARM64 booleans
|
|
|
46
46
|
PYTHON_VERSION = platform.python_version()
|
|
47
47
|
TORCH_VERSION = torch.__version__
|
|
48
48
|
TORCHVISION_VERSION = importlib.metadata.version("torchvision") # faster than importing torchvision
|
|
49
|
+
IS_VSCODE = os.environ.get("TERM_PROGRAM", False) == "vscode"
|
|
49
50
|
HELP_MSG = """
|
|
50
51
|
Examples for running Ultralytics:
|
|
51
52
|
|
|
@@ -1046,7 +1047,7 @@ class SettingsManager(dict):
|
|
|
1046
1047
|
version (str): Settings version. In case of local version mismatch, new default settings will be saved.
|
|
1047
1048
|
"""
|
|
1048
1049
|
|
|
1049
|
-
def __init__(self, file=SETTINGS_YAML, version="0.0.
|
|
1050
|
+
def __init__(self, file=SETTINGS_YAML, version="0.0.5"):
|
|
1050
1051
|
"""Initializes the SettingsManager with default settings and loads user settings."""
|
|
1051
1052
|
import copy
|
|
1052
1053
|
import hashlib
|
|
@@ -1077,6 +1078,7 @@ class SettingsManager(dict):
|
|
|
1077
1078
|
"raytune": True,
|
|
1078
1079
|
"tensorboard": True,
|
|
1079
1080
|
"wandb": True,
|
|
1081
|
+
"vscode_msg": True,
|
|
1080
1082
|
}
|
|
1081
1083
|
self.help_msg = (
|
|
1082
1084
|
f"\nView settings with 'yolo settings' or at '{self.file}'"
|
|
@@ -1152,6 +1154,18 @@ def url2file(url):
|
|
|
1152
1154
|
return Path(clean_url(url)).name
|
|
1153
1155
|
|
|
1154
1156
|
|
|
1157
|
+
def vscode_msg(ext="ultralytics.ultralytics-snippets") -> str:
|
|
1158
|
+
"""Display a message to install Ultralytics-Snippets for VS Code if not already installed."""
|
|
1159
|
+
path = (USER_CONFIG_DIR.parents[2] if WINDOWS else USER_CONFIG_DIR.parents[1]) / ".vscode/extensions"
|
|
1160
|
+
obs_file = path / ".obsolete" # file tracks uninstalled extensions, while source directory remains
|
|
1161
|
+
installed = any(path.glob(f"{ext}*")) and ext not in (obs_file.read_text("utf-8") if obs_file.exists() else "")
|
|
1162
|
+
return (
|
|
1163
|
+
f"{colorstr('VS Code:')} view Ultralytics VS Code Extension ⚡ at https://docs.ultralytics.com/integrations/vscode"
|
|
1164
|
+
if not installed
|
|
1165
|
+
else ""
|
|
1166
|
+
)
|
|
1167
|
+
|
|
1168
|
+
|
|
1155
1169
|
# Run below code on utils init ------------------------------------------------------------------------------------
|
|
1156
1170
|
|
|
1157
1171
|
# Check first-install steps
|
|
@@ -178,7 +178,7 @@ def _get_covariance_matrix(boxes):
|
|
|
178
178
|
boxes (torch.Tensor): A tensor of shape (N, 5) representing rotated bounding boxes, with xywhr format.
|
|
179
179
|
|
|
180
180
|
Returns:
|
|
181
|
-
(torch.Tensor): Covariance
|
|
181
|
+
(torch.Tensor): Covariance matrices corresponding to original rotated bounding boxes.
|
|
182
182
|
"""
|
|
183
183
|
# Gaussian bounding boxes, ignore the center points (the first two columns) because they are not needed here.
|
|
184
184
|
gbbs = torch.cat((boxes[:, 2:4].pow(2) / 12, boxes[:, 4:]), dim=-1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.84
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -96,6 +96,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
|
96
96
|
<a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Ultralytics Docker Pulls"></a>
|
|
97
97
|
<a href="https://ultralytics.com/discord"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a>
|
|
98
98
|
<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>
|
|
99
|
+
<a href="https://reddit.com/r/ultralytics"><img alt="Ultralytics Reddit" src="https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat&logo=reddit&logoColor=white&label=Reddit&color=blue"></a>
|
|
99
100
|
<br>
|
|
100
101
|
<a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a>
|
|
101
102
|
<a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a>
|
|
@@ -105,7 +106,7 @@ Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
|
105
106
|
|
|
106
107
|
[Ultralytics](https://ultralytics.com) [YOLOv8](https://github.com/ultralytics/ultralytics) is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks.
|
|
107
108
|
|
|
108
|
-
We hope that the resources here will help you get the most out of YOLOv8. Please browse the YOLOv8 <a href="https://docs.ultralytics.com/">Docs</a> for details, raise an issue on <a href="https://github.com/ultralytics/ultralytics/issues/new/choose">GitHub</a> for support,
|
|
109
|
+
We hope that the resources here will help you get the most out of YOLOv8. Please browse the YOLOv8 <a href="https://docs.ultralytics.com/">Docs</a> for details, raise an issue on <a href="https://github.com/ultralytics/ultralytics/issues/new/choose">GitHub</a> for support, questions, or discussions, become a member of the Ultralytics <a href="https://ultralytics.com/discord">Discord</a>, <a href="https://reddit.com/r/ultralytics">Reddit</a> and <a href="https://community.ultralytics.com">Forums</a>!
|
|
109
110
|
|
|
110
111
|
To request an Enterprise License please complete the form at [Ultralytics Licensing](https://ultralytics.com/license).
|
|
111
112
|
|
|
@@ -361,7 +362,7 @@ Ultralytics offers two licensing options to accommodate diverse use cases:
|
|
|
361
362
|
|
|
362
363
|
## <div align="center">Contact</div>
|
|
363
364
|
|
|
364
|
-
For Ultralytics bug reports and feature requests please visit [GitHub Issues](https://github.com/ultralytics/ultralytics/issues)
|
|
365
|
+
For Ultralytics bug reports and feature requests please visit [GitHub Issues](https://github.com/ultralytics/ultralytics/issues). Become a member of the Ultralytics [Discord](https://ultralytics.com/discord), [Reddit](https://reddit.com/r/ultralytics), or [Forums](https://community.ultralytics.com) for asking questions, sharing projects, learning discussions, or for help with all things Ultralytics!
|
|
365
366
|
|
|
366
367
|
<br>
|
|
367
368
|
<div align="center">
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.82 → ultralytics-8.2.84}/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.2.82 → ultralytics-8.2.84}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.82 → ultralytics-8.2.84}/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
|