ultralytics 8.3.128__tar.gz → 8.3.130__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.128/ultralytics.egg-info → ultralytics-8.3.130}/PKG-INFO +1 -1
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/test_cuda.py +36 -1
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/test_exports.py +6 -1
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/__init__.py +1 -1
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/augment.py +3 -6
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/split.py +2 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/autobackend.py +5 -5
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/checks.py +5 -5
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/export.py +1 -1
- {ultralytics-8.3.128 → ultralytics-8.3.130/ultralytics.egg-info}/PKG-INFO +1 -1
- {ultralytics-8.3.128 → ultralytics-8.3.130}/LICENSE +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/README.md +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/pyproject.toml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/setup.cfg +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/conftest.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/test_cli.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/test_engine.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/test_integrations.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/test_python.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/tests/test_solutions.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco8-multispectral.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/dog-pose.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/dota8-multispectral.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/hand-keypoints.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/medical-pills.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yolo11-cls.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yolo11-obb.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yolo11-pose.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yolo11-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yolo11.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yoloe-11-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/11/yoloe-11.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/12/yolo12-cls.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/12/yolo12-obb.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/12/yolo12-pose.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/12/yolo12-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/12/yolo12.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yoloe-v8-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yoloe-v8.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/base.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/build.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/scripts/download_weights.sh +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/scripts/get_coco.sh +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/scripts/get_coco128.sh +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/scripts/get_imagenet.sh +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/hub/google/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/blocks.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/memory_attention.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/modules/utils.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/yoloe/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/yoloe/predict.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/yoloe/train.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/yoloe/train_seg.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/models/yolo/yoloe/val.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/modules/activation.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/nn/text_model.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/config.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/instance_segmentation.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/object_blurrer.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/object_cropper.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/region_counter.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/security_alarm.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/similarity_search.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/solutions.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/streamlit_inference.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/templates/similarity-search.html +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/trackzone.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/solutions/vision_eye.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/autodevice.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.3.128 → ultralytics-8.3.130}/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.130
|
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>
|
@@ -12,6 +12,7 @@ from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
|
12
12
|
from ultralytics.utils import ASSETS, WEIGHTS_DIR
|
13
13
|
from ultralytics.utils.autodevice import GPUInfo
|
14
14
|
from ultralytics.utils.checks import check_amp
|
15
|
+
from ultralytics.utils.torch_utils import TORCH_1_13
|
15
16
|
|
16
17
|
# Try to find idle devices if CUDA is available
|
17
18
|
DEVICES = []
|
@@ -36,6 +37,40 @@ def test_amp():
|
|
36
37
|
assert check_amp(model)
|
37
38
|
|
38
39
|
|
40
|
+
@pytest.mark.slow
|
41
|
+
@pytest.mark.skipif(not DEVICES, reason="No CUDA devices available")
|
42
|
+
@pytest.mark.parametrize(
|
43
|
+
"task, dynamic, int8, half, batch, simplify, nms",
|
44
|
+
[ # generate all combinations except for exclusion cases
|
45
|
+
(task, dynamic, int8, half, batch, simplify, nms)
|
46
|
+
for task, dynamic, int8, half, batch, simplify, nms in product(
|
47
|
+
TASKS, [True, False], [False], [False], [1, 2], [True, False], [True, False]
|
48
|
+
)
|
49
|
+
if not (
|
50
|
+
(int8 and half)
|
51
|
+
or (task == "classify" and nms)
|
52
|
+
or (task == "obb" and nms and not TORCH_1_13)
|
53
|
+
or (simplify and dynamic) # onnxslim is slow when dynamic=True
|
54
|
+
)
|
55
|
+
],
|
56
|
+
)
|
57
|
+
def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
|
58
|
+
"""Test YOLO exports to ONNX format with various configurations and parameters."""
|
59
|
+
file = YOLO(TASK2MODEL[task]).export(
|
60
|
+
format="onnx",
|
61
|
+
imgsz=32,
|
62
|
+
dynamic=dynamic,
|
63
|
+
int8=int8,
|
64
|
+
half=half,
|
65
|
+
batch=batch,
|
66
|
+
simplify=simplify,
|
67
|
+
nms=nms,
|
68
|
+
device=DEVICES[0],
|
69
|
+
)
|
70
|
+
YOLO(file)([SOURCE] * batch, imgsz=64 if dynamic else 32, device=DEVICES[0]) # exported model inference
|
71
|
+
Path(file).unlink() # cleanup
|
72
|
+
|
73
|
+
|
39
74
|
@pytest.mark.slow
|
40
75
|
@pytest.mark.skipif(True, reason="CUDA export tests disabled pending additional Ultralytics GPU server availability")
|
41
76
|
@pytest.mark.skipif(not DEVICES, reason="No CUDA devices available")
|
@@ -60,7 +95,7 @@ def test_export_engine_matrix(task, dynamic, int8, half, batch):
|
|
60
95
|
batch=batch,
|
61
96
|
data=TASK2DATA[task],
|
62
97
|
workspace=1, # reduce workspace GB for less resource utilization during testing
|
63
|
-
simplify=True,
|
98
|
+
simplify=True,
|
64
99
|
device=DEVICES[0],
|
65
100
|
)
|
66
101
|
YOLO(file)([SOURCE] * batch, imgsz=64 if dynamic else 32, device=DEVICES[0]) # exported model inference
|
@@ -83,7 +83,12 @@ def test_export_openvino_matrix(task, dynamic, int8, half, batch, nms):
|
|
83
83
|
for task, dynamic, int8, half, batch, simplify, nms in product(
|
84
84
|
TASKS, [True, False], [False], [False], [1, 2], [True, False], [True, False]
|
85
85
|
)
|
86
|
-
if not (
|
86
|
+
if not (
|
87
|
+
(int8 and half)
|
88
|
+
or (task == "classify" and nms)
|
89
|
+
or (task == "obb" and nms and not TORCH_1_13)
|
90
|
+
or (simplify and dynamic) # onnxslim is slow when dynamic=True
|
91
|
+
)
|
87
92
|
],
|
88
93
|
)
|
89
94
|
def test_export_onnx_matrix(task, dynamic, int8, half, batch, simplify, nms):
|
@@ -541,18 +541,15 @@ class Mosaic(BaseMixTransform):
|
|
541
541
|
self.imgsz = imgsz
|
542
542
|
self.border = (-imgsz // 2, -imgsz // 2) # width, height
|
543
543
|
self.n = n
|
544
|
+
self.buffer_enabled = self.dataset.cache != "ram"
|
544
545
|
|
545
|
-
def get_indexes(self
|
546
|
+
def get_indexes(self):
|
546
547
|
"""
|
547
548
|
Returns a list of random indexes from the dataset for mosaic augmentation.
|
548
549
|
|
549
550
|
This method selects random image indexes either from a buffer or from the entire dataset, depending on
|
550
551
|
the 'buffer' parameter. It is used to choose images for creating mosaic augmentations.
|
551
552
|
|
552
|
-
Args:
|
553
|
-
buffer (bool): If True, selects images from the dataset buffer. If False, selects from the entire
|
554
|
-
dataset.
|
555
|
-
|
556
553
|
Returns:
|
557
554
|
(List[int]): A list of random image indexes. The length of the list is n-1, where n is the number
|
558
555
|
of images used in the mosaic (either 3 or 8, depending on whether n is 4 or 9).
|
@@ -562,7 +559,7 @@ class Mosaic(BaseMixTransform):
|
|
562
559
|
>>> indexes = mosaic.get_indexes()
|
563
560
|
>>> print(len(indexes)) # Output: 3
|
564
561
|
"""
|
565
|
-
if
|
562
|
+
if self.buffer_enabled: # select images from buffer
|
566
563
|
return random.choices(list(self.dataset.buffer), k=self.n - 1)
|
567
564
|
else: # select any images
|
568
565
|
return [random.randint(0, len(self.dataset) - 1) for _ in range(self.n - 1)]
|
@@ -159,9 +159,9 @@ class AutoBackend(nn.Module):
|
|
159
159
|
|
160
160
|
# In-memory PyTorch model
|
161
161
|
if nn_module:
|
162
|
-
model = weights.to(device)
|
163
162
|
if fuse:
|
164
|
-
|
163
|
+
weights = weights.fuse(verbose=verbose) # fuse before move to gpu
|
164
|
+
model = weights.to(device)
|
165
165
|
if hasattr(model, "kpt_shape"):
|
166
166
|
kpt_shape = model.kpt_shape # pose-only
|
167
167
|
stride = max(int(model.stride.max()), 32) # model stride
|
@@ -311,11 +311,11 @@ class AutoBackend(nn.Module):
|
|
311
311
|
try:
|
312
312
|
meta_len = int.from_bytes(f.read(4), byteorder="little") # read metadata length
|
313
313
|
metadata = json.loads(f.read(meta_len).decode("utf-8")) # read metadata
|
314
|
+
dla = metadata.get("dla", None)
|
315
|
+
if dla is not None:
|
316
|
+
runtime.DLA_core = int(dla)
|
314
317
|
except UnicodeDecodeError:
|
315
318
|
f.seek(0) # engine file may lack embedded Ultralytics metadata
|
316
|
-
dla = metadata.get("dla", None)
|
317
|
-
if dla is not None:
|
318
|
-
runtime.DLA_core = int(dla)
|
319
319
|
model = runtime.deserialize_cuda_engine(f.read()) # read engine
|
320
320
|
|
321
321
|
# Model context
|
@@ -507,11 +507,11 @@ def check_model_file_from_stem(model="yolo11n"):
|
|
507
507
|
|
508
508
|
def check_file(file, suffix="", download=True, download_dir=".", hard=True):
|
509
509
|
"""
|
510
|
-
Search/download file (if necessary) and return path.
|
510
|
+
Search/download file (if necessary), check suffix (if provided), and return path.
|
511
511
|
|
512
512
|
Args:
|
513
513
|
file (str): File name or path.
|
514
|
-
suffix (str):
|
514
|
+
suffix (str | Tuple[str]): Acceptable suffix or tuple of suffixes to validate against the file.
|
515
515
|
download (bool): Whether to download the file if it doesn't exist locally.
|
516
516
|
download_dir (str): Directory to download the file to.
|
517
517
|
hard (bool): Whether to raise an error if the file is not found.
|
@@ -550,9 +550,9 @@ def check_yaml(file, suffix=(".yaml", ".yml"), hard=True):
|
|
550
550
|
Search/download YAML file (if necessary) and return path, checking suffix.
|
551
551
|
|
552
552
|
Args:
|
553
|
-
file (str): File name or path.
|
554
|
-
suffix (
|
555
|
-
hard (bool): Whether to raise an error if the file is not found.
|
553
|
+
file (str | Path): File name or path.
|
554
|
+
suffix (Tuple[str]): Tuple of acceptable YAML file suffixes.
|
555
|
+
hard (bool): Whether to raise an error if the file is not found or multiple files are found.
|
556
556
|
|
557
557
|
Returns:
|
558
558
|
(str): Path to the YAML file.
|
@@ -138,7 +138,7 @@ def export_engine(
|
|
138
138
|
LOGGER.warning(f"{prefix} 'dynamic=True' model requires max batch size, i.e. 'batch=16'")
|
139
139
|
profile = builder.create_optimization_profile()
|
140
140
|
min_shape = (1, shape[1], 32, 32) # minimum input shape
|
141
|
-
max_shape = (*shape[:2], *(int(max(
|
141
|
+
max_shape = (*shape[:2], *(int(max(2, workspace or 2) * d) for d in shape[2:])) # max input shape
|
142
142
|
for inp in inputs:
|
143
143
|
profile.set_shape(inp.name, min=min_shape, opt=shape, max=max_shape)
|
144
144
|
config.add_optimization_profile(profile)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.130
|
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
|
{ultralytics-8.3.128 → ultralytics-8.3.130}/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
|
{ultralytics-8.3.128 → ultralytics-8.3.130}/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.128 → ultralytics-8.3.130}/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.128 → ultralytics-8.3.130}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.128 → ultralytics-8.3.130}/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.128 → ultralytics-8.3.130}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
File without changes
|
{ultralytics-8.3.128 → ultralytics-8.3.130}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|