ultralytics 8.2.7__tar.gz → 8.2.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ultralytics might be problematic. Click here for more details.
- {ultralytics-8.2.7/ultralytics.egg-info → ultralytics-8.2.8}/PKG-INFO +2 -2
- {ultralytics-8.2.7 → ultralytics-8.2.8}/pyproject.toml +1 -1
- {ultralytics-8.2.7 → ultralytics-8.2.8}/tests/test_cuda.py +1 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/tests/test_python.py +5 -5
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/augment.py +0 -1
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/build.py +3 -2
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/trainer.py +1 -1
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/parking_management.py +2 -1
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/instance.py +6 -7
- {ultralytics-8.2.7 → ultralytics-8.2.8/ultralytics.egg-info}/PKG-INFO +2 -2
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics.egg-info/requires.txt +1 -1
- {ultralytics-8.2.7 → ultralytics-8.2.8}/LICENSE +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/README.md +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/setup.cfg +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/tests/test_cli.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/tests/test_engine.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/tests/test_explorer.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/tests/test_integrations.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/fastsam/prompt.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.7 → ultralytics-8.2.8}/ultralytics.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.8
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -77,7 +77,7 @@ Requires-Dist: dvclive>=2.12.0; extra == "logging"
|
|
|
77
77
|
Provides-Extra: extra
|
|
78
78
|
Requires-Dist: hub-sdk>=0.0.5; extra == "extra"
|
|
79
79
|
Requires-Dist: ipython; extra == "extra"
|
|
80
|
-
Requires-Dist: albumentations
|
|
80
|
+
Requires-Dist: albumentations<=1.4.4,>=1.0.3; extra == "extra"
|
|
81
81
|
Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
82
82
|
|
|
83
83
|
<div align="center">
|
|
@@ -123,7 +123,7 @@ logging = [
|
|
|
123
123
|
extra = [
|
|
124
124
|
"hub-sdk>=0.0.5", # Ultralytics HUB
|
|
125
125
|
"ipython", # interactive notebook
|
|
126
|
-
"albumentations>=1.0.3", # training augmentations
|
|
126
|
+
"albumentations>=1.0.3,<=1.4.4", # training augmentations
|
|
127
127
|
"pycocotools>=2.0.7", # COCO mAP
|
|
128
128
|
]
|
|
129
129
|
|
|
@@ -19,6 +19,7 @@ def test_checks():
|
|
|
19
19
|
assert torch.cuda.is_available() == CUDA_IS_AVAILABLE
|
|
20
20
|
assert torch.cuda.device_count() == CUDA_DEVICE_COUNT
|
|
21
21
|
|
|
22
|
+
|
|
22
23
|
@pytest.mark.slow
|
|
23
24
|
@pytest.mark.skipif(not CUDA_IS_AVAILABLE, reason="CUDA is not available")
|
|
24
25
|
def test_export_engine():
|
|
@@ -345,12 +345,12 @@ def test_labels_and_crops():
|
|
|
345
345
|
labels = save_path / f"labels/{im_name}.txt"
|
|
346
346
|
assert labels.exists()
|
|
347
347
|
# Check detections match label count
|
|
348
|
-
assert len(r.boxes.data) == len([
|
|
348
|
+
assert len(r.boxes.data) == len([line for line in labels.read_text().splitlines() if line])
|
|
349
349
|
# Check crops path and files
|
|
350
|
-
crop_dirs =
|
|
350
|
+
crop_dirs = list((save_path / "crops").iterdir())
|
|
351
351
|
crop_files = [f for p in crop_dirs for f in p.glob("*")]
|
|
352
352
|
# Crop directories match detections
|
|
353
|
-
assert all(
|
|
353
|
+
assert all(r.names.get(c) in {d.name for d in crop_dirs} for c in cls_idxs)
|
|
354
354
|
# Same number of crops as detections
|
|
355
355
|
assert len([f for f in crop_files if im_name in f.name]) == len(r.boxes.data)
|
|
356
356
|
|
|
@@ -643,8 +643,8 @@ def test_yolo_world():
|
|
|
643
643
|
model(ASSETS / "bus.jpg", conf=0.01)
|
|
644
644
|
|
|
645
645
|
model = YOLO("yolov8s-worldv2.pt") # no YOLOv8n-world model yet
|
|
646
|
-
# Training from
|
|
647
|
-
# Use dota8.yaml which has
|
|
646
|
+
# Training from a pretrained model. Eval is included at the final stage of training.
|
|
647
|
+
# Use dota8.yaml which has fewer categories to reduce the inference time of CLIP model
|
|
648
648
|
model.train(
|
|
649
649
|
data="dota8.yaml",
|
|
650
650
|
epochs=1,
|
|
@@ -917,7 +917,6 @@ class Albumentations:
|
|
|
917
917
|
return labels
|
|
918
918
|
|
|
919
919
|
|
|
920
|
-
# TODO: technically this is not an augmentation, maybe we should put this to another files
|
|
921
920
|
class Format:
|
|
922
921
|
"""
|
|
923
922
|
Formats image annotations for object detection, instance segmentation, and pose estimation tasks. The class
|
|
@@ -20,7 +20,7 @@ from ultralytics.data.loaders import (
|
|
|
20
20
|
autocast_list,
|
|
21
21
|
)
|
|
22
22
|
from ultralytics.data.utils import IMG_FORMATS, VID_FORMATS
|
|
23
|
-
from ultralytics.utils import NUM_THREADS, RANK, colorstr
|
|
23
|
+
from ultralytics.utils import LINUX, NUM_THREADS, RANK, colorstr
|
|
24
24
|
from ultralytics.utils.checks import check_file
|
|
25
25
|
|
|
26
26
|
from .dataset import GroundingDataset, YOLODataset, YOLOMultiModalDataset
|
|
@@ -81,7 +81,8 @@ def seed_worker(worker_id): # noqa
|
|
|
81
81
|
worker_seed = torch.initial_seed() % 2**32
|
|
82
82
|
np.random.seed(worker_seed)
|
|
83
83
|
random.seed(worker_seed)
|
|
84
|
-
os
|
|
84
|
+
if LINUX and hasattr(os, "sched_setaffinity"): # unsupported on macOS and Windows
|
|
85
|
+
os.sched_setaffinity(0, range(NUM_THREADS)) # fix https://github.com/ultralytics/ultralytics/pull/11195
|
|
85
86
|
|
|
86
87
|
|
|
87
88
|
def build_yolo_dataset(cfg, img_path, batch, data, mode="train", rect=False, stride=32, multi_modal=False):
|
|
@@ -329,6 +329,7 @@ class BaseTrainer:
|
|
|
329
329
|
base_idx = (self.epochs - self.args.close_mosaic) * nb
|
|
330
330
|
self.plot_idx.extend([base_idx, base_idx + 1, base_idx + 2])
|
|
331
331
|
epoch = self.start_epoch
|
|
332
|
+
self.optimizer.zero_grad() # zero any resumed gradients to ensure stability on train start
|
|
332
333
|
while True:
|
|
333
334
|
self.epoch = epoch
|
|
334
335
|
self.run_callbacks("on_train_epoch_start")
|
|
@@ -349,7 +350,6 @@ class BaseTrainer:
|
|
|
349
350
|
LOGGER.info(self.progress_string())
|
|
350
351
|
pbar = TQDM(enumerate(self.train_loader), total=nb)
|
|
351
352
|
self.tloss = None
|
|
352
|
-
self.optimizer.zero_grad()
|
|
353
353
|
for i, batch in pbar:
|
|
354
354
|
self.run_callbacks("on_train_batch_start")
|
|
355
355
|
# Warmup
|
|
@@ -14,7 +14,7 @@ import tkinter as tk
|
|
|
14
14
|
|
|
15
15
|
class ParkingPtsSelection:
|
|
16
16
|
def __init__(self, master):
|
|
17
|
-
|
|
17
|
+
"""Initializes the UI for selecting parking zone points in a tkinter window."""
|
|
18
18
|
self.master = master
|
|
19
19
|
master.title("Ultralytics Parking Zones Points Selector")
|
|
20
20
|
self.initialize_ui()
|
|
@@ -109,6 +109,7 @@ class ParkingPtsSelection:
|
|
|
109
109
|
messagebox.showwarning("Warning", "No bounding boxes to remove.")
|
|
110
110
|
|
|
111
111
|
def save_to_json(self):
|
|
112
|
+
"""Saves rescaled bounding boxes to 'bounding_boxes.json' based on image-to-canvas size ratio."""
|
|
112
113
|
canvas_width, canvas_height = self.canvas.winfo_width(), self.canvas.winfo_height()
|
|
113
114
|
width_scaling_factor = self.img_width / canvas_width
|
|
114
115
|
height_scaling_factor = self.img_height / canvas_height
|
|
@@ -72,8 +72,11 @@ class Bboxes:
|
|
|
72
72
|
|
|
73
73
|
def areas(self):
|
|
74
74
|
"""Return box areas."""
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
return (
|
|
76
|
+
(self.bboxes[:, 2] - self.bboxes[:, 0]) * (self.bboxes[:, 3] - self.bboxes[:, 1]) # format xyxy
|
|
77
|
+
if self.format == "xyxy"
|
|
78
|
+
else self.bboxes[:, 3] * self.bboxes[:, 2] # format xywh or ltwh
|
|
79
|
+
)
|
|
77
80
|
|
|
78
81
|
# def denormalize(self, w, h):
|
|
79
82
|
# if not self.normalized:
|
|
@@ -340,11 +343,7 @@ class Instances:
|
|
|
340
343
|
self.keypoints[..., 1] = self.keypoints[..., 1].clip(0, h)
|
|
341
344
|
|
|
342
345
|
def remove_zero_area_boxes(self):
|
|
343
|
-
"""
|
|
344
|
-
Remove zero-area boxes, i.e. after clipping some boxes may have zero width or height.
|
|
345
|
-
|
|
346
|
-
This removes them.
|
|
347
|
-
"""
|
|
346
|
+
"""Remove zero-area boxes, i.e. after clipping some boxes may have zero width or height."""
|
|
348
347
|
good = self.bbox_areas > 0
|
|
349
348
|
if not all(good):
|
|
350
349
|
self._bboxes = self._bboxes[good]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.8
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -77,7 +77,7 @@ Requires-Dist: dvclive>=2.12.0; extra == "logging"
|
|
|
77
77
|
Provides-Extra: extra
|
|
78
78
|
Requires-Dist: hub-sdk>=0.0.5; extra == "extra"
|
|
79
79
|
Requires-Dist: ipython; extra == "extra"
|
|
80
|
-
Requires-Dist: albumentations
|
|
80
|
+
Requires-Dist: albumentations<=1.4.4,>=1.0.3; extra == "extra"
|
|
81
81
|
Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
82
82
|
|
|
83
83
|
<div align="center">
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ultralytics-8.2.7 → ultralytics-8.2.8}/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
|