ultralytics 8.3.1__tar.gz → 8.3.2__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.3.1 → ultralytics-8.3.2}/PKG-INFO +1 -1
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_cuda.py +8 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/model.py +2 -3
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/build.py +0 -2
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/__init__.py +1 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/checks.py +3 -2
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/files.py +1 -1
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/patches.py +1 -11
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/plotting.py +14 -3
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/torch_utils.py +1 -1
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics.egg-info/PKG-INFO +1 -1
- {ultralytics-8.3.1 → ultralytics-8.3.2}/LICENSE +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/README.md +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/pyproject.toml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/setup.cfg +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/conftest.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_cli.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_engine.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_explorer.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_exports.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_python.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.2
|
|
4
4
|
Summary: Ultralytics YOLO for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Ayush Chaurasia
|
|
6
6
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
|
@@ -10,6 +10,7 @@ from tests import CUDA_DEVICE_COUNT, CUDA_IS_AVAILABLE, MODEL, SOURCE
|
|
|
10
10
|
from ultralytics import YOLO
|
|
11
11
|
from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
|
12
12
|
from ultralytics.utils import ASSETS, WEIGHTS_DIR
|
|
13
|
+
from ultralytics.utils.checks import check_amp
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
def test_checks():
|
|
@@ -18,6 +19,13 @@ def test_checks():
|
|
|
18
19
|
assert torch.cuda.device_count() == CUDA_DEVICE_COUNT
|
|
19
20
|
|
|
20
21
|
|
|
22
|
+
@pytest.mark.skipif(not CUDA_IS_AVAILABLE, reason="CUDA is not available")
|
|
23
|
+
def test_amp():
|
|
24
|
+
"""Test AMP training checks."""
|
|
25
|
+
model = YOLO("yolo11n.pt").model.cuda()
|
|
26
|
+
assert check_amp(model)
|
|
27
|
+
|
|
28
|
+
|
|
21
29
|
@pytest.mark.slow
|
|
22
30
|
@pytest.mark.skipif(True, reason="CUDA export tests disabled pending additional Ultralytics GPU server availability")
|
|
23
31
|
@pytest.mark.skipif(not CUDA_IS_AVAILABLE, reason="CUDA is not available")
|
|
@@ -377,7 +377,7 @@ class Model(nn.Module):
|
|
|
377
377
|
self.model.load(weights)
|
|
378
378
|
return self
|
|
379
379
|
|
|
380
|
-
def save(self, filename: Union[str, Path] = "saved_model.pt"
|
|
380
|
+
def save(self, filename: Union[str, Path] = "saved_model.pt") -> None:
|
|
381
381
|
"""
|
|
382
382
|
Saves the current model state to a file.
|
|
383
383
|
|
|
@@ -386,7 +386,6 @@ class Model(nn.Module):
|
|
|
386
386
|
|
|
387
387
|
Args:
|
|
388
388
|
filename (Union[str, Path]): The name of the file to save the model to.
|
|
389
|
-
use_dill (bool): Whether to try using dill for serialization if available.
|
|
390
389
|
|
|
391
390
|
Raises:
|
|
392
391
|
AssertionError: If the model is not a PyTorch model.
|
|
@@ -408,7 +407,7 @@ class Model(nn.Module):
|
|
|
408
407
|
"license": "AGPL-3.0 License (https://ultralytics.com/license)",
|
|
409
408
|
"docs": "https://docs.ultralytics.com",
|
|
410
409
|
}
|
|
411
|
-
torch.save({**self.ckpt, **updates}, filename
|
|
410
|
+
torch.save({**self.ckpt, **updates}, filename)
|
|
412
411
|
|
|
413
412
|
def info(self, detailed: bool = False, verbose: bool = True):
|
|
414
413
|
"""
|
|
@@ -111,6 +111,7 @@ torch.set_printoptions(linewidth=320, precision=4, profile="default")
|
|
|
111
111
|
np.set_printoptions(linewidth=320, formatter={"float_kind": "{:11.5g}".format}) # format short g, %precision=5
|
|
112
112
|
cv2.setNumThreads(0) # prevent OpenCV from multithreading (incompatible with PyTorch DataLoader)
|
|
113
113
|
os.environ["NUMEXPR_MAX_THREADS"] = str(NUM_THREADS) # NumExpr max threads
|
|
114
|
+
os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8" # for deterministic training to avoid CUDA warning
|
|
114
115
|
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" # suppress verbose TF compiler warnings in Colab
|
|
115
116
|
os.environ["TORCH_CPP_LOG_LEVEL"] = "ERROR" # suppress "NNPACK.cpp could not initialize NNPACK" warnings
|
|
116
117
|
os.environ["KINETO_LOG_LEVEL"] = "5" # suppress verbose PyTorch profiler output when computing FLOPs
|
|
@@ -657,9 +657,10 @@ def check_amp(model):
|
|
|
657
657
|
def amp_allclose(m, im):
|
|
658
658
|
"""All close FP32 vs AMP results."""
|
|
659
659
|
batch = [im] * 8
|
|
660
|
-
|
|
660
|
+
imgsz = max(256, int(model.stride.max() * 4)) # max stride P5-32 and P6-64
|
|
661
|
+
a = m(batch, imgsz=imgsz, device=device, verbose=False)[0].boxes.data # FP32 inference
|
|
661
662
|
with autocast(enabled=True):
|
|
662
|
-
b = m(batch, imgsz=
|
|
663
|
+
b = m(batch, imgsz=imgsz, device=device, verbose=False)[0].boxes.data # AMP inference
|
|
663
664
|
del m
|
|
664
665
|
return a.shape == b.shape and torch.allclose(a, b.float(), atol=0.5) # close to 0.5 absolute tolerance
|
|
665
666
|
|
|
@@ -86,25 +86,15 @@ def torch_load(*args, **kwargs):
|
|
|
86
86
|
return _torch_load(*args, **kwargs)
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
def torch_save(*args,
|
|
89
|
+
def torch_save(*args, **kwargs):
|
|
90
90
|
"""
|
|
91
91
|
Optionally use dill to serialize lambda functions where pickle does not, adding robustness with 3 retries and
|
|
92
92
|
exponential standoff in case of save failure.
|
|
93
93
|
|
|
94
94
|
Args:
|
|
95
95
|
*args (tuple): Positional arguments to pass to torch.save.
|
|
96
|
-
use_dill (bool): Whether to try using dill for serialization if available. Defaults to True.
|
|
97
96
|
**kwargs (Any): Keyword arguments to pass to torch.save.
|
|
98
97
|
"""
|
|
99
|
-
try:
|
|
100
|
-
assert use_dill
|
|
101
|
-
import dill as pickle
|
|
102
|
-
except (AssertionError, ImportError):
|
|
103
|
-
import pickle
|
|
104
|
-
|
|
105
|
-
if "pickle_module" not in kwargs:
|
|
106
|
-
kwargs["pickle_module"] = pickle
|
|
107
|
-
|
|
108
98
|
for i in range(4): # 3 retries
|
|
109
99
|
try:
|
|
110
100
|
return _torch_save(*args, **kwargs)
|
|
@@ -13,8 +13,8 @@ import torch
|
|
|
13
13
|
from PIL import Image, ImageDraw, ImageFont
|
|
14
14
|
from PIL import __version__ as pil_version
|
|
15
15
|
|
|
16
|
-
from ultralytics.utils import LOGGER, TryExcept, ops, plt_settings, threaded
|
|
17
|
-
from ultralytics.utils.checks import check_font, check_version, is_ascii
|
|
16
|
+
from ultralytics.utils import IS_JUPYTER, LOGGER, TryExcept, ops, plt_settings, threaded
|
|
17
|
+
from ultralytics.utils.checks import check_font, check_requirements, check_version, is_ascii
|
|
18
18
|
from ultralytics.utils.files import increment_path
|
|
19
19
|
|
|
20
20
|
|
|
@@ -524,7 +524,18 @@ class Annotator:
|
|
|
524
524
|
|
|
525
525
|
def show(self, title=None):
|
|
526
526
|
"""Show the annotated image."""
|
|
527
|
-
Image.fromarray(np.asarray(self.im)[..., ::-1])
|
|
527
|
+
im = Image.fromarray(np.asarray(self.im)[..., ::-1]) # Convert numpy array to PIL Image with RGB to BGR
|
|
528
|
+
if IS_JUPYTER:
|
|
529
|
+
check_requirements("ipython")
|
|
530
|
+
try:
|
|
531
|
+
from IPython.display import display
|
|
532
|
+
|
|
533
|
+
display(im)
|
|
534
|
+
except ImportError as e:
|
|
535
|
+
LOGGER.warning(f"Unable to display image in Jupyter notebooks: {e}")
|
|
536
|
+
else:
|
|
537
|
+
# Convert numpy array to PIL Image and show
|
|
538
|
+
im.show(title=title)
|
|
528
539
|
|
|
529
540
|
def save(self, filename="image.jpg"):
|
|
530
541
|
"""Save the annotated image to 'filename'."""
|
|
@@ -595,7 +595,7 @@ def strip_optimizer(f: Union[str, Path] = "best.pt", s: str = "", updates: dict
|
|
|
595
595
|
|
|
596
596
|
# Save
|
|
597
597
|
combined = {**metadata, **x, **(updates or {})}
|
|
598
|
-
torch.save(combined, s or f
|
|
598
|
+
torch.save(combined, s or f) # combine dicts (prefer to the right)
|
|
599
599
|
mb = os.path.getsize(s or f) / 1e6 # file size
|
|
600
600
|
LOGGER.info(f"Optimizer stripped from {f},{f' saved as {s},' if s else ''} {mb:.1f}MB")
|
|
601
601
|
return combined
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.2
|
|
4
4
|
Summary: Ultralytics YOLO for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Ayush Chaurasia
|
|
6
6
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ultralytics-8.3.1 → ultralytics-8.3.2}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|