ultralytics 8.2.94__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.94/ultralytics.egg-info → ultralytics-8.2.95}/PKG-INFO +20 -26
- {ultralytics-8.2.94 → ultralytics-8.2.95}/README.md +19 -25
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/__init__.py +3 -2
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_python.py +36 -6
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/trainer.py +6 -5
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/tasks.py +4 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/torch_utils.py +8 -5
- {ultralytics-8.2.94 → ultralytics-8.2.95/ultralytics.egg-info}/PKG-INFO +20 -26
- {ultralytics-8.2.94 → ultralytics-8.2.95}/LICENSE +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/pyproject.toml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/setup.cfg +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/conftest.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_cli.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_cuda.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_engine.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_explorer.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_exports.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_integrations.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/tests/test_solutions.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/build.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.2.94 → ultralytics-8.2.95}/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.95
|
|
4
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
|
|
@@ -172,14 +172,25 @@ 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
196
|
See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python/) for more examples.
|
|
@@ -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.
|
|
@@ -87,14 +87,25 @@ 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
111
|
See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python/) for more examples.
|
|
@@ -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.
|
|
@@ -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",
|
|
@@ -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)
|
|
@@ -668,13 +668,14 @@ class BaseTrainer:
|
|
|
668
668
|
|
|
669
669
|
def final_eval(self):
|
|
670
670
|
"""Performs final evaluation and validation for object detection YOLO model."""
|
|
671
|
+
ckpt = {}
|
|
671
672
|
for f in self.last, self.best:
|
|
672
673
|
if f.exists():
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
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)
|
|
678
679
|
LOGGER.info(f"\nValidating {f}...")
|
|
679
680
|
self.validator.args.plots = self.args.plots
|
|
680
681
|
self.metrics = self.validator(model=f)
|
|
@@ -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."""
|
|
@@ -533,16 +533,17 @@ class ModelEMA:
|
|
|
533
533
|
copy_attr(self.ema, model, include, exclude)
|
|
534
534
|
|
|
535
535
|
|
|
536
|
-
def strip_optimizer(f: Union[str, Path] = "best.pt", s: str = "") ->
|
|
536
|
+
def strip_optimizer(f: Union[str, Path] = "best.pt", s: str = "", updates: dict = None) -> dict:
|
|
537
537
|
"""
|
|
538
538
|
Strip optimizer from 'f' to finalize training, optionally save as 's'.
|
|
539
539
|
|
|
540
540
|
Args:
|
|
541
541
|
f (str): file path to model to strip the optimizer from. Default is 'best.pt'.
|
|
542
542
|
s (str): file path to save the model with stripped optimizer to. If not provided, 'f' will be overwritten.
|
|
543
|
+
updates (dict): a dictionary of updates to overlay onto the checkpoint before saving.
|
|
543
544
|
|
|
544
545
|
Returns:
|
|
545
|
-
|
|
546
|
+
(dict): The combined checkpoint dictionary.
|
|
546
547
|
|
|
547
548
|
Example:
|
|
548
549
|
```python
|
|
@@ -562,9 +563,9 @@ def strip_optimizer(f: Union[str, Path] = "best.pt", s: str = "") -> None:
|
|
|
562
563
|
assert "model" in x, "'model' missing from checkpoint"
|
|
563
564
|
except Exception as e:
|
|
564
565
|
LOGGER.warning(f"WARNING ⚠️ Skipping {f}, not a valid Ultralytics model: {e}")
|
|
565
|
-
return
|
|
566
|
+
return {}
|
|
566
567
|
|
|
567
|
-
|
|
568
|
+
metadata = {
|
|
568
569
|
"date": datetime.now().isoformat(),
|
|
569
570
|
"version": __version__,
|
|
570
571
|
"license": "AGPL-3.0 License (https://ultralytics.com/license)",
|
|
@@ -591,9 +592,11 @@ def strip_optimizer(f: Union[str, Path] = "best.pt", s: str = "") -> None:
|
|
|
591
592
|
# x['model'].args = x['train_args']
|
|
592
593
|
|
|
593
594
|
# Save
|
|
594
|
-
|
|
595
|
+
combined = {**metadata, **x, **(updates or {})}
|
|
596
|
+
torch.save(combined, s or f, use_dill=False) # combine dicts (prefer to the right)
|
|
595
597
|
mb = os.path.getsize(s or f) / 1e6 # file size
|
|
596
598
|
LOGGER.info(f"Optimizer stripped from {f},{f' saved as {s},' if s else ''} {mb:.1f}MB")
|
|
599
|
+
return combined
|
|
597
600
|
|
|
598
601
|
|
|
599
602
|
def convert_optimizer_state_dict_to_fp16(state_dict):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.95
|
|
4
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
|
|
@@ -172,14 +172,25 @@ 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
196
|
See YOLOv8 [Python Docs](https://docs.ultralytics.com/usage/python/) for more examples.
|
|
@@ -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.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.94 → ultralytics-8.2.95}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.94 → ultralytics-8.2.95}/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.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.94 → ultralytics-8.2.95}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|