ultralytics 8.3.210__tar.gz → 8.3.211__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ultralytics-8.3.210 → ultralytics-8.3.211}/PKG-INFO +1 -1
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/test_integrations.py +4 -7
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/test_python.py +7 -11
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/converter.py +2 -4
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/utils.py +2 -2
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/trainer.py +29 -21
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/benchmarks.py +2 -2
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/checks.py +2 -1
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/downloads.py +6 -8
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics.egg-info/PKG-INFO +1 -1
- {ultralytics-8.3.210 → ultralytics-8.3.211}/LICENSE +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/README.md +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/pyproject.toml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/setup.cfg +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/conftest.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/test_cli.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/test_cuda.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/test_engine.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/test_exports.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/HomeObjects-3K.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco8-grayscale.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/construction-ppe.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/scripts/download_weights.sh +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/scripts/get_coco.sh +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/split.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/nn/text_model.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/py.typed +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/config.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/instance_segmentation.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/object_blurrer.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/object_cropper.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/security_alarm.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/similarity_search.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/solutions.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/trackzone.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/solutions/vision_eye.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/autodevice.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/platform.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/cpu.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/events.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/export/__init__.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/export/imx.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/git.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/logger.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/nms.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/tqdm.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.211
|
4
4
|
Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
@@ -10,7 +10,7 @@ import pytest
|
|
10
10
|
|
11
11
|
from tests import MODEL, SOURCE, TMP
|
12
12
|
from ultralytics import YOLO, download
|
13
|
-
from ultralytics.utils import DATASETS_DIR, SETTINGS
|
13
|
+
from ultralytics.utils import ASSETS_URL, DATASETS_DIR, SETTINGS
|
14
14
|
from ultralytics.utils.checks import check_requirements
|
15
15
|
|
16
16
|
|
@@ -129,26 +129,23 @@ def test_faster_coco_eval():
|
|
129
129
|
from ultralytics.models.yolo.pose import PoseValidator
|
130
130
|
from ultralytics.models.yolo.segment import SegmentationValidator
|
131
131
|
|
132
|
-
# Download annotations after each dataset downloads first
|
133
|
-
url = "https://github.com/ultralytics/assets/releases/download/v0.0.0/"
|
134
|
-
|
135
132
|
args = {"model": "yolo11n.pt", "data": "coco8.yaml", "save_json": True, "imgsz": 64}
|
136
133
|
validator = DetectionValidator(args=args)
|
137
134
|
validator()
|
138
135
|
validator.is_coco = True
|
139
|
-
download(f"{
|
136
|
+
download(f"{ASSETS_URL}/instances_val2017.json", dir=DATASETS_DIR / "coco8/annotations")
|
140
137
|
_ = validator.eval_json(validator.stats)
|
141
138
|
|
142
139
|
args = {"model": "yolo11n-seg.pt", "data": "coco8-seg.yaml", "save_json": True, "imgsz": 64}
|
143
140
|
validator = SegmentationValidator(args=args)
|
144
141
|
validator()
|
145
142
|
validator.is_coco = True
|
146
|
-
download(f"{
|
143
|
+
download(f"{ASSETS_URL}/instances_val2017.json", dir=DATASETS_DIR / "coco8-seg/annotations")
|
147
144
|
_ = validator.eval_json(validator.stats)
|
148
145
|
|
149
146
|
args = {"model": "yolo11n-pose.pt", "data": "coco8-pose.yaml", "save_json": True, "imgsz": 64}
|
150
147
|
validator = PoseValidator(args=args)
|
151
148
|
validator()
|
152
149
|
validator.is_coco = True
|
153
|
-
download(f"{
|
150
|
+
download(f"{ASSETS_URL}/person_keypoints_val2017.json", dir=DATASETS_DIR / "coco8-pose/annotations")
|
154
151
|
_ = validator.eval_json(validator.stats)
|
@@ -20,6 +20,7 @@ from ultralytics.data.utils import check_det_dataset
|
|
20
20
|
from ultralytics.utils import (
|
21
21
|
ARM64,
|
22
22
|
ASSETS,
|
23
|
+
ASSETS_URL,
|
23
24
|
DEFAULT_CFG,
|
24
25
|
DEFAULT_CFG_PATH,
|
25
26
|
LINUX,
|
@@ -125,9 +126,7 @@ def test_predict_img(model_name):
|
|
125
126
|
batch = [
|
126
127
|
str(SOURCE), # filename
|
127
128
|
Path(SOURCE), # Path
|
128
|
-
"
|
129
|
-
if ONLINE
|
130
|
-
else SOURCE, # URI
|
129
|
+
f"{ASSETS_URL}/zidane.jpg?token=123" if ONLINE else SOURCE, # URI
|
131
130
|
im, # OpenCV
|
132
131
|
Image.open(SOURCE), # PIL
|
133
132
|
np.zeros((320, 640, channels), dtype=np.uint8), # numpy
|
@@ -190,7 +189,7 @@ def test_track_stream(model):
|
|
190
189
|
"""
|
191
190
|
if model == "yolo11n-cls.pt": # classification model not supported for tracking
|
192
191
|
return
|
193
|
-
video_url = "
|
192
|
+
video_url = f"{ASSETS_URL}/decelera_portrait_min.mov"
|
194
193
|
model = YOLO(model)
|
195
194
|
model.track(video_url, imgsz=160, tracker="bytetrack.yaml")
|
196
195
|
model.track(video_url, imgsz=160, tracker="botsort.yaml", save_frames=True) # test frame saving also
|
@@ -229,9 +228,7 @@ def test_train_scratch():
|
|
229
228
|
def test_train_ndjson():
|
230
229
|
"""Test training the YOLO model using NDJSON format dataset."""
|
231
230
|
model = YOLO(WEIGHTS_DIR / "yolo11n.pt")
|
232
|
-
model.train(
|
233
|
-
data="https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-ndjson.ndjson", epochs=1, imgsz=32
|
234
|
-
)
|
231
|
+
model.train(data=f"{ASSETS_URL}/coco8-ndjson.ndjson", epochs=1, imgsz=32)
|
235
232
|
|
236
233
|
|
237
234
|
@pytest.mark.parametrize("scls", [False, True])
|
@@ -290,8 +287,8 @@ def test_predict_callback_and_setup():
|
|
290
287
|
@pytest.mark.parametrize("model", MODELS)
|
291
288
|
def test_results(model: str):
|
292
289
|
"""Test YOLO model results processing and output in various formats."""
|
293
|
-
|
294
|
-
results = YOLO(WEIGHTS_DIR / model)([
|
290
|
+
im = f"{ASSETS_URL}/boats.jpg" if model == "yolo11n-obb.pt" else SOURCE
|
291
|
+
results = YOLO(WEIGHTS_DIR / model)([im, im], imgsz=160)
|
295
292
|
for r in results:
|
296
293
|
assert len(r), f"'{model}' results should not be empty!"
|
297
294
|
r = r.cpu().numpy()
|
@@ -357,8 +354,7 @@ def test_data_converter():
|
|
357
354
|
"""Test dataset conversion functions from COCO to YOLO format and class mappings."""
|
358
355
|
from ultralytics.data.converter import coco80_to_coco91_class, convert_coco
|
359
356
|
|
360
|
-
|
361
|
-
download(f"https://github.com/ultralytics/assets/releases/download/v0.0.0/{file}", dir=TMP)
|
357
|
+
download(f"{ASSETS_URL}/instances_val2017.json", dir=TMP)
|
362
358
|
convert_coco(labels_dir=TMP, save_dir=TMP / "yolo_labels", use_segments=True, use_keypoints=False, cls91to80=True)
|
363
359
|
coco80_to_coco91_class()
|
364
360
|
|
@@ -14,7 +14,7 @@ import cv2
|
|
14
14
|
import numpy as np
|
15
15
|
from PIL import Image
|
16
16
|
|
17
|
-
from ultralytics.utils import DATASETS_DIR, LOGGER, NUM_THREADS, TQDM, YAML
|
17
|
+
from ultralytics.utils import ASSETS_URL, DATASETS_DIR, LOGGER, NUM_THREADS, TQDM, YAML
|
18
18
|
from ultralytics.utils.checks import check_file, check_requirements
|
19
19
|
from ultralytics.utils.downloads import download, zip_directory
|
20
20
|
from ultralytics.utils.files import increment_path
|
@@ -678,9 +678,7 @@ def create_synthetic_coco_dataset():
|
|
678
678
|
|
679
679
|
# Download labels
|
680
680
|
dir = DATASETS_DIR / "coco"
|
681
|
-
|
682
|
-
label_zip = "coco2017labels-segments.zip"
|
683
|
-
download([url + label_zip], dir=dir.parent)
|
681
|
+
download([f"{ASSETS_URL}/coco2017labels-segments.zip"], dir=dir.parent)
|
684
682
|
|
685
683
|
# Create synthetic images
|
686
684
|
shutil.rmtree(dir / "labels" / "test2017", ignore_errors=True) # Remove test2017 directory as not needed
|
@@ -19,6 +19,7 @@ from PIL import Image, ImageOps
|
|
19
19
|
|
20
20
|
from ultralytics.nn.autobackend import check_class_names
|
21
21
|
from ultralytics.utils import (
|
22
|
+
ASSETS_URL,
|
22
23
|
DATASETS_DIR,
|
23
24
|
LOGGER,
|
24
25
|
NUM_THREADS,
|
@@ -523,8 +524,7 @@ def check_cls_dataset(dataset: str | Path, split: str = "") -> dict[str, Any]:
|
|
523
524
|
if str(dataset) == "imagenet":
|
524
525
|
subprocess.run(["bash", str(ROOT / "data/scripts/get_imagenet.sh")], check=True)
|
525
526
|
else:
|
526
|
-
|
527
|
-
download(url, dir=data_dir.parent)
|
527
|
+
download(f"{ASSETS_URL}/{dataset}.zip", dir=data_dir.parent)
|
528
528
|
LOGGER.info(f"Dataset download success ✅ ({time.time() - t:.1f}s), saved to {colorstr('bold', data_dir)}\n")
|
529
529
|
train_set = data_dir / "train"
|
530
530
|
if not train_set.is_dir():
|
@@ -44,6 +44,7 @@ from ultralytics.utils.dist import ddp_cleanup, generate_ddp_command
|
|
44
44
|
from ultralytics.utils.files import get_latest_run
|
45
45
|
from ultralytics.utils.plotting import plot_results
|
46
46
|
from ultralytics.utils.torch_utils import (
|
47
|
+
TORCH_1_9,
|
47
48
|
TORCH_2_4,
|
48
49
|
EarlyStopping,
|
49
50
|
ModelEMA,
|
@@ -420,28 +421,26 @@ class BaseTrainer:
|
|
420
421
|
self.loss = loss.sum()
|
421
422
|
if RANK != -1:
|
422
423
|
self.loss *= self.world_size
|
423
|
-
if not self.loss.isfinite():
|
424
|
-
LOGGER.warning("Non-finite forward pass, skipping batch...")
|
425
|
-
continue
|
426
424
|
self.tloss = self.loss_items if self.tloss is None else (self.tloss * i + self.loss_items) / (i + 1)
|
427
425
|
|
428
426
|
# Backward
|
429
|
-
self.
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
self.stop
|
443
|
-
|
444
|
-
|
427
|
+
if self.loss.isfinite():
|
428
|
+
self.scaler.scale(self.loss).backward()
|
429
|
+
if ni - last_opt_step >= self.accumulate:
|
430
|
+
self.optimizer_step()
|
431
|
+
last_opt_step = ni
|
432
|
+
|
433
|
+
# Timed stopping
|
434
|
+
if self.args.time:
|
435
|
+
self.stop = (time.time() - self.train_time_start) > (self.args.time * 3600)
|
436
|
+
if RANK != -1: # if DDP training
|
437
|
+
broadcast_list = [self.stop if RANK == 0 else None]
|
438
|
+
dist.broadcast_object_list(broadcast_list, 0) # broadcast 'stop' to all ranks
|
439
|
+
self.stop = broadcast_list[0]
|
440
|
+
if self.stop: # training time exceeded
|
441
|
+
break
|
442
|
+
else:
|
443
|
+
LOGGER.warning(f"Non-finite forward pass (loss={self.loss}), skipping backwards pass...")
|
445
444
|
|
446
445
|
# Log
|
447
446
|
if RANK in {-1, 0}:
|
@@ -666,8 +665,17 @@ class BaseTrainer:
|
|
666
665
|
def optimizer_step(self):
|
667
666
|
"""Perform a single step of the training optimizer with gradient clipping and EMA update."""
|
668
667
|
self.scaler.unscale_(self.optimizer) # unscale gradients
|
669
|
-
|
670
|
-
|
668
|
+
try:
|
669
|
+
if TORCH_1_9:
|
670
|
+
torch.nn.utils.clip_grad_norm_(self.model.parameters(), max_norm=10.0, error_if_nonfinite=True)
|
671
|
+
self.scaler.step(self.optimizer)
|
672
|
+
except RuntimeError as e:
|
673
|
+
if "finite" in str(e).lower():
|
674
|
+
LOGGER.warning("Non-finite gradients, skipping optimizer updates")
|
675
|
+
self.scaler.update()
|
676
|
+
self.optimizer.zero_grad()
|
677
|
+
return
|
678
|
+
raise
|
671
679
|
self.scaler.update()
|
672
680
|
self.optimizer.zero_grad()
|
673
681
|
if self.ema:
|
@@ -43,7 +43,7 @@ import torch.cuda
|
|
43
43
|
from ultralytics import YOLO, YOLOWorld
|
44
44
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
45
45
|
from ultralytics.engine.exporter import export_formats
|
46
|
-
from ultralytics.utils import ARM64, ASSETS, IS_JETSON, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR, YAML
|
46
|
+
from ultralytics.utils import ARM64, ASSETS, ASSETS_URL, IS_JETSON, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR, YAML
|
47
47
|
from ultralytics.utils.checks import IS_PYTHON_3_13, check_imgsz, check_requirements, check_yolo, is_rockchip
|
48
48
|
from ultralytics.utils.downloads import safe_download
|
49
49
|
from ultralytics.utils.files import file_size
|
@@ -281,7 +281,7 @@ class RF100Benchmark:
|
|
281
281
|
(shutil.rmtree("rf-100"), os.mkdir("rf-100")) if os.path.exists("rf-100") else os.mkdir("rf-100")
|
282
282
|
os.chdir("rf-100")
|
283
283
|
os.mkdir("ultralytics-benchmarks")
|
284
|
-
safe_download("
|
284
|
+
safe_download(f"{ASSETS_URL}/datasets_links.txt")
|
285
285
|
|
286
286
|
with open(ds_link_txt, encoding="utf-8") as file:
|
287
287
|
for line in file:
|
@@ -23,6 +23,7 @@ import torch
|
|
23
23
|
from ultralytics.utils import (
|
24
24
|
ARM64,
|
25
25
|
ASSETS,
|
26
|
+
ASSETS_URL,
|
26
27
|
AUTOINSTALL,
|
27
28
|
GIT,
|
28
29
|
IS_COLAB,
|
@@ -336,7 +337,7 @@ def check_font(font="Arial.ttf"):
|
|
336
337
|
return matches[0]
|
337
338
|
|
338
339
|
# Download to USER_CONFIG_DIR if missing
|
339
|
-
url = f"
|
340
|
+
url = f"{ASSETS_URL}/{name}"
|
340
341
|
if downloads.is_url(url, check=True):
|
341
342
|
downloads.safe_download(url=url, file=file)
|
342
343
|
return file
|
@@ -10,7 +10,7 @@ from multiprocessing.pool import ThreadPool
|
|
10
10
|
from pathlib import Path
|
11
11
|
from urllib import parse, request
|
12
12
|
|
13
|
-
from ultralytics.utils import LOGGER, TQDM, checks, clean_url, emojis, is_online, url2file
|
13
|
+
from ultralytics.utils import ASSETS_URL, LOGGER, TQDM, checks, clean_url, emojis, is_online, url2file
|
14
14
|
|
15
15
|
# Define Ultralytics GitHub assets maintained at https://github.com/ultralytics/assets
|
16
16
|
GITHUB_ASSETS_REPO = "ultralytics/assets"
|
@@ -60,10 +60,11 @@ def is_url(url: str | Path, check: bool = False) -> bool:
|
|
60
60
|
try:
|
61
61
|
url = str(url)
|
62
62
|
result = parse.urlparse(url)
|
63
|
-
|
63
|
+
if not (result.scheme and result.netloc):
|
64
|
+
return False
|
64
65
|
if check:
|
65
|
-
|
66
|
-
|
66
|
+
r = request.urlopen(request.Request(url, method="HEAD"), timeout=3)
|
67
|
+
return 200 <= r.getcode() < 400
|
67
68
|
return True
|
68
69
|
except Exception:
|
69
70
|
return False
|
@@ -323,10 +324,7 @@ def safe_download(
|
|
323
324
|
if "://" not in str(url) and Path(url).is_file(): # URL exists ('://' check required in Windows Python<3.10)
|
324
325
|
f = Path(url) # filename
|
325
326
|
elif not f.is_file(): # URL and file do not exist
|
326
|
-
uri = (url if gdrive else clean_url(url)).replace( #
|
327
|
-
"https://github.com/ultralytics/assets/releases/download/v0.0.0/",
|
328
|
-
"https://ultralytics.com/assets/", # assets alias
|
329
|
-
)
|
327
|
+
uri = (url if gdrive else clean_url(url)).replace(ASSETS_URL, "https://ultralytics.com/assets") # clean
|
330
328
|
desc = f"Downloading {uri} to '{f}'"
|
331
329
|
f.parent.mkdir(parents=True, exist_ok=True) # make directory if missing
|
332
330
|
curl_installed = shutil.which("curl")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.211
|
4
4
|
Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
5
5
|
Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
|
6
6
|
Maintainer-email: Ultralytics <hello@ultralytics.com>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/coco8-multispectral.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/datasets/dota8-multispectral.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
|
{ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.210 → ultralytics-8.3.211}/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
|
File without changes
|
File without changes
|
{ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.210 → ultralytics-8.3.211}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|