ultralytics 8.2.93__tar.gz → 8.2.95__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.93/ultralytics.egg-info → ultralytics-8.2.95}/PKG-INFO +29 -35
- {ultralytics-8.2.93 → ultralytics-8.2.95}/README.md +26 -32
- {ultralytics-8.2.93 → ultralytics-8.2.95}/pyproject.toml +2 -2
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/__init__.py +3 -2
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_cli.py +1 -1
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_python.py +36 -6
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/trainer.py +34 -19
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/predict.py +7 -5
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/tasks.py +4 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/plotting.py +55 -1
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/torch_utils.py +8 -5
- {ultralytics-8.2.93 → ultralytics-8.2.95/ultralytics.egg-info}/PKG-INFO +29 -35
- {ultralytics-8.2.93 → ultralytics-8.2.95}/LICENSE +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/setup.cfg +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/conftest.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_cuda.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_engine.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_explorer.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_exports.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_integrations.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/tests/test_solutions.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/build.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.2.93 → ultralytics-8.2.95}/ultralytics.egg-info/top_level.txt +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
4
|
-
Summary: Ultralytics
|
|
3
|
+
Version: 8.2.95
|
|
4
|
+
Summary: Ultralytics YOLO 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
|
|
7
7
|
License: AGPL-3.0
|
|
8
8
|
Project-URL: Bug Reports, https://github.com/ultralytics/ultralytics/issues
|
|
9
9
|
Project-URL: Funding, https://ultralytics.com
|
|
10
10
|
Project-URL: Source, https://github.com/ultralytics/ultralytics/
|
|
11
|
-
Keywords: machine-learning,deep-learning,computer-vision,ML,DL,AI,YOLO,YOLOv3,YOLOv5,YOLOv8,HUB,Ultralytics
|
|
11
|
+
Keywords: machine-learning,deep-learning,computer-vision,ML,DL,AI,YOLO,YOLOv3,YOLOv5,YOLOv8,YOLOv9,YOLOv10,HUB,Ultralytics
|
|
12
12
|
Classifier: Development Status :: 4 - Beta
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
14
14
|
Classifier: Intended Audience :: Education
|
|
@@ -132,7 +132,7 @@ To request an Enterprise License please complete the form at [Ultralytics Licens
|
|
|
132
132
|
|
|
133
133
|
## <div align="center">Documentation</div>
|
|
134
134
|
|
|
135
|
-
See below for a quickstart installation and usage example, and see the [YOLOv8 Docs](https://docs.ultralytics.com) for full documentation on training, validation, prediction and deployment.
|
|
135
|
+
See below for a quickstart installation and usage example, and see the [YOLOv8 Docs](https://docs.ultralytics.com/) for full documentation on training, validation, prediction and deployment.
|
|
136
136
|
|
|
137
137
|
<details open>
|
|
138
138
|
<summary>Install</summary>
|
|
@@ -145,7 +145,7 @@ Pip install the ultralytics package including all [requirements](https://github.
|
|
|
145
145
|
pip install ultralytics
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
-
For alternative installation methods including [Conda](https://anaconda.org/conda-forge/ultralytics), [Docker](https://hub.docker.com/r/ultralytics/ultralytics), and Git, please refer to the [Quickstart Guide](https://docs.ultralytics.com/quickstart).
|
|
148
|
+
For alternative installation methods including [Conda](https://anaconda.org/conda-forge/ultralytics), [Docker](https://hub.docker.com/r/ultralytics/ultralytics), and Git, please refer to the [Quickstart Guide](https://docs.ultralytics.com/quickstart/).
|
|
149
149
|
|
|
150
150
|
[](https://anaconda.org/conda-forge/ultralytics) [](https://hub.docker.com/r/ultralytics/ultralytics)
|
|
151
151
|
|
|
@@ -162,7 +162,7 @@ YOLOv8 may be used directly in the Command Line Interface (CLI) with a `yolo` co
|
|
|
162
162
|
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
-
`yolo` can be used for a variety of tasks and modes and accepts additional arguments, i.e. `imgsz=640`. See the YOLOv8 [CLI Docs](https://docs.ultralytics.com/usage/cli) for examples.
|
|
165
|
+
`yolo` can be used for a variety of tasks and modes and accepts additional arguments, i.e. `imgsz=640`. See the YOLOv8 [CLI Docs](https://docs.ultralytics.com/usage/cli/) for examples.
|
|
166
166
|
|
|
167
167
|
### Python
|
|
168
168
|
|
|
@@ -172,17 +172,28 @@ YOLOv8 may also be used directly in a Python environment, and accepts the same [
|
|
|
172
172
|
from ultralytics import YOLO
|
|
173
173
|
|
|
174
174
|
# Load a model
|
|
175
|
-
model = YOLO("yolov8n.
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
175
|
+
model = YOLO("yolov8n.pt")
|
|
176
|
+
|
|
177
|
+
# Train the model
|
|
178
|
+
train_results = model.train(
|
|
179
|
+
data="coco8.yaml", # path to dataset YAML
|
|
180
|
+
epochs=100, # number of training epochs
|
|
181
|
+
imgsz=640, # training image size
|
|
182
|
+
device="cpu", # device to run on, i.e. device=0 or device=0,1,2,3 or device=cpu
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
# Evaluate model performance on the validation set
|
|
186
|
+
metrics = model.val()
|
|
187
|
+
|
|
188
|
+
# Perform object detection on an image
|
|
189
|
+
results = model("path/to/image.jpg")
|
|
190
|
+
results[0].show()
|
|
191
|
+
|
|
192
|
+
# Export the model to ONNX format
|
|
193
|
+
path = model.export(format="onnx") # return path to exported model
|
|
183
194
|
```
|
|
184
195
|
|
|
185
|
-
See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python) for more examples.
|
|
196
|
+
See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python/) for more examples.
|
|
186
197
|
|
|
187
198
|
</details>
|
|
188
199
|
|
|
@@ -201,7 +212,7 @@ Ultralytics provides interactive notebooks for YOLOv8, covering training, valida
|
|
|
201
212
|
|
|
202
213
|
## <div align="center">Models</div>
|
|
203
214
|
|
|
204
|
-
YOLOv8 [Detect](https://docs.ultralytics.com/tasks/detect), [Segment](https://docs.ultralytics.com/tasks/segment) and [Pose](https://docs.ultralytics.com/tasks/pose) models pretrained on the [COCO](https://docs.ultralytics.com/datasets/detect/coco) dataset are available here, as well as YOLOv8 [Classify](https://docs.ultralytics.com/tasks/classify) models pretrained on the [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet) dataset. [Track](https://docs.ultralytics.com/modes/track) mode is available for all Detect, Segment and Pose models.
|
|
215
|
+
YOLOv8 [Detect](https://docs.ultralytics.com/tasks/detect/), [Segment](https://docs.ultralytics.com/tasks/segment/) and [Pose](https://docs.ultralytics.com/tasks/pose/) models pretrained on the [COCO](https://docs.ultralytics.com/datasets/detect/coco/) dataset are available here, as well as YOLOv8 [Classify](https://docs.ultralytics.com/tasks/classify/) models pretrained on the [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/) dataset. [Track](https://docs.ultralytics.com/modes/track/) mode is available for all Detect, Segment and Pose models.
|
|
205
216
|
|
|
206
217
|
<img width="1024" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-tasks.png" alt="Ultralytics YOLO supported tasks">
|
|
207
218
|
|
|
@@ -224,23 +235,6 @@ See [Detection Docs](https://docs.ultralytics.com/tasks/detect/) for usage examp
|
|
|
224
235
|
|
|
225
236
|
</details>
|
|
226
237
|
|
|
227
|
-
<details><summary>Detection (Open Image V7)</summary>
|
|
228
|
-
|
|
229
|
-
See [Detection Docs](https://docs.ultralytics.com/tasks/detect/) for usage examples with these models trained on [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/), which include 600 pre-trained classes.
|
|
230
|
-
|
|
231
|
-
| Model | size<br><sup>(pixels) | mAP<sup>val<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
|
232
|
-
| ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
|
233
|
-
| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
|
|
234
|
-
| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
|
|
235
|
-
| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
|
|
236
|
-
| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
|
|
237
|
-
| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
|
|
238
|
-
|
|
239
|
-
- **mAP<sup>val</sup>** values are for single-model single-scale on [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/) dataset. <br>Reproduce by `yolo val detect data=open-images-v7.yaml device=0`
|
|
240
|
-
- **Speed** averaged over Open Image V7 val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. <br>Reproduce by `yolo val detect data=open-images-v7.yaml batch=1 device=0|cpu`
|
|
241
|
-
|
|
242
|
-
</details>
|
|
243
|
-
|
|
244
238
|
<details><summary>Segmentation (COCO)</summary>
|
|
245
239
|
|
|
246
240
|
See [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) for usage examples with these models trained on [COCO-Seg](https://docs.ultralytics.com/datasets/segment/coco/), which include 80 pre-trained classes.
|
|
@@ -312,7 +306,7 @@ See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for usag
|
|
|
312
306
|
|
|
313
307
|
## <div align="center">Integrations</div>
|
|
314
308
|
|
|
315
|
-
Our key integrations with leading AI platforms extend the functionality of Ultralytics' offerings, enhancing tasks like dataset labeling, training, visualization, and model management. Discover how Ultralytics, in collaboration with [Roboflow](https://roboflow.com/?ref=ultralytics), ClearML, [Comet](https://bit.ly/yolov8-readme-comet), Neural Magic and [OpenVINO](https://docs.ultralytics.com/integrations/openvino), can optimize your AI workflow.
|
|
309
|
+
Our key integrations with leading AI platforms extend the functionality of Ultralytics' offerings, enhancing tasks like dataset labeling, training, visualization, and model management. Discover how Ultralytics, in collaboration with [Roboflow](https://roboflow.com/?ref=ultralytics), ClearML, [Comet](https://bit.ly/yolov8-readme-comet), Neural Magic and [OpenVINO](https://docs.ultralytics.com/integrations/openvino/), can optimize your AI workflow.
|
|
316
310
|
|
|
317
311
|
<br>
|
|
318
312
|
<a href="https://ultralytics.com/hub" target="_blank">
|
|
@@ -347,7 +341,7 @@ Experience seamless AI with [Ultralytics HUB](https://www.ultralytics.com/hub)
|
|
|
347
341
|
|
|
348
342
|
## <div align="center">Contribute</div>
|
|
349
343
|
|
|
350
|
-
We love your input! YOLOv5 and YOLOv8 would not be possible without help from our community. Please see our [Contributing Guide](https://docs.ultralytics.com/help/contributing) to get started, and fill out our [Survey](https://www.ultralytics.com/survey?utm_source=github&utm_medium=social&utm_campaign=Survey) to send us feedback on your experience. Thank you 🙏 to all our contributors!
|
|
344
|
+
We love your input! YOLOv5 and YOLOv8 would not be possible without help from our community. Please see our [Contributing Guide](https://docs.ultralytics.com/help/contributing/) to get started, and fill out our [Survey](https://www.ultralytics.com/survey?utm_source=github&utm_medium=social&utm_campaign=Survey) to send us feedback on your experience. Thank you 🙏 to all our contributors!
|
|
351
345
|
|
|
352
346
|
<!-- SVG image from https://opencollective.com/ultralytics/contributors.svg?width=990 -->
|
|
353
347
|
|
|
@@ -47,7 +47,7 @@ To request an Enterprise License please complete the form at [Ultralytics Licens
|
|
|
47
47
|
|
|
48
48
|
## <div align="center">Documentation</div>
|
|
49
49
|
|
|
50
|
-
See below for a quickstart installation and usage example, and see the [YOLOv8 Docs](https://docs.ultralytics.com) for full documentation on training, validation, prediction and deployment.
|
|
50
|
+
See below for a quickstart installation and usage example, and see the [YOLOv8 Docs](https://docs.ultralytics.com/) for full documentation on training, validation, prediction and deployment.
|
|
51
51
|
|
|
52
52
|
<details open>
|
|
53
53
|
<summary>Install</summary>
|
|
@@ -60,7 +60,7 @@ Pip install the ultralytics package including all [requirements](https://github.
|
|
|
60
60
|
pip install ultralytics
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
For alternative installation methods including [Conda](https://anaconda.org/conda-forge/ultralytics), [Docker](https://hub.docker.com/r/ultralytics/ultralytics), and Git, please refer to the [Quickstart Guide](https://docs.ultralytics.com/quickstart).
|
|
63
|
+
For alternative installation methods including [Conda](https://anaconda.org/conda-forge/ultralytics), [Docker](https://hub.docker.com/r/ultralytics/ultralytics), and Git, please refer to the [Quickstart Guide](https://docs.ultralytics.com/quickstart/).
|
|
64
64
|
|
|
65
65
|
[](https://anaconda.org/conda-forge/ultralytics) [](https://hub.docker.com/r/ultralytics/ultralytics)
|
|
66
66
|
|
|
@@ -77,7 +77,7 @@ YOLOv8 may be used directly in the Command Line Interface (CLI) with a `yolo` co
|
|
|
77
77
|
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
`yolo` can be used for a variety of tasks and modes and accepts additional arguments, i.e. `imgsz=640`. See the YOLOv8 [CLI Docs](https://docs.ultralytics.com/usage/cli) for examples.
|
|
80
|
+
`yolo` can be used for a variety of tasks and modes and accepts additional arguments, i.e. `imgsz=640`. See the YOLOv8 [CLI Docs](https://docs.ultralytics.com/usage/cli/) for examples.
|
|
81
81
|
|
|
82
82
|
### Python
|
|
83
83
|
|
|
@@ -87,17 +87,28 @@ YOLOv8 may also be used directly in a Python environment, and accepts the same [
|
|
|
87
87
|
from ultralytics import YOLO
|
|
88
88
|
|
|
89
89
|
# Load a model
|
|
90
|
-
model = YOLO("yolov8n.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
model = YOLO("yolov8n.pt")
|
|
91
|
+
|
|
92
|
+
# Train the model
|
|
93
|
+
train_results = model.train(
|
|
94
|
+
data="coco8.yaml", # path to dataset YAML
|
|
95
|
+
epochs=100, # number of training epochs
|
|
96
|
+
imgsz=640, # training image size
|
|
97
|
+
device="cpu", # device to run on, i.e. device=0 or device=0,1,2,3 or device=cpu
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Evaluate model performance on the validation set
|
|
101
|
+
metrics = model.val()
|
|
102
|
+
|
|
103
|
+
# Perform object detection on an image
|
|
104
|
+
results = model("path/to/image.jpg")
|
|
105
|
+
results[0].show()
|
|
106
|
+
|
|
107
|
+
# Export the model to ONNX format
|
|
108
|
+
path = model.export(format="onnx") # return path to exported model
|
|
98
109
|
```
|
|
99
110
|
|
|
100
|
-
See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python) for more examples.
|
|
111
|
+
See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python/) for more examples.
|
|
101
112
|
|
|
102
113
|
</details>
|
|
103
114
|
|
|
@@ -116,7 +127,7 @@ Ultralytics provides interactive notebooks for YOLOv8, covering training, valida
|
|
|
116
127
|
|
|
117
128
|
## <div align="center">Models</div>
|
|
118
129
|
|
|
119
|
-
YOLOv8 [Detect](https://docs.ultralytics.com/tasks/detect), [Segment](https://docs.ultralytics.com/tasks/segment) and [Pose](https://docs.ultralytics.com/tasks/pose) models pretrained on the [COCO](https://docs.ultralytics.com/datasets/detect/coco) dataset are available here, as well as YOLOv8 [Classify](https://docs.ultralytics.com/tasks/classify) models pretrained on the [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet) dataset. [Track](https://docs.ultralytics.com/modes/track) mode is available for all Detect, Segment and Pose models.
|
|
130
|
+
YOLOv8 [Detect](https://docs.ultralytics.com/tasks/detect/), [Segment](https://docs.ultralytics.com/tasks/segment/) and [Pose](https://docs.ultralytics.com/tasks/pose/) models pretrained on the [COCO](https://docs.ultralytics.com/datasets/detect/coco/) dataset are available here, as well as YOLOv8 [Classify](https://docs.ultralytics.com/tasks/classify/) models pretrained on the [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/) dataset. [Track](https://docs.ultralytics.com/modes/track/) mode is available for all Detect, Segment and Pose models.
|
|
120
131
|
|
|
121
132
|
<img width="1024" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-tasks.png" alt="Ultralytics YOLO supported tasks">
|
|
122
133
|
|
|
@@ -139,23 +150,6 @@ See [Detection Docs](https://docs.ultralytics.com/tasks/detect/) for usage examp
|
|
|
139
150
|
|
|
140
151
|
</details>
|
|
141
152
|
|
|
142
|
-
<details><summary>Detection (Open Image V7)</summary>
|
|
143
|
-
|
|
144
|
-
See [Detection Docs](https://docs.ultralytics.com/tasks/detect/) for usage examples with these models trained on [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/), which include 600 pre-trained classes.
|
|
145
|
-
|
|
146
|
-
| Model | size<br><sup>(pixels) | mAP<sup>val<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
|
147
|
-
| ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
|
148
|
-
| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
|
|
149
|
-
| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
|
|
150
|
-
| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
|
|
151
|
-
| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
|
|
152
|
-
| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
|
|
153
|
-
|
|
154
|
-
- **mAP<sup>val</sup>** values are for single-model single-scale on [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/) dataset. <br>Reproduce by `yolo val detect data=open-images-v7.yaml device=0`
|
|
155
|
-
- **Speed** averaged over Open Image V7 val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. <br>Reproduce by `yolo val detect data=open-images-v7.yaml batch=1 device=0|cpu`
|
|
156
|
-
|
|
157
|
-
</details>
|
|
158
|
-
|
|
159
153
|
<details><summary>Segmentation (COCO)</summary>
|
|
160
154
|
|
|
161
155
|
See [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) for usage examples with these models trained on [COCO-Seg](https://docs.ultralytics.com/datasets/segment/coco/), which include 80 pre-trained classes.
|
|
@@ -227,7 +221,7 @@ See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for usag
|
|
|
227
221
|
|
|
228
222
|
## <div align="center">Integrations</div>
|
|
229
223
|
|
|
230
|
-
Our key integrations with leading AI platforms extend the functionality of Ultralytics' offerings, enhancing tasks like dataset labeling, training, visualization, and model management. Discover how Ultralytics, in collaboration with [Roboflow](https://roboflow.com/?ref=ultralytics), ClearML, [Comet](https://bit.ly/yolov8-readme-comet), Neural Magic and [OpenVINO](https://docs.ultralytics.com/integrations/openvino), can optimize your AI workflow.
|
|
224
|
+
Our key integrations with leading AI platforms extend the functionality of Ultralytics' offerings, enhancing tasks like dataset labeling, training, visualization, and model management. Discover how Ultralytics, in collaboration with [Roboflow](https://roboflow.com/?ref=ultralytics), ClearML, [Comet](https://bit.ly/yolov8-readme-comet), Neural Magic and [OpenVINO](https://docs.ultralytics.com/integrations/openvino/), can optimize your AI workflow.
|
|
231
225
|
|
|
232
226
|
<br>
|
|
233
227
|
<a href="https://ultralytics.com/hub" target="_blank">
|
|
@@ -262,7 +256,7 @@ Experience seamless AI with [Ultralytics HUB](https://www.ultralytics.com/hub)
|
|
|
262
256
|
|
|
263
257
|
## <div align="center">Contribute</div>
|
|
264
258
|
|
|
265
|
-
We love your input! YOLOv5 and YOLOv8 would not be possible without help from our community. Please see our [Contributing Guide](https://docs.ultralytics.com/help/contributing) to get started, and fill out our [Survey](https://www.ultralytics.com/survey?utm_source=github&utm_medium=social&utm_campaign=Survey) to send us feedback on your experience. Thank you 🙏 to all our contributors!
|
|
259
|
+
We love your input! YOLOv5 and YOLOv8 would not be possible without help from our community. Please see our [Contributing Guide](https://docs.ultralytics.com/help/contributing/) to get started, and fill out our [Survey](https://www.ultralytics.com/survey?utm_source=github&utm_medium=social&utm_campaign=Survey) to send us feedback on your experience. Thank you 🙏 to all our contributors!
|
|
266
260
|
|
|
267
261
|
<!-- SVG image from https://opencollective.com/ultralytics/contributors.svg?width=990 -->
|
|
268
262
|
|
|
@@ -26,11 +26,11 @@ build-backend = "setuptools.build_meta"
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "ultralytics"
|
|
28
28
|
dynamic = ["version"]
|
|
29
|
-
description = "Ultralytics
|
|
29
|
+
description = "Ultralytics YOLO for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification."
|
|
30
30
|
readme = "README.md"
|
|
31
31
|
requires-python = ">=3.8"
|
|
32
32
|
license = { "text" = "AGPL-3.0" }
|
|
33
|
-
keywords = ["machine-learning", "deep-learning", "computer-vision", "ML", "DL", "AI", "YOLO", "YOLOv3", "YOLOv5", "YOLOv8", "HUB", "Ultralytics"]
|
|
33
|
+
keywords = ["machine-learning", "deep-learning", "computer-vision", "ML", "DL", "AI", "YOLO", "YOLOv3", "YOLOv5", "YOLOv8", "YOLOv9", "YOLOv10", "HUB", "Ultralytics"]
|
|
34
34
|
authors = [
|
|
35
35
|
{ name = "Glenn Jocher" },
|
|
36
36
|
{ name = "Ayush Chaurasia" },
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
2
|
|
|
3
|
-
from ultralytics.utils import ASSETS, ROOT, WEIGHTS_DIR, checks
|
|
3
|
+
from ultralytics.utils import ASSETS, ROOT, WEIGHTS_DIR, checks
|
|
4
4
|
|
|
5
5
|
# Constants used in tests
|
|
6
6
|
MODEL = WEIGHTS_DIR / "path with spaces" / "yolov8n.pt" # test spaces in path
|
|
7
7
|
CFG = "yolov8n.yaml"
|
|
8
8
|
SOURCE = ASSETS / "bus.jpg"
|
|
9
|
+
SOURCES_LIST = [ASSETS / "bus.jpg", ASSETS, ASSETS / "*", ASSETS / "**/*.jpg"]
|
|
9
10
|
TMP = (ROOT / "../tests/tmp").resolve() # temp directory for test files
|
|
10
|
-
IS_TMP_WRITEABLE = is_dir_writeable(TMP)
|
|
11
11
|
CUDA_IS_AVAILABLE = checks.cuda_is_available()
|
|
12
12
|
CUDA_DEVICE_COUNT = checks.cuda_device_count()
|
|
13
13
|
|
|
@@ -15,6 +15,7 @@ __all__ = (
|
|
|
15
15
|
"MODEL",
|
|
16
16
|
"CFG",
|
|
17
17
|
"SOURCE",
|
|
18
|
+
"SOURCES_LIST",
|
|
18
19
|
"TMP",
|
|
19
20
|
"IS_TMP_WRITEABLE",
|
|
20
21
|
"CUDA_IS_AVAILABLE",
|
|
@@ -101,7 +101,7 @@ def test_mobilesam():
|
|
|
101
101
|
model.predict(source, points=[900, 370], labels=[1])
|
|
102
102
|
|
|
103
103
|
# Predict a segment based on a box prompt
|
|
104
|
-
model.predict(source, bboxes=[439, 437, 524, 709])
|
|
104
|
+
model.predict(source, bboxes=[439, 437, 524, 709], save=True)
|
|
105
105
|
|
|
106
106
|
# Predict all
|
|
107
107
|
# model(source)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
2
|
|
|
3
3
|
import contextlib
|
|
4
|
+
import csv
|
|
4
5
|
import urllib
|
|
5
6
|
from copy import copy
|
|
6
7
|
from pathlib import Path
|
|
@@ -12,7 +13,7 @@ import torch
|
|
|
12
13
|
import yaml
|
|
13
14
|
from PIL import Image
|
|
14
15
|
|
|
15
|
-
from tests import CFG,
|
|
16
|
+
from tests import CFG, MODEL, SOURCE, SOURCES_LIST, TMP
|
|
16
17
|
from ultralytics import RTDETR, YOLO
|
|
17
18
|
from ultralytics.cfg import MODELS, TASK2DATA, TASKS
|
|
18
19
|
from ultralytics.data.build import load_inference_source
|
|
@@ -26,11 +27,14 @@ from ultralytics.utils import (
|
|
|
26
27
|
WEIGHTS_DIR,
|
|
27
28
|
WINDOWS,
|
|
28
29
|
checks,
|
|
30
|
+
is_dir_writeable,
|
|
29
31
|
is_github_action_running,
|
|
30
32
|
)
|
|
31
33
|
from ultralytics.utils.downloads import download
|
|
32
34
|
from ultralytics.utils.torch_utils import TORCH_1_9
|
|
33
35
|
|
|
36
|
+
IS_TMP_WRITEABLE = is_dir_writeable(TMP) # WARNING: must be run once tests start as TMP does not exist on tests/init
|
|
37
|
+
|
|
34
38
|
|
|
35
39
|
def test_model_forward():
|
|
36
40
|
"""Test the forward pass of the YOLO model."""
|
|
@@ -70,11 +74,37 @@ def test_model_profile():
|
|
|
70
74
|
@pytest.mark.skipif(not IS_TMP_WRITEABLE, reason="directory is not writeable")
|
|
71
75
|
def test_predict_txt():
|
|
72
76
|
"""Tests YOLO predictions with file, directory, and pattern sources listed in a text file."""
|
|
73
|
-
|
|
74
|
-
with open(
|
|
75
|
-
for
|
|
76
|
-
f.write(f"{
|
|
77
|
-
|
|
77
|
+
file = TMP / "sources_multi_row.txt"
|
|
78
|
+
with open(file, "w") as f:
|
|
79
|
+
for src in SOURCES_LIST:
|
|
80
|
+
f.write(f"{src}\n")
|
|
81
|
+
results = YOLO(MODEL)(source=file, imgsz=32)
|
|
82
|
+
assert len(results) == 7 # 1 + 2 + 2 + 2 = 7 images
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
@pytest.mark.skipif(True, reason="disabled for testing")
|
|
86
|
+
@pytest.mark.skipif(not IS_TMP_WRITEABLE, reason="directory is not writeable")
|
|
87
|
+
def test_predict_csv_multi_row():
|
|
88
|
+
"""Tests YOLO predictions with sources listed in multiple rows of a CSV file."""
|
|
89
|
+
file = TMP / "sources_multi_row.csv"
|
|
90
|
+
with open(file, "w", newline="") as f:
|
|
91
|
+
writer = csv.writer(f)
|
|
92
|
+
writer.writerow(["source"])
|
|
93
|
+
writer.writerows([[src] for src in SOURCES_LIST])
|
|
94
|
+
results = YOLO(MODEL)(source=file, imgsz=32)
|
|
95
|
+
assert len(results) == 7 # 1 + 2 + 2 + 2 = 7 images
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@pytest.mark.skipif(True, reason="disabled for testing")
|
|
99
|
+
@pytest.mark.skipif(not IS_TMP_WRITEABLE, reason="directory is not writeable")
|
|
100
|
+
def test_predict_csv_single_row():
|
|
101
|
+
"""Tests YOLO predictions with sources listed in a single row of a CSV file."""
|
|
102
|
+
file = TMP / "sources_single_row.csv"
|
|
103
|
+
with open(file, "w", newline="") as f:
|
|
104
|
+
writer = csv.writer(f)
|
|
105
|
+
writer.writerow(SOURCES_LIST)
|
|
106
|
+
results = YOLO(MODEL)(source=file, imgsz=32)
|
|
107
|
+
assert len(results) == 7 # 1 + 2 + 2 + 2 = 7 images
|
|
78
108
|
|
|
79
109
|
|
|
80
110
|
@pytest.mark.parametrize("model_name", MODELS)
|
|
@@ -28,7 +28,6 @@ from ultralytics.utils import (
|
|
|
28
28
|
DEFAULT_CFG,
|
|
29
29
|
LOCAL_RANK,
|
|
30
30
|
LOGGER,
|
|
31
|
-
MACOS,
|
|
32
31
|
RANK,
|
|
33
32
|
TQDM,
|
|
34
33
|
__version__,
|
|
@@ -409,13 +408,17 @@ class BaseTrainer:
|
|
|
409
408
|
break
|
|
410
409
|
|
|
411
410
|
# Log
|
|
412
|
-
mem = f"{torch.cuda.memory_reserved() / 1E9 if torch.cuda.is_available() else 0:.3g}G" # (GB)
|
|
413
|
-
loss_len = self.tloss.shape[0] if len(self.tloss.shape) else 1
|
|
414
|
-
losses = self.tloss if loss_len > 1 else torch.unsqueeze(self.tloss, 0)
|
|
415
411
|
if RANK in {-1, 0}:
|
|
412
|
+
loss_length = self.tloss.shape[0] if len(self.tloss.shape) else 1
|
|
416
413
|
pbar.set_description(
|
|
417
|
-
("%11s" * 2 + "%11.4g" * (2 +
|
|
418
|
-
% (
|
|
414
|
+
("%11s" * 2 + "%11.4g" * (2 + loss_length))
|
|
415
|
+
% (
|
|
416
|
+
f"{epoch + 1}/{self.epochs}",
|
|
417
|
+
f"{self._get_memory():.3g}G", # (GB) GPU memory util
|
|
418
|
+
*(self.tloss if loss_length > 1 else torch.unsqueeze(self.tloss, 0)), # losses
|
|
419
|
+
batch["cls"].shape[0], # batch size, i.e. 8
|
|
420
|
+
batch["img"].shape[-1], # imgsz, i.e 640
|
|
421
|
+
)
|
|
419
422
|
)
|
|
420
423
|
self.run_callbacks("on_batch_end")
|
|
421
424
|
if self.args.plots and ni in self.plot_idx:
|
|
@@ -453,11 +456,7 @@ class BaseTrainer:
|
|
|
453
456
|
self.scheduler.last_epoch = self.epoch # do not move
|
|
454
457
|
self.stop |= epoch >= self.epochs # stop if exceeded epochs
|
|
455
458
|
self.run_callbacks("on_fit_epoch_end")
|
|
456
|
-
|
|
457
|
-
if MACOS:
|
|
458
|
-
torch.mps.empty_cache() # clear unified memory at end of epoch, may help MPS' management of 'unlimited' virtual memoy
|
|
459
|
-
else:
|
|
460
|
-
torch.cuda.empty_cache() # clear GPU memory at end of epoch, may help reduce CUDA out of memory errors
|
|
459
|
+
self._clear_memory()
|
|
461
460
|
|
|
462
461
|
# Early Stopping
|
|
463
462
|
if RANK != -1: # if DDP training
|
|
@@ -478,14 +477,29 @@ class BaseTrainer:
|
|
|
478
477
|
if self.args.plots:
|
|
479
478
|
self.plot_metrics()
|
|
480
479
|
self.run_callbacks("on_train_end")
|
|
480
|
+
self._clear_memory()
|
|
481
|
+
self.run_callbacks("teardown")
|
|
482
|
+
|
|
483
|
+
def _get_memory(self):
|
|
484
|
+
"""Get accelerator memory utilization in GB."""
|
|
485
|
+
if self.device.type == "mps":
|
|
486
|
+
memory = torch.mps.driver_allocated_memory()
|
|
487
|
+
elif self.device.type == "cpu":
|
|
488
|
+
memory = 0
|
|
489
|
+
else:
|
|
490
|
+
memory = torch.cuda.memory_reserved()
|
|
491
|
+
return memory / 1e9
|
|
492
|
+
|
|
493
|
+
def _clear_memory(self):
|
|
494
|
+
"""Clear accelerator memory on different platforms."""
|
|
481
495
|
gc.collect()
|
|
482
|
-
if
|
|
496
|
+
if self.device.type == "mps":
|
|
483
497
|
torch.mps.empty_cache()
|
|
498
|
+
elif self.device.type == "cpu":
|
|
499
|
+
return
|
|
484
500
|
else:
|
|
485
501
|
torch.cuda.empty_cache()
|
|
486
502
|
|
|
487
|
-
self.run_callbacks("teardown")
|
|
488
|
-
|
|
489
503
|
def read_results_csv(self):
|
|
490
504
|
"""Read results.csv into a dict using pandas."""
|
|
491
505
|
import pandas as pd # scope for faster 'import ultralytics'
|
|
@@ -654,13 +668,14 @@ class BaseTrainer:
|
|
|
654
668
|
|
|
655
669
|
def final_eval(self):
|
|
656
670
|
"""Performs final evaluation and validation for object detection YOLO model."""
|
|
671
|
+
ckpt = {}
|
|
657
672
|
for f in self.last, self.best:
|
|
658
673
|
if f.exists():
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
674
|
+
if f is self.last:
|
|
675
|
+
ckpt = strip_optimizer(f)
|
|
676
|
+
elif f is self.best:
|
|
677
|
+
k = "train_results" # update best.pt train_metrics from last.pt
|
|
678
|
+
strip_optimizer(f, updates={k: ckpt[k]} if k in ckpt else None)
|
|
664
679
|
LOGGER.info(f"\nValidating {f}...")
|
|
665
680
|
self.validator.args.plots = self.args.plots
|
|
666
681
|
self.metrics = self.validator(model=f)
|
|
@@ -450,16 +450,18 @@ class Predictor(BasePredictor):
|
|
|
450
450
|
|
|
451
451
|
results = []
|
|
452
452
|
for masks, orig_img, img_path in zip([pred_masks], orig_imgs, self.batch[0]):
|
|
453
|
-
if pred_bboxes is not None:
|
|
454
|
-
pred_bboxes = ops.scale_boxes(img.shape[2:], pred_bboxes.float(), orig_img.shape, padding=False)
|
|
455
|
-
cls = torch.arange(len(pred_masks), dtype=torch.int32, device=pred_masks.device)
|
|
456
|
-
pred_bboxes = torch.cat([pred_bboxes, pred_scores[:, None], cls[:, None]], dim=-1)
|
|
457
|
-
|
|
458
453
|
if len(masks) == 0:
|
|
459
454
|
masks = None
|
|
460
455
|
else:
|
|
461
456
|
masks = ops.scale_masks(masks[None].float(), orig_img.shape[:2], padding=False)[0]
|
|
462
457
|
masks = masks > self.model.mask_threshold # to bool
|
|
458
|
+
if pred_bboxes is not None:
|
|
459
|
+
pred_bboxes = ops.scale_boxes(img.shape[2:], pred_bboxes.float(), orig_img.shape, padding=False)
|
|
460
|
+
else:
|
|
461
|
+
pred_bboxes = batched_mask_to_box(masks)
|
|
462
|
+
# NOTE: SAM models do not return cls info. This `cls` here is just a placeholder for consistency.
|
|
463
|
+
cls = torch.arange(len(pred_masks), dtype=torch.int32, device=pred_masks.device)
|
|
464
|
+
pred_bboxes = torch.cat([pred_bboxes, pred_scores[:, None], cls[:, None]], dim=-1)
|
|
463
465
|
results.append(Results(orig_img, path=img_path, names=names, masks=masks, boxes=pred_bboxes))
|
|
464
466
|
# Reset segment-all mode.
|
|
465
467
|
self.segment_all = False
|
|
@@ -759,6 +759,10 @@ class SafeClass:
|
|
|
759
759
|
"""Initialize SafeClass instance, ignoring all arguments."""
|
|
760
760
|
pass
|
|
761
761
|
|
|
762
|
+
def __call__(self, *args, **kwargs):
|
|
763
|
+
"""Run SafeClass instance, ignoring all arguments."""
|
|
764
|
+
pass
|
|
765
|
+
|
|
762
766
|
|
|
763
767
|
class SafeUnpickler(pickle.Unpickler):
|
|
764
768
|
"""Custom Unpickler that replaces unknown classes with SafeClass."""
|
|
@@ -20,7 +20,7 @@ from ultralytics.utils.files import increment_path
|
|
|
20
20
|
|
|
21
21
|
class Colors:
|
|
22
22
|
"""
|
|
23
|
-
Ultralytics
|
|
23
|
+
Ultralytics color palette https://docs.ultralytics.com/reference/utils/plotting/#ultralytics.utils.plotting.Colors.
|
|
24
24
|
|
|
25
25
|
This class provides methods to work with the Ultralytics color palette, including converting hex color codes to
|
|
26
26
|
RGB values.
|
|
@@ -29,6 +29,60 @@ class Colors:
|
|
|
29
29
|
palette (list of tuple): List of RGB color values.
|
|
30
30
|
n (int): The number of colors in the palette.
|
|
31
31
|
pose_palette (np.ndarray): A specific color palette array with dtype np.uint8.
|
|
32
|
+
|
|
33
|
+
## Ultralytics Color Palette
|
|
34
|
+
|
|
35
|
+
| Index | Color | HEX | RGB |
|
|
36
|
+
|-------|-------------------------------------------------------------------|-----------|-------------------|
|
|
37
|
+
| 0 | <i class="fa-solid fa-square fa-2xl" style="color: #042aff;"></i> | `#042aff` | (4, 42, 255) |
|
|
38
|
+
| 1 | <i class="fa-solid fa-square fa-2xl" style="color: #0bdbeb;"></i> | `#0bdbeb` | (11, 219, 235) |
|
|
39
|
+
| 2 | <i class="fa-solid fa-square fa-2xl" style="color: #f3f3f3;"></i> | `#f3f3f3` | (243, 243, 243) |
|
|
40
|
+
| 3 | <i class="fa-solid fa-square fa-2xl" style="color: #00dfb7;"></i> | `#00dfb7` | (0, 223, 183) |
|
|
41
|
+
| 4 | <i class="fa-solid fa-square fa-2xl" style="color: #111f68;"></i> | `#111f68` | (17, 31, 104) |
|
|
42
|
+
| 5 | <i class="fa-solid fa-square fa-2xl" style="color: #ff6fdd;"></i> | `#ff6fdd` | (255, 111, 221) |
|
|
43
|
+
| 6 | <i class="fa-solid fa-square fa-2xl" style="color: #ff444f;"></i> | `#ff444f` | (255, 68, 79) |
|
|
44
|
+
| 7 | <i class="fa-solid fa-square fa-2xl" style="color: #cced00;"></i> | `#cced00` | (204, 237, 0) |
|
|
45
|
+
| 8 | <i class="fa-solid fa-square fa-2xl" style="color: #00f344;"></i> | `#00f344` | (0, 243, 68) |
|
|
46
|
+
| 9 | <i class="fa-solid fa-square fa-2xl" style="color: #bd00ff;"></i> | `#bd00ff` | (189, 0, 255) |
|
|
47
|
+
| 10 | <i class="fa-solid fa-square fa-2xl" style="color: #00b4ff;"></i> | `#00b4ff` | (0, 180, 255) |
|
|
48
|
+
| 11 | <i class="fa-solid fa-square fa-2xl" style="color: #dd00ba;"></i> | `#dd00ba` | (221, 0, 186) |
|
|
49
|
+
| 12 | <i class="fa-solid fa-square fa-2xl" style="color: #00ffff;"></i> | `#00ffff` | (0, 255, 255) |
|
|
50
|
+
| 13 | <i class="fa-solid fa-square fa-2xl" style="color: #26c000;"></i> | `#26c000` | (38, 192, 0) |
|
|
51
|
+
| 14 | <i class="fa-solid fa-square fa-2xl" style="color: #01ffb3;"></i> | `#01ffb3` | (1, 255, 179) |
|
|
52
|
+
| 15 | <i class="fa-solid fa-square fa-2xl" style="color: #7d24ff;"></i> | `#7d24ff` | (125, 36, 255) |
|
|
53
|
+
| 16 | <i class="fa-solid fa-square fa-2xl" style="color: #7b0068;"></i> | `#7b0068` | (123, 0, 104) |
|
|
54
|
+
| 17 | <i class="fa-solid fa-square fa-2xl" style="color: #ff1b6c;"></i> | `#ff1b6c` | (255, 27, 108) |
|
|
55
|
+
| 18 | <i class="fa-solid fa-square fa-2xl" style="color: #fc6d2f;"></i> | `#fc6d2f` | (252, 109, 47) |
|
|
56
|
+
| 19 | <i class="fa-solid fa-square fa-2xl" style="color: #a2ff0b;"></i> | `#a2ff0b` | (162, 255, 11) |
|
|
57
|
+
|
|
58
|
+
## Pose Color Palette
|
|
59
|
+
|
|
60
|
+
| Index | Color | HEX | RGB |
|
|
61
|
+
|-------|-------------------------------------------------------------------|-----------|-------------------|
|
|
62
|
+
| 0 | <i class="fa-solid fa-square fa-2xl" style="color: #ff8000;"></i> | `#ff8000` | (255, 128, 0) |
|
|
63
|
+
| 1 | <i class="fa-solid fa-square fa-2xl" style="color: #ff9933;"></i> | `#ff9933` | (255, 153, 51) |
|
|
64
|
+
| 2 | <i class="fa-solid fa-square fa-2xl" style="color: #ffb266;"></i> | `#ffb266` | (255, 178, 102) |
|
|
65
|
+
| 3 | <i class="fa-solid fa-square fa-2xl" style="color: #e6e600;"></i> | `#e6e600` | (230, 230, 0) |
|
|
66
|
+
| 4 | <i class="fa-solid fa-square fa-2xl" style="color: #ff99ff;"></i> | `#ff99ff` | (255, 153, 255) |
|
|
67
|
+
| 5 | <i class="fa-solid fa-square fa-2xl" style="color: #99ccff;"></i> | `#99ccff` | (153, 204, 255) |
|
|
68
|
+
| 6 | <i class="fa-solid fa-square fa-2xl" style="color: #ff66ff;"></i> | `#ff66ff` | (255, 102, 255) |
|
|
69
|
+
| 7 | <i class="fa-solid fa-square fa-2xl" style="color: #ff33ff;"></i> | `#ff33ff` | (255, 51, 255) |
|
|
70
|
+
| 8 | <i class="fa-solid fa-square fa-2xl" style="color: #66b2ff;"></i> | `#66b2ff` | (102, 178, 255) |
|
|
71
|
+
| 9 | <i class="fa-solid fa-square fa-2xl" style="color: #3399ff;"></i> | `#3399ff` | (51, 153, 255) |
|
|
72
|
+
| 10 | <i class="fa-solid fa-square fa-2xl" style="color: #ff9999;"></i> | `#ff9999` | (255, 153, 153) |
|
|
73
|
+
| 11 | <i class="fa-solid fa-square fa-2xl" style="color: #ff6666;"></i> | `#ff6666` | (255, 102, 102) |
|
|
74
|
+
| 12 | <i class="fa-solid fa-square fa-2xl" style="color: #ff3333;"></i> | `#ff3333` | (255, 51, 51) |
|
|
75
|
+
| 13 | <i class="fa-solid fa-square fa-2xl" style="color: #99ff99;"></i> | `#99ff99` | (153, 255, 153) |
|
|
76
|
+
| 14 | <i class="fa-solid fa-square fa-2xl" style="color: #66ff66;"></i> | `#66ff66` | (102, 255, 102) |
|
|
77
|
+
| 15 | <i class="fa-solid fa-square fa-2xl" style="color: #33ff33;"></i> | `#33ff33` | (51, 255, 51) |
|
|
78
|
+
| 16 | <i class="fa-solid fa-square fa-2xl" style="color: #00ff00;"></i> | `#00ff00` | (0, 255, 0) |
|
|
79
|
+
| 17 | <i class="fa-solid fa-square fa-2xl" style="color: #0000ff;"></i> | `#0000ff` | (0, 0, 255) |
|
|
80
|
+
| 18 | <i class="fa-solid fa-square fa-2xl" style="color: #ff0000;"></i> | `#ff0000` | (255, 0, 0) |
|
|
81
|
+
| 19 | <i class="fa-solid fa-square fa-2xl" style="color: #ffffff;"></i> | `#ffffff` | (255, 255, 255) |
|
|
82
|
+
|
|
83
|
+
!!! note "Ultralytics Brand Colors"
|
|
84
|
+
|
|
85
|
+
For Ultralytics brand colors see [https://www.ultralytics.com/brand](https://www.ultralytics.com/brand). Please use the official Ultralytics colors for all marketing materials.
|
|
32
86
|
"""
|
|
33
87
|
|
|
34
88
|
def __init__(self):
|